Skip to main content
Glama
sjquant
by sjquant

LLM 桥梁 MCP

铁匠徽章

LLM Bridge MCP 允许 AI 代理通过标准化接口与多个大型语言模型进行交互。它利用消息控制协议 (MCP) 无缝访问不同的 LLM 提供程序,从而轻松在模型之间切换或在同一应用程序中使用多个模型。

特征

  • 多个 LLM 提供商的统一接口:

    • OpenAI(GPT 模型)

    • 人类学(克劳德模型)

    • 谷歌(Gemini 型号)

    • DeepSeek

    • ...

  • 使用 Pydantic AI 构建,用于类型安全和验证

  • 支持可定制的参数,如温度和最大令牌

  • 提供使用情况跟踪和指标

Related MCP server: MindBridge MCP Server

工具

服务器实现了以下工具:

run_llm(
    prompt: str,
    model_name: KnownModelName = "openai:gpt-4o-mini",
    temperature: float = 0.7,
    max_tokens: int = 8192,
    system_prompt: str = "",
) -> LLMResponse
  • prompt :发送给 LLM 的文本提示

  • model_name :要使用的特定模型(默认值:“openai:gpt-4o-mini”)

  • temperature :控制随机性(0.0 到 1.0)

  • max_tokens :要生成的最大令牌数

  • system_prompt :可选的系统提示,用于指导模型的行为

安装

通过 Smithery 安装

要通过Smithery自动为 Claude Desktop 安装 llm-bridge-mcp:

npx -y @smithery/cli install @sjquant/llm-bridge-mcp --client claude

手动安装

  1. 克隆存储库:

git clone https://github.com/yourusername/llm-bridge-mcp.git
cd llm-bridge-mcp
  1. 安装uv (如果尚未安装):

# On macOS
brew install uv

# On Linux
curl -LsSf https://astral.sh/uv/install.sh | sh

# On Windows
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

配置

使用您的 API 密钥在根目录中创建一个.env文件:

OPENAI_API_KEY=your_openai_api_key
ANTHROPIC_API_KEY=your_anthropic_api_key
GOOGLE_API_KEY=your_google_api_key
DEEPSEEK_API_KEY=your_deepseek_api_key

用法

与 Claude Desktop 或 Cursor 一起使用

将服务器条目添加到您的 Claude Desktop 配置文件或.cursor/mcp.json :

"mcpServers": {
  "llm-bridge": {
    "command": "uvx",
    "args": [
      "llm-bridge-mcp"
    ],
    "env": {
      "OPENAI_API_KEY": "your_openai_api_key",
      "ANTHROPIC_API_KEY": "your_anthropic_api_key",
      "GOOGLE_API_KEY": "your_google_api_key",
      "DEEPSEEK_API_KEY": "your_deepseek_api_key"
    }
  }
}

故障排除

常见问题

1. “spawn uvx ENOENT”错误

当系统在 PATH 中找不到uvx可执行文件时,就会发生此错误。解决方法如下:

解决方案:使用 uvx 的完整路径

找到 uvx 可执行文件的完整路径:

# On macOS/Linux
which uvx

# On Windows
where.exe uvx

然后更新您的 MCP 服务器配置以使用完整路径:

"mcpServers": {
  "llm-bridge": {
    "command": "/full/path/to/uvx",  // Replace with your actual path
    "args": [
      "llm-bridge-mcp"
    ],
    "env": {
      // ... your environment variables
    }
  }
}

执照

该项目根据 MIT 许可证获得许可 - 有关详细信息,请参阅 LICENSE 文件。

Available Tools

1 tool
run_llmB

Run a prompt through an LLM and return the response.

