Skip to content

🔌 MCP Setup

Every repository ships its documentation as a Model Context Protocol (MCP) server, and the standards registry server ties them together. The docs portal runs each one as a FastMCP streamable-http app bound to 0.0.0.0:<port>, exposing the endpoint at /mcp (see docs/main.py and docs/config.yml).

Connect your agent to the standards server first: it answers find_library, list_repos, and the start_app prompt, so the agent reaches for an internal library instead of reimplementing one (see the Library Registry).


▶️ Run the servers locally

From the docs checkout:

.venv\Scripts\python.exe main.py                      # every server
.venv\Scripts\python.exe main.py --servers standards   # just the registry

:8000 is the health endpoint (GET /healthz), not an MCP server.


🧭 Servers

Slug MCP server Port localhost mcp.aetoskia.com
standards standards 8009 http://localhost:8009/mcp https://mcp.aetoskia.com/standards/mcp
doc-forge docforge 8001 http://localhost:8001/mcp https://mcp.aetoskia.com/doc-forge/mcp
mail-intake mail_intake 8002 http://localhost:8002/mcp https://mcp.aetoskia.com/mail-intake/mcp
omniread omniread 8003 http://localhost:8003/mcp https://mcp.aetoskia.com/omniread/mcp
openapi-first openapi_first 8004 http://localhost:8004/mcp https://mcp.aetoskia.com/openapi-first/mcp
py-jwt jwtlib 8005 http://localhost:8005/mcp https://mcp.aetoskia.com/py-jwt/mcp
dagpipe dagpipe 8006 http://localhost:8006/mcp https://mcp.aetoskia.com/dagpipe/mcp
mongo-ops mongo_ops 8007 http://localhost:8007/mcp https://mcp.aetoskia.com/mongo-ops/mcp
hexa hexa 8008 http://localhost:8008/mcp https://mcp.aetoskia.com/hexa/mcp
doc-weaver doc-weaver 8010 http://localhost:8010/mcp https://mcp.aetoskia.com/doc-weaver/mcp
react-auth react-auth 8011 http://localhost:8011/mcp https://mcp.aetoskia.com/react-auth/mcp
react-openapi react-openapi 8012 http://localhost:8012/mcp https://mcp.aetoskia.com/react-openapi/mcp

The hosted endpoints are served over HTTPS at https://mcp.aetoskia.com/<slug>/mcp. The tabs below are linked (content.tabs.link): switching one switches all of them. Every snippet registers all twelve servers, so a single paste is enough.


🤖 Claude Code

Project-scoped .mcp.json at the repo root. The type field is required — an entry with a url but no type is read as a stdio server and skipped.

{
  "mcpServers": {
    "standards": { "type": "http", "url": "http://localhost:8009/mcp" },
    "doc-forge": { "type": "http", "url": "http://localhost:8001/mcp" },
    "mail-intake": { "type": "http", "url": "http://localhost:8002/mcp" },
    "omniread": { "type": "http", "url": "http://localhost:8003/mcp" },
    "openapi-first": { "type": "http", "url": "http://localhost:8004/mcp" },
    "py-jwt": { "type": "http", "url": "http://localhost:8005/mcp" },
    "dagpipe": { "type": "http", "url": "http://localhost:8006/mcp" },
    "mongo-ops": { "type": "http", "url": "http://localhost:8007/mcp" },
    "hexa": { "type": "http", "url": "http://localhost:8008/mcp" },
    "doc-weaver": { "type": "http", "url": "http://localhost:8010/mcp" },
    "react-auth": { "type": "http", "url": "http://localhost:8011/mcp" },
    "react-openapi": { "type": "http", "url": "http://localhost:8012/mcp" }
  }
}
{
  "mcpServers": {
    "standards": { "type": "http", "url": "https://mcp.aetoskia.com/standards/mcp" },
    "doc-forge": { "type": "http", "url": "https://mcp.aetoskia.com/doc-forge/mcp" },
    "mail-intake": { "type": "http", "url": "https://mcp.aetoskia.com/mail-intake/mcp" },
    "omniread": { "type": "http", "url": "https://mcp.aetoskia.com/omniread/mcp" },
    "openapi-first": { "type": "http", "url": "https://mcp.aetoskia.com/openapi-first/mcp" },
    "py-jwt": { "type": "http", "url": "https://mcp.aetoskia.com/py-jwt/mcp" },
    "dagpipe": { "type": "http", "url": "https://mcp.aetoskia.com/dagpipe/mcp" },
    "mongo-ops": { "type": "http", "url": "https://mcp.aetoskia.com/mongo-ops/mcp" },
    "hexa": { "type": "http", "url": "https://mcp.aetoskia.com/hexa/mcp" },
    "doc-weaver": { "type": "http", "url": "https://mcp.aetoskia.com/doc-weaver/mcp" },
    "react-auth": { "type": "http", "url": "https://mcp.aetoskia.com/react-auth/mcp" },
    "react-openapi": { "type": "http", "url": "https://mcp.aetoskia.com/react-openapi/mcp" }
  }
}

