1. Conduid
  2. Automation
  3. JamesANZ/cross-llm-mcp
MCP server · Automation

JamesANZ/cross-llm-mcp

A Model Context Protocol (MCP) server that provides access to multiple Large Language Model (LLM) APIs including ChatGPT, Claude, Gemini, Mistral, Kimi K2, and DeepSeek.

66Good

Scored 3 hours ago · breakdown

About JamesANZ/cross-llm-mcp

JamesANZ/cross-llm-mcp is an MCP server published by JamesANZ in the Automation category: a Model Context Protocol (MCP) server that provides access to multiple Large Language Model (LLM) APIs including ChatGPT, Claude, Gemini, Mistral, Kimi K2, and DeepSeek.

The repository has 16 stars and 6 forks, with the last commit 2 days ago. Recent commit activity is the strongest signal that reported issues will get attention.

Install

From source
git clone https://github.com/JamesANZ/cross-llm-mcp

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Tools (23)

call-all-llmsCall all available LLM APIs (ChatGPT, Claude, DeepSeek, Gemini, Grok, Kimi, Perplexity, Mistral, Hugging Face) with the same prompt and get combined responses

Parameters not published.

call-chatgptCall OpenAI

Parameters not published.

call-claudeCall Anthropic

Parameters not published.

call-deepseekCall DeepSeek API with a prompt

Parameters not published.

call-geminiCall Google

Parameters not published.

call-grokCall xAI

Parameters not published.

call-huggingfaceCall Hugging Face Inference Router (OpenAI-compatible chat completions) with a prompt

Parameters not published.

call-kimiCall Moonshot AI

Parameters not published.

call-llmCall a specific LLM provider by name

Parameters not published.

call-mistralCall Mistral AI

Parameters not published.

Show all 23 tools
call-perplexityCall Perplexity AI

Parameters not published.

cancel-async-jobCancel a pending or processing async job

Parameters not published.

clear-prompt-historyClear all prompt log entries

Parameters not published.

delete-prompt-entriesDelete prompt log entries matching specified criteria

Parameters not published.

get-async-job-resultGet the status and result of an async LLM job by job ID

Parameters not published.

get-model-registry-infoGet information about the model registry including the last updated timestamp

Parameters not published.

get-models-by-tagGet all models matching a specific tag (coding, business, reasoning, math, creative, general)

Parameters not published.

get-prompt-historyGet history of prompts sent to LLMs with optional filters

Parameters not published.

get-prompt-statsGet statistics about prompt logs (total entries, by provider, by model, token usage, etc.)

Parameters not published.

get-user-preferencesGet current user preferences including default model and cost preference

Parameters not published.

list-async-jobsList async jobs with optional filters (status, provider, limit)

Parameters not published.

set-user-preferencesSet user preferences for default model, cost preference, and tag-based model preferences (e.g., use deepseek for coding questions, chatgpt for general queries)

Parameters not published.

submit-llm-request-asyncSubmit an LLM request to be processed asynchronously. Returns a job ID immediately that can be used to poll for results later.

Parameters not published.

Ask AI

✦

Ask AI about JamesANZ/cross-llm-mcp

Powered by Claude · Grounded in docs

I know everything about JamesANZ/cross-llm-mcp. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

Static checks derived from the repository 3 hours ago. Heuristics on the source, not an audit.

  • ✓README presentThe repository ships documentation.
  • ✓License declaredUsable under a stated license.
  • !Tests presentNo tests found. Behaviour changes may go unnoticed between versions.
  • ✓Dependencies pinnedA lockfile pins dependency versions.
  • ✓No dynamic code executionSource scan found no eval, dynamic Function, or shell execution.
  • !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.

README

🤖 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

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

README fetched from the repository 3 hours ago. The original is authoritative.

Questions

About JamesANZ/cross-llm-mcp

How do I install JamesANZ/cross-llm-mcp?

No package has been published for this server, so install it from source: clone the repository and follow its README.

Is JamesANZ/cross-llm-mcp safe to use with an AI agent?

Its trust score is 66 out of 100 (good). It passes 4 of the 6 static security checks run so far; the failures are listed above. It has no ConduID identity yet, so agent calls to it are not receipted.

Is JamesANZ/cross-llm-mcp still maintained?

Yes — the last commit was 2 days ago. The repository has 16 stars and 6 forks.