Skip to content

Add support for entrypoint and mounts configuration fields#78

Merged
lpcox merged 3 commits into
mainfrom
copilot/update-mcp-gateway-spec
Jan 8, 2026
Merged

Add support for entrypoint and mounts configuration fields#78
lpcox merged 3 commits into
mainfrom
copilot/update-mcp-gateway-spec

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Jan 8, 2026

The MCP Gateway spec now requires support for entrypoint, entrypointArgs, and mounts fields for containerized MCP servers.

Changes

  • Config schema: Added entrypoint (string) and mounts ([]string) fields to StdinServerConfig
  • Mount validation: Format source:dest:mode where mode is ro or rw, with non-empty path validation
  • Docker command generation: Apply --entrypoint flag and -v volume mounts in correct order
  • Documentation: Updated README with field descriptions, validation rules, and examples

Example

{
  "mcpServers": {
    "custom-app": {
      "type": "stdio",
      "container": "myorg/custom-mcp:latest",
      "entrypoint": "/custom/entrypoint.sh",
      "entrypointArgs": ["--verbose", "--debug"],
      "mounts": [
        "/host/config:/app/config:ro",
        "/host/data:/app/data:rw"
      ],
      "env": {
        "API_KEY": "${CUSTOM_API_KEY}"
      }
    }
  }
}

Generates: docker run --rm -i --entrypoint /custom/entrypoint.sh -v /host/config:/app/config:ro -v /host/data:/app/data:rw -e API_KEY=... myorg/custom-mcp:latest --verbose --debug

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • go.googlesource.com
    • Triggering command: /update-job-proxy /update-job-proxy /cast.go m ux-amd64/pkg/tool/linux_amd64/vet rtcf�� /x86_64-linux-gnu/13/liblto_plugin.so rg/toolchain@v0.0.1-go1.25.0.linux-amd64/src/net-I 0.1-go1.25.0.linux-amd64/pkg/tool/linux_amd64/vet s-through=-lgcc transform.go s-through=-lc 0.1-go1.25.0.linux-amd64/pkg/tool/linux_amd64/vet o_.o�� 1.0.9/bool.go 1.0.9/bool_func.go 0.1-go1.25.0.linux-amd64/pkg/tool/linux_amd64/vet go1.25.0 ions =0 0.1-go1.25.0.linux-amd64/pkg/tool/linux_amd64/vet (dns block)
    • Triggering command: /update-job-proxy /update-job-proxy DROP /home/REDACTED/go/origin test -e igiCert_High_Assurance_EV_Root_CA.pem /home/REDACTED/go/-e /usr/bin/test -bool 87dd93a0 pkg/mod/golang.oblob test -e Root_CA_G4.pem pkg/mod/golang.org/toolchain@v0.0.1-go1.25.0.lin/var/run/docker/runtime-runc/moby (dns block)
  • go.yaml.in
    • Triggering command: /update-job-proxy /update-job-proxy /cast.go m ux-amd64/pkg/tool/linux_amd64/vet rtcf�� /x86_64-linux-gnu/13/liblto_plugin.so rg/toolchain@v0.0.1-go1.25.0.linux-amd64/src/net-I 0.1-go1.25.0.linux-amd64/pkg/tool/linux_amd64/vet s-through=-lgcc transform.go s-through=-lc 0.1-go1.25.0.linux-amd64/pkg/tool/linux_amd64/vet o_.o�� 1.0.9/bool.go 1.0.9/bool_func.go 0.1-go1.25.0.linux-amd64/pkg/tool/linux_amd64/vet go1.25.0 ions =0 0.1-go1.25.0.linux-amd64/pkg/tool/linux_amd64/vet (dns block)
    • Triggering command: /update-job-proxy /update-job-proxy DROP /home/REDACTED/go/origin test -e igiCert_High_Assurance_EV_Root_CA.pem /home/REDACTED/go/-e /usr/bin/test -bool 87dd93a0 pkg/mod/golang.oblob test -e Root_CA_G4.pem pkg/mod/golang.org/toolchain@v0.0.1-go1.25.0.lin/var/run/docker/runtime-runc/moby (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

Original prompt

This section details on the original issue you should resolve

<issue_title>MCP Gateway spec has changed</issue_title>
<issue_description>The input config spec for the MCP Gateway has changed in the following ways.

MCP servers now have

  • "entrypoint": "string",
  • "entrypointArgs": ["string"],
  • "mounts": ["source:dest:mode"]

The Gateway should support these configuration options and apply them to any containers that it launches. Documentation and tests must also be consistent with the new configuration schema.

https://github.com/githubnext/gh-aw/blob/main/docs/src/content/docs/reference/mcp-gateway.md</issue_description>

<agent_instructions>Please make sure that the all inputs are well validated and tested and that the documentation is consistent and correct.</agent_instructions>

Comments on the Issue (you are @copilot in this section)


💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.

Copilot AI and others added 2 commits January 8, 2026 19:47
- Add entrypoint field to StdinServerConfig struct
- Add mounts field (array of strings) to StdinServerConfig
- Implement mount validation with format checking (source:dest:mode)
- Update Docker command generation to apply --entrypoint and -v flags
- Add comprehensive tests for new fields and validation
- Update README.md with documentation for new fields

Co-authored-by: lpcox <15877973+lpcox@users.noreply.github.com>
- Add example config with new fields in config.json
- All tests passing (make agent-finished successful)
- Implementation complete and validated

Co-authored-by: lpcox <15877973+lpcox@users.noreply.github.com>
Copilot AI changed the title [WIP] Update MCP Gateway to support new configuration spec Add support for entrypoint and mounts configuration fields Jan 8, 2026
Copilot AI requested a review from lpcox January 8, 2026 19:52
@lpcox lpcox marked this pull request as ready for review January 8, 2026 20:32
@lpcox lpcox merged commit e2d46fb into main Jan 8, 2026
3 checks passed
@lpcox lpcox deleted the copilot/update-mcp-gateway-spec branch January 8, 2026 20:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

MCP Gateway spec has changed

2 participants