Or add them with the CLI: claude mcp add --transport http standards http://localhost:8009/mcp.


🤖 Codex

~/.codex/config.toml (or a project-scoped .codex/config.toml).

[mcp_servers.standards]
url = "http://localhost:8009/mcp"

[mcp_servers.doc-forge]
url = "http://localhost:8001/mcp"

[mcp_servers.mail-intake]
url = "http://localhost:8002/mcp"

[mcp_servers.omniread]
url = "http://localhost:8003/mcp"

[mcp_servers.openapi-first]
url = "http://localhost:8004/mcp"

[mcp_servers.py-jwt]
url = "http://localhost:8005/mcp"

[mcp_servers.dagpipe]
url = "http://localhost:8006/mcp"

[mcp_servers.mongo-ops]
url = "http://localhost:8007/mcp"

[mcp_servers.hexa]
url = "http://localhost:8008/mcp"

[mcp_servers.doc-weaver]
url = "http://localhost:8010/mcp"

[mcp_servers.react-auth]
url = "http://localhost:8011/mcp"

[mcp_servers.react-openapi]
url = "http://localhost:8012/mcp"
[mcp_servers.standards]
url = "https://mcp.aetoskia.com/standards/mcp"

[mcp_servers.doc-forge]
url = "https://mcp.aetoskia.com/doc-forge/mcp"

[mcp_servers.mail-intake]
url = "https://mcp.aetoskia.com/mail-intake/mcp"

[mcp_servers.omniread]
url = "https://mcp.aetoskia.com/omniread/mcp"

[mcp_servers.openapi-first]
url = "https://mcp.aetoskia.com/openapi-first/mcp"

[mcp_servers.py-jwt]
url = "https://mcp.aetoskia.com/py-jwt/mcp"

[mcp_servers.dagpipe]
url = "https://mcp.aetoskia.com/dagpipe/mcp"

[mcp_servers.mongo-ops]
url = "https://mcp.aetoskia.com/mongo-ops/mcp"

[mcp_servers.hexa]
url = "https://mcp.aetoskia.com/hexa/mcp"

[mcp_servers.doc-weaver]
url = "https://mcp.aetoskia.com/doc-weaver/mcp"

[mcp_servers.react-auth]
url = "https://mcp.aetoskia.com/react-auth/mcp"

[mcp_servers.react-openapi]
url = "https://mcp.aetoskia.com/react-openapi/mcp"

Or add them with the CLI: codex mcp add standards --url http://localhost:8009/mcp.


🤖 Antigravity

~/.gemini/antigravity/mcp_config.json (IDE) or ~/.gemini/config/mcp_config.json (CLI). Antigravity uses serverUrl, not url, for HTTP endpoints.

