Skip to main content
Glama
Cross-LLM MCP Server

Cross-LLM MCP Server

by JamesANZ

πŸ€– Cross-LLM MCP Server

Access multiple LLM APIs from one place. Call ChatGPT, Claude, DeepSeek, Gemini, Grok, Kimi, Perplexity, Mistral, and Hugging Face Inference Router with intelligent model selection, preferences, and prompt logging.

An MCP (Model Context Protocol) server that provides unified access to multiple Large Language Model APIs for AI coding environments like Cursor and Claude Desktop.

Trust Score

Why Use Cross-LLM MCP?

  • 🌐 9 LLM Providers – ChatGPT, Claude, DeepSeek, Gemini, Grok, Kimi, Perplexity, Mistral, Hugging Face

  • 🎯 Smart Model Selection – Tag-based preferences (coding, business, reasoning, math, creative, general)

  • πŸ“Š Prompt Logging – Track all prompts with history, statistics, and analytics

  • πŸ’° Cost Optimization – Choose flagship or cheaper models based on preference

  • ⚑ Easy Setup – One-click install in Cursor or simple manual setup

  • πŸ”„ Call All LLMs – Get responses from all providers simultaneously

Related MCP server: OpenRouter MCP Server

Quick Start

Ready to access multiple LLMs? Install in seconds:

Install in Cursor (Recommended):

πŸ”— Install in Cursor

Or install manually:

npm install -g cross-llm-mcp
# Or from source:
git clone https://github.com/JamesANZ/cross-llm-mcp.git
cd cross-llm-mcp && npm install && npm run build

Features

πŸ€– Individual LLM Tools

  • call-chatgpt – OpenAI's ChatGPT API

  • call-claude – Anthropic's Claude API

  • call-deepseek – DeepSeek API

  • call-gemini – Google's Gemini API

  • call-grok – xAI's Grok API

  • call-kimi – Moonshot AI's Kimi API

  • call-perplexity – Perplexity AI API

  • call-mistral – Mistral AI API

  • call-huggingface – Hugging Face Inference Router (OpenAI-compatible Hub models)

πŸ”„ Combined Tools

  • call-all-llms – Call all LLMs with the same prompt

  • call-llm – Call a specific provider by name

βš™οΈ Preferences & Model Selection

  • get-user-preferences – Get current preferences

  • set-user-preferences – Set default model, cost preference, and tag-based preferences

  • get-models-by-tag – Find models by tag (coding, business, reasoning, math, creative, general)

πŸ“ Prompt Logging

  • get-prompt-history – View prompt history with filters

  • get-prompt-stats – Get statistics about prompt logs

  • delete-prompt-entries – Delete log entries by criteria

  • clear-prompt-history – Clear all prompt logs

Installation

Cursor (One-Click)

Click the install link above or use:

cursor://anysphere.cursor-deeplink/mcp/install?name=cross-llm-mcp&config=eyJjcm9zcy1sbG0tbWNwIjp7ImNvbW1hbmQiOiJucHgiLCJhcmdzIjpbIi15IiwiY3Jvc3MtbGxtLW1jcCJdfX0=

After installation, add your API keys in Cursor settings (see Configuration below).

Manual Installation

Requirements: Node.js 18+ and npm

# Clone and build
git clone https://github.com/JamesANZ/cross-llm-mcp.git
cd cross-llm-mcp
npm install
npm run build

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": {
    "cross-llm-mcp": {
      "command": "node",
      "args": ["/absolute/path/to/cross-llm-mcp/build/index.js"],
      "env": {
        "OPENAI_API_KEY": "your_openai_api_key_here",
        "ANTHROPIC_API_KEY": "your_anthropic_api_key_here",
        "DEEPSEEK_API_KEY": "your_deepseek_api_key_here",
        "GEMINI_API_KEY": "your_gemini_api_key_here",
        "XAI_API_KEY": "your_grok_api_key_here",
        "KIMI_API_KEY": "your_kimi_api_key_here",
        "PERPLEXITY_API_KEY": "your_perplexity_api_key_here",
        "MISTRAL_API_KEY": "your_mistral_api_key_here",
        "HF_TOKEN": "your_huggingface_token_here"
      }
    }
  }
}

