Back to Browse

Vox MCP Server

Developer ToolsLow Risk9.5MCP RegistryLocal
Free

Server data from the Official MCP Registry

Multi-model AI gateway — 8 providers plus local models, no system prompt injection.

About

Multi-model AI gateway — 8 providers plus local models, no system prompt injection.

Security Report

9.5
Low Risk9.5Low Risk

Valid MCP server (1 strong, 1 medium validity signals). 1 known CVE in dependencies Package registry verified. Imported from the Official MCP Registry.

3 files analyzed · 2 issues found

Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.

Permissions Required

This plugin requests these system permissions. Most are normal for its category.

file_system

Check that this permission is expected for this type of plugin.

What You'll Need

Set these up before or after installing:

Google Gemini API keyRequired

Environment variable: GEMINI_API_KEY

OpenAI API keyRequired

Environment variable: OPENAI_API_KEY

Anthropic API keyRequired

Environment variable: ANTHROPIC_API_KEY

xAI (Grok) API keyRequired

Environment variable: XAI_API_KEY

DeepSeek API keyRequired

Environment variable: DEEPSEEK_API_KEY

Moonshot (Kimi) API keyRequired

Environment variable: MOONSHOT_API_KEY

OpenRouter API keyRequired

Environment variable: OPENROUTER_API_KEY

Custom OpenAI-compatible endpoint URL (Ollama, vLLM, etc.)Optional

Environment variable: CUSTOM_API_URL

How to Install

Add this to your MCP configuration file:

{
  "mcpServers": {
    "io-github-linxule-vox-mcp": {
      "env": {
        "XAI_API_KEY": "your-xai-api-key-here",
        "CUSTOM_API_URL": "your-custom-api-url-here",
        "GEMINI_API_KEY": "your-gemini-api-key-here",
        "OPENAI_API_KEY": "your-openai-api-key-here",
        "DEEPSEEK_API_KEY": "your-deepseek-api-key-here",
        "MOONSHOT_API_KEY": "your-moonshot-api-key-here",
        "ANTHROPIC_API_KEY": "your-anthropic-api-key-here",
        "OPENROUTER_API_KEY": "your-openrouter-api-key-here"
      },
      "args": [
        "vox-mcp"
      ],
      "command": "uvx"
    }
  }
}

Documentation

View on GitHub

From the project's GitHub README.

Vox MCP

Multi-model AI gateway for MCP clients.

Why

MCP clients like Claude Code, Claude Desktop, and Cursor are locked to their host model. Vox gives them access to every other model — Gemini, GPT, Grok, DeepSeek, Kimi, or your local Ollama — through a single chat tool.

The design is deliberately minimal: prompts go to providers unmodified, responses come back unmodified. No system prompt injection. No response formatting. No behavioral directives. The only value Vox adds is routing and conversation memory — everything else is pure passthrough.

What it does

Send a prompt, optionally attach files or images, pick a model (or let the agent pick), and get back the model's raw response. Conversation threads persist in memory via continuation_id for multi-turn exchanges across any provider — start a thread with Gemini, continue it with GPT. Threads are shadow-persisted to disk as JSONL for durability and can be exported as Markdown.

3 tools:

ToolDescription
chatSend prompts to any configured AI model with optional file/image context
listmodelsShow available models, aliases, and capabilities
dump_threadsExport conversation threads as JSON or Markdown

8 providers:

ProviderEnv VariableExample Models
Google GeminiGEMINI_API_KEYgemini-2.5-pro
OpenAIOPENAI_API_KEYgpt-5.1, gpt-5, o3, o4-mini
AnthropicANTHROPIC_API_KEYclaude-opus-4-8, claude-sonnet-5, claude-haiku-4-5
xAIXAI_API_KEYgrok-4.5, grok-4.3
DeepSeekDEEPSEEK_API_KEYdeepseek-v4-pro
Moonshot (Kimi)MOONSHOT_API_KEYkimi-k2.6
OpenRouterOPENROUTER_API_KEYAny OpenRouter model
CustomCUSTOM_API_URLOllama, vLLM, LM Studio, etc.

Quick start

git clone https://github.com/linxule/vox-mcp.git
cd vox-mcp
cp .env.example .env
# Edit .env — add at least one API key
uv sync
uv run python server.py

MCP client configuration

Vox runs as a stdio MCP server. Each client needs to know how to launch it.

Replace /path/to/vox-mcp with the absolute path to your cloned repo.

Claude Code (CLI)

claude mcp add vox-mcp \
  -e GEMINI_API_KEY=your-key-here \
  -- uv run --directory /path/to/vox-mcp python server.py

Or add to .mcp.json in your project root:

{
  "mcpServers": {
    "vox-mcp": {
      "command": "uv",
      "args": ["run", "--directory", "/path/to/vox-mcp", "python", "server.py"],
      "env": {
        "GEMINI_API_KEY": "your-key-here"
      }
    }
  }
}

Claude Desktop

Add to claude_desktop_config.json:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "vox-mcp": {
      "command": "uv",
      "args": ["run", "--directory", "/path/to/vox-mcp", "python", "server.py"],
      "env": {
        "GEMINI_API_KEY": "your-key-here"
      }
    }
  }
}

Cursor

Add to .cursor/mcp.json (project) or ~/.cursor/mcp.json (global):

{
  "mcpServers": {
    "vox-mcp": {
      "command": "uv",
      "args": ["run", "--directory", "/path/to/vox-mcp", "python", "server.py"],
      "env": {
        "GEMINI_API_KEY": "your-key-here"
      }
    }
  }
}

Windsurf

Add to ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "vox-mcp": {
      "command": "uv",
      "args": ["run", "--directory", "/path/to/vox-mcp", "python", "server.py"],
      "env": {
        "GEMINI_API_KEY": "your-key-here"
      }
    }
  }
}

Any MCP client

The canonical stdio configuration:

{
  "mcpServers": {
    "vox-mcp": {
      "command": "uv",
      "args": ["run", "--directory", "/path/to/vox-mcp", "python", "server.py"],
      "env": {
        "GEMINI_API_KEY": "your-key-here"
      }
    }
  }
}

Tips:

  • Paths must be absolute
  • You only need one API key to start — add more providers later via .env
  • The .env file in the vox-mcp directory is loaded automatically, so API keys can go there instead of in the client config
  • Use VOX_FORCE_ENV_OVERRIDE=true in .env if client-passed env vars conflict with your .env values

Configuration

Copy .env.example to .env and configure:

  • API keys — at least one provider key is required
  • DEFAULT_MODELauto (default, agent picks) or a specific model name
  • Model restrictionsGOOGLE_ALLOWED_MODELS, OPENAI_ALLOWED_MODELS, etc.
  • CONVERSATION_TIMEOUT_HOURS — thread TTL (default: 24h)
  • MAX_CONVERSATION_TURNS — thread length limit (default: 100)

See .env.example for the full reference.

Development

uv sync
uv run python -c "import server"   # smoke test
uv run pytest                       # run tests

See CONTRIBUTING.md for code style, project structure, and how to add providers.

License

Apache 2.0 — see LICENSE and NOTICE.

Derived from pal-mcp-server by Beehive Innovations.

Reviews

No reviews yet

Be the first to review this server!