Skip to content

docs: add customSchemas documentation and clarify domain uppercase constraint#1606

Merged
lpcox merged 2 commits intomainfrom
copilot/fix-documentation-gaps
Mar 6, 2026
Merged

docs: add customSchemas documentation and clarify domain uppercase constraint#1606
lpcox merged 2 commits intomainfrom
copilot/fix-documentation-gaps

Conversation

Copy link
Contributor

Copilot AI commented Mar 5, 2026

Two undocumented behaviors in the JSON stdin config format that would leave users confused or unable to discover features.

Changes

  • customSchemas field: Added a new subsection under Server Configuration Fields documenting the top-level customSchemas map, which allows defining custom server types beyond stdio/http. Includes JSON example and validation rules (reserved type names blocked, HTTPS schema URLs required).
{
  "customSchemas": {
    "myCustomType": "https://example.com/schemas/my-custom-type.json"
  },
  "mcpServers": {
    "myServer": { "type": "myCustomType" }
  }
}
  • domain uppercase constraint: Added a note to the domain field description clarifying that variable expressions only accept uppercase names — ${MY_VAR} is valid, ${my_var} is silently rejected with a validation error. Reflects the actual pattern ^\$\{[A-Z_][A-Z0-9_]*\}$.

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:

  • example.com
    • Triggering command: /tmp/go-build1462136783/b298/launcher.test /tmp/go-build1462136783/b298/launcher.test -test.testlogfile=/tmp/go-build1462136783/b298/testlog.txt -test.paniconexit0 -test.timeout=10m0s conf�� 64/src/runtime/cgo transform/transform.go x_amd64/compile (dns block)
  • invalid-host-that-does-not-exist-12345.com
    • Triggering command: /tmp/go-build1462136783/b280/config.test /tmp/go-build1462136783/b280/config.test -test.testlogfile=/tmp/go-build1462136783/b280/testlog.txt -test.paniconexit0 -test.timeout=10m0s ortc�� 64/src/runtime/cgo lkem/cast.go x_amd64/compile user.email (dns block)
  • nonexistent.local
    • Triggering command: /tmp/go-build1462136783/b298/launcher.test /tmp/go-build1462136783/b298/launcher.test -test.testlogfile=/tmp/go-build1462136783/b298/testlog.txt -test.paniconexit0 -test.timeout=10m0s conf�� 64/src/runtime/cgo transform/transform.go x_amd64/compile (dns block)
  • slow.example.com
    • Triggering command: /tmp/go-build1462136783/b298/launcher.test /tmp/go-build1462136783/b298/launcher.test -test.testlogfile=/tmp/go-build1462136783/b298/testlog.txt -test.paniconexit0 -test.timeout=10m0s conf�� 64/src/runtime/cgo transform/transform.go x_amd64/compile (dns block)
  • this-host-does-not-exist-12345.com
    • Triggering command: /tmp/go-build1462136783/b307/mcp.test /tmp/go-build1462136783/b307/mcp.test -test.testlogfile=/tmp/go-build1462136783/b307/testlog.txt -test.paniconexit0 -test.timeout=10m0s conf�� 64/src/runtime/cgo dna/go118.go x_amd64/compile (dns block)

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


🔒 GitHub Advanced Security automatically protects Copilot coding agent pull requests. You can protect all pull requests by enabling Advanced Security for your repositories. Learn more about Advanced Security.

Co-authored-by: lpcox <15877973+lpcox@users.noreply.github.com>
Copilot AI changed the title [WIP] Fix documentation gaps in README for customSchemas docs: add customSchemas documentation and clarify domain uppercase constraint Mar 5, 2026
Copilot finished work on behalf of lpcox March 5, 2026 15:28
@lpcox lpcox marked this pull request as ready for review March 6, 2026 12:59
Copilot AI review requested due to automatic review settings March 6, 2026 12:59
@lpcox lpcox merged commit 5619fd2 into main Mar 6, 2026
3 checks passed
@lpcox lpcox deleted the copilot/fix-documentation-gaps branch March 6, 2026 12:59
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This documentation-only PR adds two previously undocumented configuration behaviors to the README: the customSchemas top-level field for defining custom server types, and the uppercase-only constraint on variable expressions in the domain gateway field.

Changes:

  • Added a new #### Custom Schemas subsection documenting the customSchemas top-level config field, including a JSON example and validation rules (reserved type blocking, HTTPS-only schema URLs, helpful error for unregistered types).
  • Added a clarifying note to the domain field that variable expressions only accept uppercase names (${MY_VAR}), reflecting the regex pattern ^\$\{[A-Z_][A-Z0-9_]*\}$.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

}
```

**Validation Rules for `customSchemas`:**
Copy link

Copilot AI Mar 6, 2026

Choose a reason for hiding this comment

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

The new "Validation Rules for customSchemas:" at line 234 sits immediately above the pre-existing "Validation Rules:" at line 239, which can be confusing to readers since both are bold-text headers about validation rules. Consider renaming one of them to make the distinction clearer — for example, changing line 234 to something like "customSchemas constraints:" or moving the customSchemas validation rules into the existing "Validation Rules" section as a sub-bullet.

Suggested change
**Validation Rules for `customSchemas`:**
**`customSchemas` constraints:**

Copilot uses AI. Check for mistakes.
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.

3 participants