{
  "mcpServers": {
    "standards": { "serverUrl": "http://localhost:8009/mcp" },
    "doc-forge": { "serverUrl": "http://localhost:8001/mcp" },
    "mail-intake": { "serverUrl": "http://localhost:8002/mcp" },
    "omniread": { "serverUrl": "http://localhost:8003/mcp" },
    "openapi-first": { "serverUrl": "http://localhost:8004/mcp" },
    "py-jwt": { "serverUrl": "http://localhost:8005/mcp" },
    "dagpipe": { "serverUrl": "http://localhost:8006/mcp" },
    "mongo-ops": { "serverUrl": "http://localhost:8007/mcp" },
    "hexa": { "serverUrl": "http://localhost:8008/mcp" },
    "doc-weaver": { "serverUrl": "http://localhost:8010/mcp" },
    "react-auth": { "serverUrl": "http://localhost:8011/mcp" },
    "react-openapi": { "serverUrl": "http://localhost:8012/mcp" }
  }
}
{
  "mcpServers": {
    "standards": { "serverUrl": "https://mcp.aetoskia.com/standards/mcp" },
    "doc-forge": { "serverUrl": "https://mcp.aetoskia.com/doc-forge/mcp" },
    "mail-intake": { "serverUrl": "https://mcp.aetoskia.com/mail-intake/mcp" },
    "omniread": { "serverUrl": "https://mcp.aetoskia.com/omniread/mcp" },
    "openapi-first": { "serverUrl": "https://mcp.aetoskia.com/openapi-first/mcp" },
    "py-jwt": { "serverUrl": "https://mcp.aetoskia.com/py-jwt/mcp" },
    "dagpipe": { "serverUrl": "https://mcp.aetoskia.com/dagpipe/mcp" },
    "mongo-ops": { "serverUrl": "https://mcp.aetoskia.com/mongo-ops/mcp" },
    "hexa": { "serverUrl": "https://mcp.aetoskia.com/hexa/mcp" },
    "doc-weaver": { "serverUrl": "https://mcp.aetoskia.com/doc-weaver/mcp" },
    "react-auth": { "serverUrl": "https://mcp.aetoskia.com/react-auth/mcp" },
    "react-openapi": { "serverUrl": "https://mcp.aetoskia.com/react-openapi/mcp" }
  }
}

🤖 OpenCode

opencode.json (project) or ~/.config/opencode/opencode.json (global).

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "standards": { "type": "remote", "url": "http://localhost:8009/mcp", "enabled": true },
    "doc-forge": { "type": "remote", "url": "http://localhost:8001/mcp", "enabled": true },
    "mail-intake": { "type": "remote", "url": "http://localhost:8002/mcp", "enabled": true },
    "omniread": { "type": "remote", "url": "http://localhost:8003/mcp", "enabled": true },
    "openapi-first": { "type": "remote", "url": "http://localhost:8004/mcp", "enabled": true },
    "py-jwt": { "type": "remote", "url": "http://localhost:8005/mcp", "enabled": true },
    "dagpipe": { "type": "remote", "url": "http://localhost:8006/mcp", "enabled": true },
    "mongo-ops": { "type": "remote", "url": "http://localhost:8007/mcp", "enabled": true },
    "hexa": { "type": "remote", "url": "http://localhost:8008/mcp", "enabled": true },
    "doc-weaver": { "type": "remote", "url": "http://localhost:8010/mcp", "enabled": true },
    "react-auth": { "type": "remote", "url": "http://localhost:8011/mcp", "enabled": true },
    "react-openapi": { "type": "remote", "url": "http://localhost:8012/mcp", "enabled": true }
  }
}
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "standards": { "type": "remote", "url": "https://mcp.aetoskia.com/standards/mcp", "enabled": true },
    "doc-forge": { "type": "remote", "url": "https://mcp.aetoskia.com/doc-forge/mcp", "enabled": true },
    "mail-intake": { "type": "remote", "url": "https://mcp.aetoskia.com/mail-intake/mcp", "enabled": true },
    "omniread": { "type": "remote", "url": "https://mcp.aetoskia.com/omniread/mcp", "enabled": true },
    "openapi-first": { "type": "remote", "url": "https://mcp.aetoskia.com/openapi-first/mcp", "enabled": true },
    "py-jwt": { "type": "remote", "url": "https://mcp.aetoskia.com/py-jwt/mcp", "enabled": true },
    "dagpipe": { "type": "remote", "url": "https://mcp.aetoskia.com/dagpipe/mcp", "enabled": true },
    "mongo-ops": { "type": "remote", "url": "https://mcp.aetoskia.com/mongo-ops/mcp", "enabled": true },
    "hexa": { "type": "remote", "url": "https://mcp.aetoskia.com/hexa/mcp", "enabled": true },
    "doc-weaver": { "type": "remote", "url": "https://mcp.aetoskia.com/doc-weaver/mcp", "enabled": true },
    "react-auth": { "type": "remote", "url": "https://mcp.aetoskia.com/react-auth/mcp", "enabled": true },
    "react-openapi": { "type": "remote", "url": "https://mcp.aetoskia.com/react-openapi/mcp", "enabled": true }
  }
}

