experimental-ext-variants
Status: Experimental. This repository provides a multi-language reference implementation of the variants proposal for the Model Context Protocol (MCP), as described in SEP-2053.
Links
README
From the repo.
MCP Variants (Experimental Extension)
Status: Experimental. This work is for prototyping and feedback only, and is not an accepted or official MCP extension.
This repository provides a multi-language reference implementation of the variants proposal for the Model Context Protocol (MCP), as described in SEP-2053.
Implementations
| Language | Directory | Package | Status |
|---|---|---|---|
| Go | go/sdk/ | github.com/modelcontextprotocol/experimental-ext-variants/go/sdk | Planned |
| Python | python/sdk/ | mcp-ext-variants | Planned |
| TypeScript | typescript/sdk/ | @ext-modelcontextprotocol/variants | Planned |
Examples (Go)
The Go implementation includes runnable example servers under go/sdk/examples/server/:
model-optimized/
Same tools, different descriptions per LLM family.
https://github.com/user-attachments/assets/5bb60cd2-291f-4940-abfe-f53852d35470
github/
Different tool sets per variant with custom ranking.
https://github.com/user-attachments/assets/d770ac55-e988-4d89-bdf8-bcb3cf1e2e53
research/
Context budget management via description verbosity.
trading/
API versioning, lifecycle statuses, and deprecation info.
variants-stdio/
Minimal single-variant setup.
CI/CD
This monorepo uses path-based CI workflows to efficiently test only what changes:
How It Works
-
Language-specific workflows (
python.yml,go.yml,typescript.yml)- Only trigger when their language directory or workflow file changes
- Run all tests, linting, and checks for that language
-
Status check workflow (
status-check.yml)- Runs on every PR to verify required checks passed
- Determines what needs to pass based on which files changed
- This is the only required check in branch protection
Examples
- Change
python/sdk/file.py→ Only Python CI runs → PR requires Python checks to pass - Change both Go and TypeScript files → Both CIs run → PR requires both to pass
- Change only
README.md→ No language CIs run → PR can merge immediately
Forcing All Checks
To run all language checks regardless of changed files:
- In a PR: Comment
/test all(only works for repo owners/members/collaborators) - Manually: Use GitHub Actions UI or CLI to trigger individual workflows
Adding New Required Checks
-
Add your check to the appropriate language workflow (e.g.,
python.yml):python-security-scan: name: "Security Scan" runs-on: ubuntu-latest steps: - name: Run security checks run: # your commands here -
Update the status check in
.github/workflows/status-check.yml:const requiredChecks = { python: [ 'Python CI / Linting', 'Python CI / Unit Tests (3.10)', // ... existing checks ... 'Python CI / Security Scan' // ← Add your new check ], -
Submit PR - Your new check is now required for all relevant changes!
License
Apache License 2.0 - See LICENSE file for details
Resources
- Variants Proposal Specification (SEP-2053) - Full specification and design details
- Model Context Protocol
Collected info
- ★ 8 stars
- ⎇ 3 forks
- Language: Go
- Source updated: 9/20/2026
Config for your environment
Replace {MCP_ENDPOINT_URL} with this MCP’s endpoint URL (from its repo or docs above). No API key — you connect directly.
Tool
OS
Config file: ~/.cursor/mcp.json
{
"mcpServers": {
"mcp-server": {
"url": "{MCP_ENDPOINT_URL}"
}
}
}Paste into mcpServers in the config file. Restart Cursor after saving.
If this MCP is also published on mcpchannel.ai, you can subscribe from Browse and use the gateway config there instead.