docs: fix 5 discrepancies from nightly documentation reconciliation#1123
docs: fix 5 discrepancies from nightly documentation reconciliation#1123
Conversation
- config.example.toml: Remove 'not implemented yet' from HTTP server example - README.md: Replace broken SERENA_TEST_RESULTS.md link with make target reference - CONTRIBUTING.md: Update DOCKER_API_VERSION note (falls back to 1.44 for all archs) - README.md: Document variable expression support for gateway.domain field - README.md: Add MCP_GATEWAY_HOST and MCP_GATEWAY_MODE env vars table Co-authored-by: lpcox <15877973+lpcox@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
This PR addresses five documentation mismatches reported by the nightly reconciliation workflow, aligning user-facing docs and examples with the gateway’s current implemented behavior (HTTP transport support, config validation capabilities, env vars, and testing guidance).
Changes:
- Updates the example config to reflect that HTTP-based MCP servers are implemented and supported.
- Fixes/clarifies README documentation: removes a broken Serena results link, documents
gateway.domain${VAR}syntax, and adds containerized-only env vars. - Updates CONTRIBUTING guidance around
DOCKER_API_VERSIONfallback behavior.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
config.example.toml |
Removes outdated “not implemented” wording for the HTTP server example. |
README.md |
Fixes broken Serena results reference, documents gateway.domain variable-expression syntax, and adds missing containerized env var documentation. |
CONTRIBUTING.md |
Updates DOCKER_API_VERSION note to match current script behavior. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| ### Containerized Deployment Variables | ||
|
|
||
| When using `run_containerized.sh`, these additional variables are available: | ||
|
|
||
| | Variable | Description | Default | | ||
| |----------|-------------|---------| | ||
| | `MCP_GATEWAY_HOST` | Bind address for the gateway | `0.0.0.0` | | ||
| | `MCP_GATEWAY_MODE` | Routing mode flag passed to `awmg` (e.g., `--routed`, `--unified`) | `--routed` | | ||
|
|
There was a problem hiding this comment.
The Docker Configuration table just below this new section still says DOCKER_API_VERSION is "Set by run.sh based on architecture", but run.sh/run_containerized.sh now prefer the Docker daemon's current API version and only fall back to 1.44 if detection fails. Please update that table row to match current script behavior so the README stays consistent within this section.
| - `MODE` - Server mode flag (default: `--routed`, can be `--unified`) | ||
|
|
||
| **Note:** Set `DOCKER_API_VERSION=1.43` for arm64 (Mac) or `1.44` for amd64 (Linux). | ||
| **Note:** The `DOCKER_API_VERSION` is set automatically by `run.sh` using the Docker daemon's current API version (falls back to `1.44` for all architectures if detection fails). |
There was a problem hiding this comment.
This note is now correct, but the earlier bullets in this same section still claim run.sh sets DOCKER_API_VERSION to 1.43 on arm64 (see the paragraph describing what run.sh does just above). Please update/remove that older statement so CONTRIBUTING has a single, consistent explanation of the current DOCKER_API_VERSION logic.
| **Note:** The `DOCKER_API_VERSION` is set automatically by `run.sh` using the Docker daemon's current API version (falls back to `1.44` for all architectures if detection fails). | |
| **Note:** The `DOCKER_API_VERSION` is set automatically by `run.sh` based on the Docker daemon's current API version, so you typically don't need to configure it manually. |
Five documentation inaccuracies identified by the nightly reconciliation workflow — ranging from a broken link to outdated implementation status and missing env var docs.
Changes
config.example.toml: Remove(not implemented yet)from HTTP server example — HTTP transport is fully supportedREADME.md: Replace broken[SERENA_TEST_RESULTS.md](SERENA_TEST_RESULTS.md)link (file doesn't exist) with reference tomake test-serena-gatewayREADME.md: Document${VAR}variable expression syntax as a valid option forgateway.domainfield (was already validated byvalidation_schema.gobut undocumented)README.md: AddMCP_GATEWAY_HOSTandMCP_GATEWAY_MODEto env vars table — both are read byrun_containerized.shbut were absent from docsCONTRIBUTING.md: UpdateDOCKER_API_VERSIONnote — arm64-specific1.43fallback was removed; both architectures now fall back to1.44Warning
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:
example.com/tmp/go-build1656947692/b279/launcher.test /tmp/go-build1656947692/b279/launcher.test -test.testlogfile=/tmp/go-build1656947692/b279/testlog.txt -test.paniconexit0 -test.timeout=10m0s -test.v=true 64/src/runtime/cgo --local ache/go/1.25.7/x64/pkg/tool/linu-fmessage-length=0 user.email(dns block)invalid-host-that-does-not-exist-12345.com/tmp/go-build1656947692/b264/config.test /tmp/go-build1656947692/b264/config.test -test.testlogfile=/tmp/go-build1656947692/b264/testlog.txt -test.paniconexit0 -test.timeout=10m0s -test.v=true 64/src/runtime/cgo --global x_amd64/compile pull.rebase(dns block)nonexistent.local/tmp/go-build1656947692/b279/launcher.test /tmp/go-build1656947692/b279/launcher.test -test.testlogfile=/tmp/go-build1656947692/b279/testlog.txt -test.paniconexit0 -test.timeout=10m0s -test.v=true 64/src/runtime/cgo --local ache/go/1.25.7/x64/pkg/tool/linu-fmessage-length=0 user.email(dns block)slow.example.com/tmp/go-build1656947692/b279/launcher.test /tmp/go-build1656947692/b279/launcher.test -test.testlogfile=/tmp/go-build1656947692/b279/testlog.txt -test.paniconexit0 -test.timeout=10m0s -test.v=true 64/src/runtime/cgo --local ache/go/1.25.7/x64/pkg/tool/linu-fmessage-length=0 user.email(dns block)this-host-does-not-exist-12345.com/tmp/go-build1656947692/b288/mcp.test /tmp/go-build1656947692/b288/mcp.test -test.testlogfile=/tmp/go-build1656947692/b288/testlog.txt -test.paniconexit0 -test.timeout=10m0s -test.v=true 5/md5block_amd64-errorsas(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>📚 Documentation Reconciliation Report - 2026-02-19</issue_title>
<issue_description>## Summary
Found 5 discrepancies between documentation and implementation during nightly reconciliation check.
Critical Issues 🔴
1.
config.example.tomlincorrectly marks HTTP servers as "not implemented yet"Location:
config.example.toml, line 98Problem: The comment
# Example 4: HTTP-based MCP Server (not implemented yet)contradicts the README and actual implementation.Actual Behavior: HTTP transport is fully supported.
README.md(line 151) explicitly states"http"is "HTTP transport (fully supported)". The code ininternal/config/config_stdin.goandinternal/server/fully implements HTTP server proxying.Impact: Users reading
config.example.tomlas a reference will believe HTTP servers are unsupported and avoid using them, even though the feature is complete and production-ready.Suggested Fix: Update line 98 in
config.example.toml:Also uncomment the example or add a complete working example.
Code Reference:
internal/config/config_stdin.go:214-224(HTTP handling),README.md:151("fully supported")Important Issues 🟡
2. README references
SERENA_TEST_RESULTS.mdwhich does not existLocation:
README.md, line 637Problem: The link
[SERENA_TEST_RESULTS.md](SERENA_TEST_RESULTS.md)points to a file that does not exist in the repository.Actual Behavior: The file
SERENA_TEST_RESULTS.mdis missing from the repo root.Impact: Clicking the link leads to a 404 on GitHub. Users following Serena MCP testing instructions cannot access the referenced test results.
Suggested Fix: Either create
SERENA_TEST_RESULTS.mdwith current test results, or remove the broken reference fromREADME.md.Code Reference:
README.md:6373. CONTRIBUTING.md documents outdated
DOCKER_API_VERSIONfallback valuesLocation:
CONTRIBUTING.md, line 494Problem: The note says "Set
DOCKER_API_VERSION=1.43for arm64 (Mac) or1.44for amd64 (Linux)". However, bothrun.shandrun_containerized.shnow use1.44as the fallback for all architectures (the arm64-specific1.43path was removed).Actual Behavior: Both scripts query the Docker daemon's current API version first; if unavailable, they fall back to
1.44for all architectures.Impact: Developers following the CONTRIBUTING guide on arm64 Macs may manually set the wrong version (
1.43) thinking it's required.Suggested Fix: Update
CONTRIBUTING.mdline 494:Code Reference:
run.sh:105-111,run_containerized.sh:241-244Minor Issues 🔵
4. README
domainfield description omits variable expression supportLocation:
README.md, line 204Problem: The documentation states:
This omits a third valid option: variable expressions like
\$\{MCP_GATEWAY_DOMAIN}.Actual Behavior: The validation code in
internal/config/validation_schema.go(line 443-453) also allows variable expressions matching^\$\{[A-Z_][A-Z0-9_]*\}$pattern.Impact: Users who want to configure domain dynamically via environment variable may not know this syntax is supported.
Suggested Fix: Update
README.mdline 204:Code Reference:
internal/config/validation_schema.go:443-4535. Missing
MCP_GATEWAY_HOSTandMCP_GATEWAY_MODEenv vars in READMELocation:
README.md, Environment Variables sectionProblem:
run_containerized.shreads two environment variables that are not documented in README's Environment Variables section:MCP_GATEWAY_HOST(line 298): Sets the bind host address (default:0.0.0.0)MCP_GATEWAY_MODE(line 300): Sets the routing mode flag (default:--routed)Actual Behavior: These variables control the bind address and mode when using the containerized deployment script.
**Imp...
💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.