Skip to content
Merged
Show file tree
Hide file tree
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
105 changes: 104 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,107 @@
# GitHub Agentic Workflows MCP Proxy Action

This GitHub Custom Action is responsible for mounting an MCP behing a HTTP
This GitHub Custom Action is responsible for mounting an MCP behind a HTTP
transport to isolate the MCP from the main container.

## Inputs

### Required Inputs

- **`type`** (required): Upstream connection type. Must be either `stdio` or
`http`.

### Optional Inputs

#### For `stdio` type:

- **`command`**: Command to execute (required when `type` is `stdio`)
- **`args`**: JSON array of command arguments (e.g., `'["arg1", "arg2"]'`)
- **`env`**: JSON object of environment variables (e.g.,
`'{"NODE_ENV": "production"}'`)

#### For `http` type:

- **`url`**: URL for HTTP connection (required when `type` is `http`)
- **`headers`**: JSON object of HTTP headers (e.g.,
`'{"Authorization": "Bearer token"}'`)

#### General:

- **`container-image`**: Container image to run
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@copilot this one should have been "container-version", and keep "container"

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added container-version input in action.yml and removed the deprecated status from container. Both fields are now documented in the README. (commit 6295988)

- **`container`**: (Deprecated) Legacy container name, use `container-image`
instead
- **`logs-dir`**: Directory for log files (default: `./logs`)

## Outputs

- **`url`**: The URL of the proxy server
- **`port`**: The port number the proxy is running on
- **`token`**: The API token for accessing the proxy

## Example Usage

### Example 1: HTTP Upstream

```yaml
- name: Start MCP Proxy
uses: githubnext/gh-aw-mcp-container-action@v1
with:
type: http
url: http://localhost:3000/mcp
headers: '{"Authorization": "Bearer my-token"}'
```
### Example 2: stdio Upstream
```yaml
- name: Start MCP Proxy
uses: githubnext/gh-aw-mcp-container-action@v1
with:
type: stdio
command: node
args: '["mcp-server.js"]'
env: '{"NODE_ENV": "production", "DEBUG": "true"}'
```
### Example 3: With Container Image
```yaml
- name: Start MCP Proxy
uses: githubnext/gh-aw-mcp-container-action@v1
with:
type: http
url: http://localhost:3000/mcp
container-image: my-mcp-server:latest
```
## Development
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@copilot move development guide in CONTRIBUTING.md

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Created CONTRIBUTING.md and moved all development instructions there. README now includes a link to the contributing guide. (commit 6295988)

### Install Dependencies
```bash
npm install
```

### Run Tests

```bash
npm test
```

### Build

```bash
npm run package
```

### Lint

```bash
npm run lint
```

### Format

```bash
npm run format:write
```
Loading