Restart Claude Desktop after configuration.

Configuration

API Keys

Set environment variables for the LLM providers you want to use:

export OPENAI_API_KEY="your_openai_api_key"
export ANTHROPIC_API_KEY="your_anthropic_api_key"
export DEEPSEEK_API_KEY="your_deepseek_api_key"
export GEMINI_API_KEY="your_gemini_api_key"
export XAI_API_KEY="your_grok_api_key"
export KIMI_API_KEY="your_kimi_api_key"
export PERPLEXITY_API_KEY="your_perplexity_api_key"
export MISTRAL_API_KEY="your_mistral_api_key"
export HF_TOKEN="your_huggingface_token"
# Or: HUGGINGFACE_API_KEY (same as HF_TOKEN)
# Optional: DEFAULT_HUGGINGFACE_MODEL, HUGGINGFACE_INFERENCE_BASE_URL (default https://router.huggingface.co/v1)

Getting API Keys

Running Hub models locally (outside this MCP)

This server calls Hugging Face’s hosted Inference Router; it does not download weights or run PyTorch/GGUF inside Node. To run models on your machine, use tools such as Ollama, llama.cpp, Text Generation Inference, or Hugging Face Inference Endpoints, then point other clients at those services if they expose an API.

Usage Examples

Call ChatGPT

Get a response from OpenAI:

{
  "tool": "call-chatgpt",
  "arguments": {
    "prompt": "Explain quantum computing in simple terms",
    "temperature": 0.7,
    "max_tokens": 500
  }
}

Call Hugging Face

Get a response from a Hub model via the Inference Router (model is the Hub repo id, e.g. Qwen/Qwen2.5-7B-Instruct):

{
  "tool": "call-huggingface",
  "arguments": {
    "prompt": "Reply with exactly: ok",
    "model": "Qwen/Qwen2.5-7B-Instruct",
    "temperature": 0.3,
    "max_tokens": 32
  }
}

Call All LLMs

Get responses from all providers:

{
  "tool": "call-all-llms",
  "arguments": {
    "prompt": "Write a short poem about AI",
    "temperature": 0.8
  }
}

Set Tag-Based Preferences

Automatically use the best model for each task type:

{
  "tool": "set-user-preferences",
  "arguments": {
    "defaultModel": "gpt-4o",
    "costPreference": "cheaper",
    "tagPreferences": {
      "coding": "deepseek-r1",
      "general": "gpt-4o",
      "business": "claude-3.5-sonnet-20241022",
      "reasoning": "deepseek-r1",
      "math": "deepseek-r1",
      "creative": "gpt-4o"
    }
  }
}

Get Prompt History

View your prompt logs:

{
  "tool": "get-prompt-history",
  "arguments": {
    "provider": "chatgpt",
    "limit": 10
  }
}

Model Tags

Models are tagged by their strengths:

  • coding: deepseek-r1, deepseek-coder, gpt-4o, claude-3.5-sonnet-20241022

  • business: claude-3-opus-20240229, gpt-4o, gemini-1.5-pro

  • reasoning: deepseek-r1, o1-preview, claude-3.5-sonnet-20241022

  • math: deepseek-r1, o1-preview, o1-mini

  • creative: gpt-4o, claude-3-opus-20240229, gemini-1.5-pro

  • general: gpt-4o-mini, claude-3-haiku-20240307, gemini-1.5-flash