Or add them with the CLI: opencode mcp add standards --url http://localhost:8009/mcp --global.


🤖 PyCharm (Junie / AI Assistant)

~/.junie/mcp/mcp.json (user scope) or .junie/mcp/mcp.json (project scope). The same config is reachable from Settings | Tools | MCP Server → Manual Client Configuration → Copy HTTP Stream Config.

{
  "mcpServers": {
    "standards": { "url": "http://localhost:8009/mcp" },
    "doc-forge": { "url": "http://localhost:8001/mcp" },
    "mail-intake": { "url": "http://localhost:8002/mcp" },
    "omniread": { "url": "http://localhost:8003/mcp" },
    "openapi-first": { "url": "http://localhost:8004/mcp" },
    "py-jwt": { "url": "http://localhost:8005/mcp" },
    "dagpipe": { "url": "http://localhost:8006/mcp" },
    "mongo-ops": { "url": "http://localhost:8007/mcp" },
    "hexa": { "url": "http://localhost:8008/mcp" },
    "doc-weaver": { "url": "http://localhost:8010/mcp" },
    "react-auth": { "url": "http://localhost:8011/mcp" },
    "react-openapi": { "url": "http://localhost:8012/mcp" }
  }
}
{
  "mcpServers": {
    "standards": { "url": "https://mcp.aetoskia.com/standards/mcp" },
    "doc-forge": { "url": "https://mcp.aetoskia.com/doc-forge/mcp" },
    "mail-intake": { "url": "https://mcp.aetoskia.com/mail-intake/mcp" },
    "omniread": { "url": "https://mcp.aetoskia.com/omniread/mcp" },
    "openapi-first": { "url": "https://mcp.aetoskia.com/openapi-first/mcp" },
    "py-jwt": { "url": "https://mcp.aetoskia.com/py-jwt/mcp" },
    "dagpipe": { "url": "https://mcp.aetoskia.com/dagpipe/mcp" },
    "mongo-ops": { "url": "https://mcp.aetoskia.com/mongo-ops/mcp" },
    "hexa": { "url": "https://mcp.aetoskia.com/hexa/mcp" },
    "doc-weaver": { "url": "https://mcp.aetoskia.com/doc-weaver/mcp" },
    "react-auth": { "url": "https://mcp.aetoskia.com/react-auth/mcp" },
    "react-openapi": { "url": "https://mcp.aetoskia.com/react-openapi/mcp" }
  }
}

✅ Verify

  • Health check: curl http://localhost:8000/healthz → ok.
  • Claude Code: claude mcp list → each server … ✓ Connected.
  • Codex: codex mcp list → each server … http.
  • OpenCode: opencode mcp list → each server … connected.
  • In-session: run /mcp to list the connected servers and their tools.

📚 Reference