外部专家模型代理服务器

MCP外部专家服务器允许主LLM通过API(Ollama、OpenAI兼容)将子任务委托给外部专家模型,适用于需要规划、评审或推理辅助的场景。

  • by jhstatewide
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 jhstatewide/mcp-external-expert-server

使用说明

MCP外部专家服务器

MCP(模型上下文协议)服务器,允许主LLM通过API(Ollama,OpenAI兼容)将子任务委托给外部专家模型。

把它想象成“给朋友打电话”——当主要模型在规划、批评或推理方面需要帮助时,它可以打电话给外部专家模型寻求帮助。

安装

从以下位置安装 npmjs.com:

npm install -g mcp-external-expert

就是这样!该包已准备好使用。

目的

此服务器支持:

  • 初级LLM(如Qwen3 Coder、Claude、GPT-4等)将规划、评论、测试和解释任务委托给外部专家模型
  • 避免主服务器上的卸载/缓存丢失 llama-server
  • 支持路由到Ollama或OpenAI兼容端点
  • 可通过环境变量进行配置
  • 支持STDIO(用于桌面工具)和HTTP(用于远程/共享使用)

运作原理

配置

服务器可以通过环境变量进行配置,可以是:

  • 环境变量 (设置在您的shell或系统中)
  • .env 文件 (建议用于本地开发-自动加载)

使用.env文件(推荐)

  1. 复制示例文件:

    cp .env.example .env
    
  2. 编辑 .env 使用您的设置:

    DELEGATE_PROVIDER=ollama
    DELEGATE_BASE_URL=http://localhost:11434
    DELEGATE_MODEL=qwen2.5:14b-instruct
    DELEGATE_API_KEY=your-api-key-here
    

这 .env 文件被gitignored,将不会提交到版本控制中。

环境变量

提供者选择

# In .env file or as environment variables:
DELEGATE_PROVIDER=ollama | openai_compat
DELEGATE_BASE_URL=http://host:port
DELEGATE_MODEL=model-name

仅兼容OpenAI

# In .env file or as environment variables:
DELEGATE_API_KEY=sk-...
DELEGATE_OPENAI_PATH=/v1/chat/completions

行为

# Timeout for API calls in milliseconds (default: 60000 = 60 seconds)
# Increase this if your Ollama server is slow (e.g., 300000 for 5 minutes)
DELEGATE_TIMEOUT_MS=60000
DELEGATE_MAX_TOKENS=800
DELEGATE_TEMPERATURE=0.2

可选的每模式系统提示

DELEGATE_SYSTEM_PLAN="..."
DELEGATE_SYSTEM_CRITIC="..."
DELEGATE_SYSTEM_TESTS="..."
DELEGATE_SYSTEM_EXPLAIN="..."

MCP传输切换

MCP_HTTP=true
MCP_HTTP_PORT=3333
MCP_STDIO=true   # default

用法

发展

对于本地开发,克隆存储库并安装依赖项:

git clone <repository-url>
cd mcp-external-expert-server
npm install
npm run dev

生产

npm run build
npm start

测试

# Run tests
npm test

# Run tests in watch mode
npm run test:watch

# Run tests with coverage
npm run test:coverage

示例运行

使用.env文件(推荐)

  1. 创建 .env 使用您的配置文件:

    cp .env.example .env
    # Edit .env with your settings
    
  2. 运行服务器:

    npm start
    

使用环境变量

奥利玛助手(遥控箱)

DELEGATE_PROVIDER=ollama \
DELEGATE_BASE_URL=http://ollama-box:11434 \
DELEGATE_MODEL=qwen2.5:14b-instruct \
npm start

llama-server OpenAI API

DELEGATE_PROVIDER=openai_compat \
DELEGATE_BASE_URL=http://localhost:8080 \
DELEGATE_MODEL=qwen2.5:14b-instruct \
DELEGATE_API_KEY="" \
npm start

启用HTTP MCP

MCP_HTTP=true MCP_HTTP_PORT=3333 npm start

注: 在命令行上设置的环境变量将覆盖中的值 .env 文件夹。

暴露的MCP工具

工具: delegate

将子任务委托给外部专家模型。

输入架构:

{
  "mode": "plan | review | challenge | explain | tests",
  "input": "string (required)",
  "context": "string (optional)",
  "maxChars": "number (optional, default 12000)"
}

模式:

  • plan → 分步计划+假设+风险
  • review → 代码审查-识别错误、质量问题,并提供修复(特定于代码)
  • challenge → 魔鬼代言人-挑战想法,发现任何概念/提案中的缺陷(一般)
  • tests → 测试清单+边缘案例
  • explain → 简明说明

支持的提供商

1.奥利玛(推荐)

  • 在单独的机器上为辅助模型保暖
  • 无身份验证复杂性
  • 对主llama.cpp缓存没有影响

使用: POST /api/chat

2.与OpenAI兼容的端点

适用于:

  • 开放人工智能
  • llama服务器(--api)
  • 文学硕士
  • vLLM OpenAI垫片

使用: POST /v1/chat/completions

运输方式

STDIO(默认)

使用人:

  • 光标
  • 鹅桌面
  • 克劳德桌面版
  • 其他MCP桌面工具

JSON-RPC通过标准输入/标准输出。

HTTP MCP(可选)

  • 长时间运行的服务器
  • 跨机器共享
  • 让助手模型保持热度
  • 支持常规HTTP POST和SSE(服务器发送事件)流
  • 为基于web的客户端(MCP Inspector等)启用CORS

终点:

  • POST /mcp -主MCP端点(JSON-RPC)
  • GET/POST /sse -SSE流媒体端点
  • GET/POST /mcp -还支持SSE流媒体

这是 基于HTTP的MCP 使用Streamable HTTP传输规范,该规范支持:

  • 常规HTTP POST请求(JSON-RPC)
  • SSE(服务器发送事件)用于流式响应
  • 基于浏览器的客户端的CORS标头
  • 与MCP Inspector、Goose Desktop、Cursor和其他MCP客户端兼容

安全须知

  • HTTP模式应仅限于局域网或在身份验证之后
  • 委托提示可能包含敏感代码
  • 默认情况下,STDIO模式最安全
  • 输入中的秘密会自动编辑

设计说明

  • 助手模型 不得 递归调用工具
  • 辅助模型输出以纯文本形式返回
  • 主要模型决定 当 委派(比如需要帮助时“给朋友打电话”)
  • 应谨慎使用授权(计划、批评、验证)
  • 这避免了主推理主机上的KV缓存被驱逐
  • 辅助模型是完全隔离的——它只看到主模型显式传递给它的内容