Use Cases

  • Multi-Perspective Analysis – Get different perspectives from multiple LLMs

  • Model Comparison – Compare responses to understand strengths and weaknesses

  • Cost Optimization – Choose the most cost-effective model for each task

  • Quality Assurance – Cross-reference responses from multiple models

  • Intelligent Selection – Automatically use the best model for coding, business, reasoning, etc.

  • Prompt Analytics – Track usage, costs, and patterns with automatic logging

Technical Details

Built with: Node.js, TypeScript, MCP SDK
Dependencies: @modelcontextprotocol/sdk, superagent, zod
Platforms: macOS, Windows, Linux

Preference Storage:

  • Unix/macOS: ~/.cross-llm-mcp/preferences.json

  • Windows: %APPDATA%/cross-llm-mcp/preferences.json

Prompt Log Storage:

  • Unix/macOS: ~/.cross-llm-mcp/prompts.json

  • Windows: %APPDATA%/cross-llm-mcp/prompts.json

Contributing

⭐ If this project helps you, please star it on GitHub! ⭐

Contributions welcome! Please open an issue or submit a pull request.

License

MIT License – see LICENSE.md for details.

Support

If you find this project useful, consider supporting it:

⚑ Lightning Network

lnbc1pjhhsqepp5mjgwnvg0z53shm22hfe9us289lnaqkwv8rn2s0rtekg5vvj56xnqdqqcqzzsxqyz5vqsp5gu6vh9hyp94c7t3tkpqrp2r059t4vrw7ps78a4n0a2u52678c7yq9qyyssq7zcferywka50wcy75skjfrdrk930cuyx24rg55cwfuzxs49rc9c53mpz6zug5y2544pt8y9jflnq0ltlha26ed846jh0y7n4gm8jd3qqaautqa

β‚Ώ Bitcoin: bc1ptzvr93pn959xq4et6sqzpfnkk2args22ewv5u2th4ps7hshfaqrshe0xtp

Ξ Ethereum/EVM: 0x42ea529282DDE0AA87B42d9E83316eb23FE62c3f

Available Tools

7 tools
decode_invoiceC

Decode a Lightning invoice

Inputs: invoice (required).

decode_txC

Decode a Bitcoin transaction

Inputs: rawHex (required).

generate_keyB

Generate a new Bitcoin key pair and address

Inputs: no named parameters.

get_latest_blockC

Get the latest block

Inputs: no named parameters.

get_transactionC

Get transaction details

Inputs: txid (required).

pay_invoiceC

Pay a Lightning invoice

Inputs: invoice (required).

validate_addressC

Validate a Bitcoin address

Inputs: address (required).

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.5/5.0

    Scored across 7 tools

    Disambiguation5/5

    Each tool has a clearly distinct purpose targeting specific resources and actions in the Bitcoin/Lightning domain. For example, decode_invoice and pay_invoice handle Lightning payments, while decode_tx and get_transaction handle Bitcoin transactions, with no overlapping functionality that would cause confusion.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun pattern using snake_case, such as decode_invoice, generate_key, and validate_address. This uniformity makes the tool set predictable and easy to understand for agents.

    Tool Count5/5

    With 7 tools, the server is well-scoped for its purpose of Bitcoin and Lightning operations. Each tool serves a specific, necessary function without redundancy, making the count appropriate for the domain's core needs.

    Completeness4/5

    The tool set covers key operations like decoding, generating, validating, and paying, but there are minor gaps such as creating invoices or managing wallet balances. However, agents can still perform essential workflows with the provided tools.

    Maintenance

    ActivityMaintained
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      A
      maintenance
      A unified Model Context Protocol server that aggregates multiple MCP servers into one, allowing AI assistants like Claude Desktop, Cursor, and Cherry Studio to connect to a single server instead of managing multiple instances.
      990 npm
      530
      Apache 2.0
    • F
      license
      Not graded
      quality
      D
      maintenance
      A Model Context Protocol server that bridges MCP clients with local LLM services, enabling seamless integration with MCP-compatible applications through standard tools like chat completion, model listing, and health checks.
      -