ParametersJSON Schema
NameRequiredDescriptionDefault
promptYes
model_nameNoSpecific model name. Available models: anthropic:claude-3-7-sonnet-latest, anthropic:claude-3-5-haiku-latest, anthropic:claude-3-5-sonnet-latest, anthropic:claude-3-opus-latest, claude-3-7-sonnet-latest, claude-3-5-haiku-latest, bedrock:amazon.titan-tg1-large, bedrock:amazon.titan-text-lite-v1, bedrock:amazon.titan-text-express-v1, bedrock:us.amazon.nova-pro-v1:0, bedrock:us.amazon.nova-lite-v1:0, bedrock:us.amazon.nova-micro-v1:0, bedrock:anthropic.claude-3-5-sonnet-20241022-v2:0, bedrock:us.anthropic.claude-3-5-sonnet-20241022-v2:0, bedrock:anthropic.claude-3-5-haiku-20241022-v1:0, bedrock:us.anthropic.claude-3-5-haiku-20241022-v1:0, bedrock:anthropic.claude-instant-v1, bedrock:anthropic.claude-v2:1, bedrock:anthropic.claude-v2, bedrock:anthropic.claude-3-sonnet-20240229-v1:0, bedrock:us.anthropic.claude-3-sonnet-20240229-v1:0, bedrock:anthropic.claude-3-haiku-20240307-v1:0, bedrock:us.anthropic.claude-3-haiku-20240307-v1:0, bedrock:anthropic.claude-3-opus-20240229-v1:0, bedrock:us.anthropic.claude-3-opus-20240229-v1:0, bedrock:anthropic.claude-3-5-sonnet-20240620-v1:0, bedrock:us.anthropic.claude-3-5-sonnet-20240620-v1:0, bedrock:anthropic.claude-3-7-sonnet-20250219-v1:0, bedrock:us.anthropic.claude-3-7-sonnet-20250219-v1:0, bedrock:cohere.command-text-v14, bedrock:cohere.command-r-v1:0, bedrock:cohere.command-r-plus-v1:0, bedrock:cohere.command-light-text-v14, bedrock:meta.llama3-8b-instruct-v1:0, bedrock:meta.llama3-70b-instruct-v1:0, bedrock:meta.llama3-1-8b-instruct-v1:0, bedrock:us.meta.llama3-1-8b-instruct-v1:0, bedrock:meta.llama3-1-70b-instruct-v1:0, bedrock:us.meta.llama3-1-70b-instruct-v1:0, bedrock:meta.llama3-1-405b-instruct-v1:0, bedrock:us.meta.llama3-2-11b-instruct-v1:0, bedrock:us.meta.llama3-2-90b-instruct-v1:0, bedrock:us.meta.llama3-2-1b-instruct-v1:0, bedrock:us.meta.llama3-2-3b-instruct-v1:0, bedrock:us.meta.llama3-3-70b-instruct-v1:0, bedrock:mistral.mistral-7b-instruct-v0:2, bedrock:mistral.mixtral-8x7b-instruct-v0:1, bedrock:mistral.mistral-large-2402-v1:0, bedrock:mistral.mistral-large-2407-v1:0, claude-3-5-sonnet-latest, claude-3-opus-latest, cohere:c4ai-aya-expanse-32b, cohere:c4ai-aya-expanse-8b, cohere:command, cohere:command-light, cohere:command-light-nightly, cohere:command-nightly, cohere:command-r, cohere:command-r-03-2024, cohere:command-r-08-2024, cohere:command-r-plus, cohere:command-r-plus-04-2024, cohere:command-r-plus-08-2024, cohere:command-r7b-12-2024, deepseek:deepseek-chat, deepseek:deepseek-reasoner, google-gla:gemini-1.0-pro, google-gla:gemini-1.5-flash, google-gla:gemini-1.5-flash-8b, google-gla:gemini-1.5-pro, google-gla:gemini-2.0-flash-exp, google-gla:gemini-2.0-flash-thinking-exp-01-21, google-gla:gemini-exp-1206, google-gla:gemini-2.0-flash, google-gla:gemini-2.0-flash-lite-preview-02-05, google-gla:gemini-2.0-pro-exp-02-05, google-vertex:gemini-1.0-pro, google-vertex:gemini-1.5-flash, google-vertex:gemini-1.5-flash-8b, google-vertex:gemini-1.5-pro, google-vertex:gemini-2.0-flash-exp, google-vertex:gemini-2.0-flash-thinking-exp-01-21, google-vertex:gemini-exp-1206, google-vertex:gemini-2.0-flash, google-vertex:gemini-2.0-flash-lite-preview-02-05, google-vertex:gemini-2.0-pro-exp-02-05, gpt-3.5-turbo, gpt-3.5-turbo-0125, gpt-3.5-turbo-0301, gpt-3.5-turbo-0613, gpt-3.5-turbo-1106, gpt-3.5-turbo-16k, gpt-3.5-turbo-16k-0613, gpt-4, gpt-4-0125-preview, gpt-4-0314, gpt-4-0613, gpt-4-1106-preview, gpt-4-32k, gpt-4-32k-0314, gpt-4-32k-0613, gpt-4-turbo, gpt-4-turbo-2024-04-09, gpt-4-turbo-preview, gpt-4-vision-preview, gpt-4.5-preview, gpt-4.5-preview-2025-02-27, gpt-4o, gpt-4o-2024-05-13, gpt-4o-2024-08-06, gpt-4o-2024-11-20, gpt-4o-audio-preview, gpt-4o-audio-preview-2024-10-01, gpt-4o-audio-preview-2024-12-17, gpt-4o-mini, gpt-4o-mini-2024-07-18, gpt-4o-mini-audio-preview, gpt-4o-mini-audio-preview-2024-12-17, groq:gemma2-9b-it, groq:llama-3.1-8b-instant, groq:llama-3.2-11b-vision-preview, groq:llama-3.2-1b-preview, groq:llama-3.2-3b-preview, groq:llama-3.2-90b-vision-preview, groq:llama-3.3-70b-specdec, groq:llama-3.3-70b-versatile, groq:llama3-70b-8192, groq:llama3-8b-8192, groq:mixtral-8x7b-32768, mistral:codestral-latest, mistral:mistral-large-latest, mistral:mistral-moderation-latest, mistral:mistral-small-latest, o1, o1-2024-12-17, o1-mini, o1-mini-2024-09-12, o1-preview, o1-preview-2024-09-12, o3-mini, o3-mini-2025-01-31, openai:chatgpt-4o-latest, openai:gpt-3.5-turbo, openai:gpt-3.5-turbo-0125, openai:gpt-3.5-turbo-0301, openai:gpt-3.5-turbo-0613, openai:gpt-3.5-turbo-1106, openai:gpt-3.5-turbo-16k, openai:gpt-3.5-turbo-16k-0613, openai:gpt-4, openai:gpt-4-0125-preview, openai:gpt-4-0314, openai:gpt-4-0613, openai:gpt-4-1106-preview, openai:gpt-4-32k, openai:gpt-4-32k-0314, openai:gpt-4-32k-0613, openai:gpt-4-turbo, openai:gpt-4-turbo-2024-04-09, openai:gpt-4-turbo-preview, openai:gpt-4-vision-preview, openai:gpt-4.5-preview, openai:gpt-4.5-preview-2025-02-27, openai:gpt-4o, openai:gpt-4o-2024-05-13, openai:gpt-4o-2024-08-06, openai:gpt-4o-2024-11-20, openai:gpt-4o-audio-preview, openai:gpt-4o-audio-preview-2024-10-01, openai:gpt-4o-audio-preview-2024-12-17, openai:gpt-4o-mini, openai:gpt-4o-mini-2024-07-18, openai:gpt-4o-mini-audio-preview, openai:gpt-4o-mini-audio-preview-2024-12-17, openai:o1, openai:o1-2024-12-17, openai:o1-mini, openai:o1-mini-2024-09-12, openai:o1-preview, openai:o1-preview-2024-09-12, openai:o3-mini, openai:o3-mini-2025-01-31, testopenai:gpt-4o-mini
temperatureNoControls randomness (0.0 to 1.0)
max_tokensNoMaximum number of tokens to generate
system_promptNoOptional system prompt to guide the model's behavior

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden for behavioral transparency. It fails to mention important traits like streaming, cost, latency, or error handling, leaving the agent uninformed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is one concise sentence, front-loading the action. It is not verbose, but it omits critical details, so it is not a perfect 5.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 5 parameters, no output schema, and no annotations, the description is incomplete. It does not describe return values, optional parameters, or implications of choices like model or temperature.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 80%, so the burden on the description is lower. However, the description adds no value beyond the schema—it does not explain any parameter semantics, so a baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('run a prompt') and the resource ('LLM'), with the purpose of getting a response. It is specific and not a tautology.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. Since there are no sibling tools, the lack is less critical, but the description still offers no usage context or preconditions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

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

  1. 1 tool updatev1.0.0
    • First observedrun_llm

TDQS

B3.2/5.0

Scored across 1 tool

Disambiguation5/5

With only one tool, there is no possibility of ambiguity. The tool's purpose is clear and distinct.

Naming Consistency5/5

A single tool means naming is trivially consistent. 'run_llm' is descriptive and follows a clear verb_noun pattern.

Tool Count2/5

One tool for an LLM bridge is far too few. Typical servers in this domain include multiple tools for model selection, streaming, or context management.

Completeness2/5

The server offers only a basic 'run' operation with no supporting tools for model listing, configuration, or advanced features, leaving significant gaps.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers