Skip to main content

Configuration

mcpzip is configured via a JSON file at ~/.config/compressed-mcp-proxy/config.json.

Full Example

{
"gemini_api_key": "AIza...",
"search": {
"model": "gemini-2.0-flash",
"default_limit": 5
},
"idle_timeout_minutes": 5,
"call_timeout_seconds": 120,
"mcpServers": {
"slack": {
"command": "npx",
"args": ["-y", "@anthropic/slack-mcp"],
"env": {
"SLACK_TOKEN": "xoxb-..."
}
},
"github": {
"command": "gh-mcp"
},
"todoist": {
"type": "http",
"url": "https://todoist.com/mcp"
},
"gmail": {
"type": "http",
"url": "https://gmail.mcp.run/sse",
"headers": {
"Authorization": "Bearer ..."
}
}
}
}

Top-Level Options

FieldTypeDefaultDescription
gemini_api_keystring$GEMINI_API_KEYAPI key for Gemini-powered semantic search
search.modelstring"gemini-2.0-flash"Gemini model to use for search
search.default_limitinteger5Default number of search results
idle_timeout_minutesinteger5Close idle upstream connections after this many minutes
call_timeout_secondsinteger120Default timeout for tool calls
mcpServersobjectrequiredMap of server name to server config

Server Config

Each entry in mcpServers describes an upstream MCP server.

stdio (default)

Spawns a local process that speaks MCP over stdin/stdout.

{
"slack": {
"command": "npx",
"args": ["-y", "@anthropic/slack-mcp"],
"env": {
"SLACK_TOKEN": "xoxb-..."
}
}
}
FieldTypeDescription
commandstringCommand to execute (required)
argsstring[]Command arguments
envobjectEnvironment variables

http

Connects to a remote MCP server via HTTP (Streamable HTTP). Supports OAuth 2.1 with PKCE.

{
"todoist": {
"type": "http",
"url": "https://todoist.com/mcp"
}
}
FieldTypeDescription
type"http"Required
urlstringServer URL (required)
headersobjectCustom HTTP headers (skips OAuth if present)

When no custom headers are set, mcpzip will attempt OAuth 2.1 authentication if the server requires it. It opens your browser for the auth flow and persists tokens to ~/.config/compressed-mcp-proxy/auth/.

sse

Legacy SSE transport for older MCP servers.

{
"legacy": {
"type": "sse",
"url": "https://example.com/mcp/sse"
}
}
FieldTypeDescription
type"sse"Required
urlstringSSE endpoint URL (required)

CLI Flags

# Custom config path
mcpzip serve --config /path/to/config.json

# Migration
mcpzip migrate --dry-run
mcpzip migrate --claude-config ~/.claude.json --config output.json

Environment Variables

VariableDescription
GEMINI_API_KEYGemini API key (overrides config file)