stateful sessions.
For any JSON example on this page, register it with:
Hosted HTTP servers
Context7: fastest possible registration
If the upstream server is public and does not require extra configuration, register it directly with CLI flags:DeepWiki: simple config file
If you prefer to keep server registrations in version control, use a JSON config file even for simple HTTP servers:GitHub: bearer token from an environment variable
For servers that require a static token, it is recommended to keep the secret out of the file and inject it from the shell environment:Figma: upstream OAuth during registration
Some hosted servers use OAuth instead of static API tokens. Figma is a good example:Todoist: OAuth flow from a direct CLI command
Todoist is a good example of a hosted server where the fastest path is still a direct CLI command:Local STDIO servers
Filesystem: minimal STDIO example
The official filesystem server is the canonical example of local STDIO registration:Playwright: STDIO server with stateful sessions
Playwright requires persistent sessions so each tool call can reuse the same running browser process:
n8n: STDIO server with required environment variables
Some STDIO servers need environment variables at process startup:Time: small uvx-based server
If your STDIO server is Python-based, uvx is often the cleanest launcher:
SSE transport
If you still need to register an SSE server, use a JSON config file:Related pages
HTTP servers
Register hosted MCP servers over Streamable HTTP.
STDIO servers
Register local MCP servers that run as child processes.
Session modes
Decide when to use
stateless versus stateful server sessions.Config file reference
See the exact JSON config formats and environment substitution rules.
