Connect Codex, VS Code, Windsurf and others
MCP configuration for Codex, VS Code and GitHub Copilot, Windsurf, Gemini CLI, Kiro, OpenCode, Goose and any Streamable HTTP client, using a SupaHost access token.
Any MCP client that supports remote servers over Streamable HTTP with a custom Authorization header can use SupaHost. This page has ready-made configs for the common ones. They all need the same three things:
| Setting | Value |
|---|---|
| Server name | supahost (any name works) |
| URL | https://mcp.supahost.space/mcp?project=app-one |
| Header | Authorization: Bearer <your SupaHost access token> |
Create the token in Dashboard → AI agents (MCP) (pick your client from the list for a tailored snippet) or in Access tokens. Most configs below read it from a SUPAHOST_TOKEN environment variable:
export SUPAHOST_TOKEN="shp_..."
Change project=app-one to your project, or use instance=acme with a whole-instance token. Add &read_only=true for read-only, and &features=... to choose tool groups; see The SupaHost MCP server.
Codex
Add to ~/.codex/config.toml. Codex reads the token from the named environment variable:
[mcp_servers.supahost]
url = "https://mcp.supahost.space/mcp?project=app-one"
bearer_token_env_var = "SUPAHOST_TOKEN"
Start Codex and run /mcp to check that supahost is listed with its tools. Put rules in AGENTS.md at the root of your repository; see Rules and prompts for AI agents.
VS Code (and GitHub Copilot agent mode)
Save as .vscode/mcp.json in your workspace. VS Code asks for the token the first time and stores it securely, so nothing secret goes in the file:
{
"inputs": [
{
"type": "promptString",
"id": "supahost-token",
"description": "SupaHost access token",
"password": true
}
],
"servers": {
"supahost": {
"type": "http",
"url": "https://mcp.supahost.space/mcp?project=app-one",
"headers": {
"Authorization": "Bearer ${input:supahost-token}"
}
}
}
}
Open the Copilot chat in agent mode and check the tools list for supahost. For the Copilot CLI, add the same server to ~/.copilot/mcp-config.json.
Windsurf
Add to ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"supahost": {
"serverUrl": "https://mcp.supahost.space/mcp?project=app-one",
"headers": {
"Authorization": "Bearer ${env:SUPAHOST_TOKEN}"
}
}
}
}
Reload Windsurf's MCP servers after saving.
Gemini CLI
Add to ~/.gemini/settings.json (or .gemini/settings.json in the project):
{
"mcpServers": {
"supahost": {
"httpUrl": "https://mcp.supahost.space/mcp?project=app-one",
"headers": {
"Authorization": "Bearer $SUPAHOST_TOKEN"
}
}
}
}
Run /mcp inside Gemini CLI to see the connection and tools.
Kiro
Save as .kiro/settings/mcp.json in your workspace:
{
"mcpServers": {
"supahost": {
"url": "https://mcp.supahost.space/mcp?project=app-one",
"headers": {
"Authorization": "Bearer ${SUPAHOST_TOKEN}"
}
}
}
}
OpenCode
Add to opencode.json in your project:
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"supahost": {
"type": "remote",
"url": "https://mcp.supahost.space/mcp?project=app-one",
"enabled": true,
"headers": {
"Authorization": "Bearer {env:SUPAHOST_TOKEN}"
}
}
}
}
Factory (Droid)
droid mcp add supahost "https://mcp.supahost.space/mcp?project=app-one" --type http \
--header "Authorization: Bearer $SUPAHOST_TOKEN"
Goose
Add under extensions in ~/.config/goose/config.yaml (or use goose configure and choose a remote extension). This snippet holds the token itself, so keep the file private:
extensions:
supahost:
type: streamable_http
name: supahost
uri: https://mcp.supahost.space/mcp?project=app-one
headers:
Authorization: Bearer <your SupaHost token>
enabled: true
timeout: 300
Any other client
Look for a "remote", "HTTP" or "Streamable HTTP" server option and enter the name, URL and header from the table at the top. The dashboard's client list also covers Antigravity, Warp, Devin Desktop, Grok and Kimi Code. Clients that only support local (stdio) servers or the older SSE transport can't connect directly.
Claude.ai and ChatGPT connectors
Hosted connectors (Claude.ai custom connectors, ChatGPT developer-mode connectors) sign in with OAuth rather than a token. OAuth sign-in for the SupaHost MCP server is coming soon and isn't available yet. Until then, use a desktop or CLI client with an access token.
Keeping tokens safe
- Prefer configs that read the token from an environment variable or prompt for it. If a config holds the token itself, keep that file out of git.
- Use one token per client and per project, so you can revoke one without breaking the others.
- Revoke unused tokens in Dashboard → Access tokens; the table shows when each was last used.