MCP代理服务器
模型上下文协议(MCP)中心,将AI客户端与智能代理无缝连接,实现跨多个AI生态系统的强大跨平台通信。
概述
MCP代理服务器在MCP兼容客户端(如Claude Desktop、VS Code、Cursor等)和专用AI代理之间建立了一座桥梁。它使您能够:
- 创建和配置多个具有不同功能的专用代理
- 将这些代理连接到您的MCP客户端
- 将代理组合成复杂工作流的主代理
- 构建具有高级功能的人工智能应用程序MCP服务器
该项目利用 mcp-ai代理人 简化代理创建和管理的框架。
特性
- 多代理支持:创建和管理不同的专业代理
- 药剂组成:将专业代理合并为主代理
- 自定义工具集成:创建自己的工具或使用现有的MCP服务器
- 预配置的服务器:轻松访问流行的MCP服务器,如顺序思维、勇敢搜索和内存
- AI SDK集成:通过Vercel AI SDK v5支持17多个LLM提供商,包括OpenAI、Anthropic、谷歌(生成式AI和顶点)、亚马逊基岩、Azure、Cohere、Mistral、Fireworks、Groq、困惑、Together AI、xAI、DeepSeek、Cerebras、DeepInfra和Replicate
先决条件
- 已安装Node.js(v16+)
- 为您选择的人工智能模型提供商(OpenAI、Anthropic、Google等)提供API密钥
- 要使用的特定MCP服务器所需的任何API密钥
安装
选项1:使用npx(推荐)
您可以直接使用npx运行MCP代理服务器,无需安装:
# Start the server with default configuration
npx mcp-agent-server
# Start with custom configuration
npx mcp-agent-server --config my-config.json
# Test an agent
npx mcp-agent-server test-agent --name "Sequential Thinker" --prompt "What is 2+2?"选项2:全局安装
全局安装以使用 mcp-agent-server 命令在任何地方:
npm install -g mcp-agent-server
# Then use it
mcp-agent-server --config my-config.json方案3:地方发展
- 克隆存储库:
git clone
cd mcp-agent-server- 安装依赖项:
npm install- 构建项目:
npm run build配置
配置您的代理
MCP代理服务器现在使用基于JSON的配置,以便于管理和部署。您可以创建一个名为的个性化代理配置文件 my-agents-config.json 在项目根中。如果此文件存在,服务器会自动检测并使用它。
要创建自定义配置,请执行以下操作:
- 创建一个名为的新文件
my-agents-config.json在项目根中 - 使用JSON格式定义代理及其工具、模型和配置
- 服务器将自动加载并使用您的配置
JSON配置模式
以下是一个自定义代理配置的示例:
{
"version": "1.0.0",
"agents": [
{
"name": "Code Context Agent",
"description": "Use this agent to analyze and understand code in your projects",
"model": {
"provider": "anthropic",
"model": "claude-3-5-haiku-20241022"
},
"toolsConfigs": [
{
"prebuilt": "sequentialThinking"
},
{
"mcpServers": {
"codeContext": {
"command": "node",
"args": ["/path/to/code-context-mcp/dist/index.js"]
}
}
}
]
},
{
"name": "Web Search Agent",
"description": "Use this agent to search the web",
"systemPrompt": "Prefer to use brave search to search the web for information.",
"model": {
"provider": "anthropic",
"model": "claude-3-5-haiku-20241022"
},
"toolsConfigs": [
{
"prebuilt": "sequentialThinking"
},
{
"prebuilt": "braveSearch"
}
]
},
{
"name": "Master Agent",
"description": "An agent that can manage other agents",
"model": {
"provider": "openai",
"model": "gpt-4o-mini"
},
"toolsConfigs": [
{
"agentRef": "Code Context Agent"
},
{
"agentRef": "Web Search Agent"
}
]
}
]
}配置选项
模型配置
- 提供者:要使用的AI提供商。支持的提供商包括:
- "openai" -OpenAI模型(GPT-4、GPT-4o等) - "anthropic" -拟人克劳德模型 - "google" -谷歌生成人工智能(Gemini模型) - "vertex" -谷歌顶点AI - "bedrock" -亚马逊基岩 - "azure" -Azure OpenAI服务 - "cohere" -Cohere模型 - "mistral" -Mistral人工智能模型 - "fireworks" -烟花AI - "groq" -Groq(超快速推理) - "perplexity" -困惑AI - "togetherai" -一起AI - "xai" -xAI(Grok车型) - "deepseek" -DeepSeek模型 - "cerebras" -大脑推理 - "deepinfra" -DeepInfra。 - "replicate" -复制(开源模型)
- 模型:特定型号名称(例如。,
"gpt-4o-mini","claude-3-5-haiku-20241022","gemini-2.0-flash-exp") - apiKey:(可选)提供程序的API密钥。也可以通过环境变量进行设置
工具配置类型
- 预构建服务器 (推荐):
{
"prebuilt": "sequentialThinking"
}可用的预构建服务器: sequentialThinking, memory, braveSearch, firecrawlMcp, fetch, awsKbRetrieval, everart, fileSystem, sqlite
- 自定义MCP服务器:
{
"mcpServers": {
"serverName": {
"command": "node",
"args": ["/path/to/server.js"],
"env": {
"API_KEY": "your-api-key"
}
}
}
}- 代理人参考 (适用于主代理):
{
"agentRef": "Other Agent Name"
}- 进口代理 (用于使用外部代理文件):
{
"type": "import",
"importPath": "/path/to/your/agent-file.js",
"exportName": "createResearchAgent",
"factoryArgs": {
"modelProvider": "anthropic",
"modelName": "claude-3-5-haiku-20241022",
"includeMemory": true
}
}这允许您从使用创建的TypeScript/JavaScript文件中导入代理 mcp-ai-agent 图书馆。导入的文件可以导出:
- 预配置的代理实例 - 创建代理的工厂函数(带可选参数) - 用于复杂初始化的异步工厂函数
选择性试剂暴露
您可以使用控制哪些代理暴露给MCP客户端 expose 每个代理上的布尔字段。当您希望拥有仅由其他代理内部使用的辅助代理时,这很有用:
{
"version": "1.0.0",
"agents": [
{
"name": "Web Search Helper",
"description": "Internal web search capabilities",
"model": { "provider": "openai", "model": "gpt-4o-mini" },
"toolsConfigs": [{ "prebuilt": "braveSearch" }],
"expose": false
},
{
"name": "Master Assistant",
"description": "Public-facing assistant with web search",
"model": {
"provider": "anthropic",
"model": "claude-3-5-haiku-20241022"
},
"toolsConfigs": [
{ "prebuilt": "sequentialThinking" },
{ "agentRef": "Web Search Helper" }
],
"expose": true
}
]
}expose: true(默认):代理在MCP客户端中可用作工具expose: false:代理仅在内部可供其他代理使用
指定配置文件
您可以使用以下命令指定自定义配置文件 --config 论点:
# Using CLI
npm run test-agent -- --config="path/to/config.json" --name="Agent Name" --prompt="Test prompt"
# When starting the server (multiple formats supported)
node dist/index.js --config=path/to/config.json
node dist/index.js -c path/to/config.json
node dist/index.js --config path/to/config.json您可以根据需要包括尽可能多的专业代理,例如:
- 代码分析代理
- 开发环境代理
- 知识库代理(黑曜石等)
- 项目管理代理(Jira等)
- Google云端硬盘/工作区代理
- 网络搜索代理
- 设计工具代理(Figma等)
重要:创建或更新自定义配置后,请记住: 1. 跑 npm run build 重建项目 1. 重新启动MCP客户端以应用更改默认配置
服务器有一个默认值 agents-config.json 其中包括:
- 顺序思维代理:用于解决复杂问题
- 勇敢的搜索代理:用于网络搜索
- 内存代理:用于存储和检索信息
- 主代理:组合多个代理
重要:更改代理配置后,请记住: 1. 跑 npm run build 重建项目 1. 重新启动Claude客户端以应用更改 1. 在Windows上,您可能需要使用任务管理器(Ctrl+Alt+Del)完全关闭Claude,因为它可以在后台继续运行代理配置示例
{
"version": "1.0.0",
"agents": [
{
"name": "Sequential Thinker",
"description": "Use this agent to think sequentially and resolve complex problems",
"model": {
"provider": "openai",
"model": "gpt-4o-mini"
},
"toolsConfigs": [
{
"mcpServers": {
"sequentialThinking": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-sequential-thinking"]
}
}
}
]
},
{
"name": "Claude Assistant",
"description": "A powerful AI assistant using Claude's capabilities",
"model": {
"provider": "anthropic",
"model": "claude-3-5-sonnet-20241022"
},
"toolsConfigs": [
{
"mcpServers": {
"memory": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-memory"]
}
}
}
]
},
{
"name": "Master Agent",
"description": "An agent that can manage other agents",
"model": {
"provider": "openai",
"model": "gpt-4o-mini"
},
"toolsConfigs": [
{
"agentRef": "Sequential Thinker"
},
{
"agentRef": "Memory Agent"
},
{
"agentRef": "Brave Search Agent"
}
]
}
]
}备注:mcp-ai代理框架通过 AI SDK。您可以使用OpenAI、Anthropic、Google Generative AI、Mistral、Groq等提供商的模型。检查 AI SDK提供商文档 查看支持的型号及其功能的完整列表。
连接到MCP客户端
将MCP代理服务器添加到MCP客户端配置中:
克劳德桌面
编辑您的 claude_desktop_config.json:
使用npx(推荐)
{
"mcpServers": {
"mcp-agent-server": {
"command": "npx",
"args": ["mcp-agent-server", "--config", "/path/to/your/config.json"]
}
}
}使用全局安装
{
"mcpServers": {
"mcp-agent-server": {
"command": "mcp-agent-server",
"args": ["--config", "/path/to/your/config.json"],
"env": {
"OPENAI_API_KEY": "your-openai-api-key",
"BRAVE_API_KEY": "your-brave-api-key",
"ANTHROPIC_API_KEY": "your-anthropic-api-key"
}
}
}
}使用本地构建
{
"mcpServers": {
"mcp-agent-server": {
"command": "node",
"args": [
"/full/path/to/mcp-agent-server/dist/index.js",
"--config",
"/path/to/your/config.json"
],
"env": {
"OPENAI_API_KEY": "your-openai-api-key",
"BRAVE_API_KEY": "your-brave-api-key",
"ANTHROPIC_API_KEY": "your-anthropic-api-key"
}
}
}
}重要:更改后 claude_desktop_config.json,记住: 1. 重新启动Claude客户端以应用更改 1. 在Windows上,您可能需要使用任务管理器(Ctrl+Alt+Del)完全关闭Claude,因为它可以在后台继续运行VS代码/光标/其他MCP客户端
按照特定客户的说明添加MCP服务器,使用:
- 命令:
node - 参数:
["/full/path/to/mcp-agent-server/dist/index.js"]
使用您的代理
配置后,您的代理将作为工具出现在MCP客户端中。例如,在Claude Desktop中,您可以通过以下方式使用它们:
- 打字
/查看可用工具 - 选择一个已配置的代理
- 按照提示提供上下文和特定任务
高级配置
自定义工具
对于自定义功能,您有几个选项:
- 使用预构建服务器 (推荐):从可用的预构建服务器中选择,如
sequentialThinking,memory,braveSearch,fetch等等。
- 创建自定义MCP服务器:构建自己的MCP服务器并将其集成:
{
"name": "Calculator Agent",
"description": "A calculator agent with custom math operations",
"model": {
"provider": "openai",
"model": "gpt-4o-mini"
},
"toolsConfigs": [
{
"mcpServers": {
"calculator": {
"command": "node",
"args": ["/path/to/your/calculator-mcp-server.js"]
}
}
}
]
}- 组合多个预构建服务器:混合搭配现有服务器以实现复杂功能:
{
"name": "Multi-Tool Agent",
"description": "An agent with multiple capabilities",
"model": {
"provider": "anthropic",
"model": "claude-3-5-haiku-20241022"
},
"toolsConfigs": [
{
"prebuilt": "sequentialThinking"
},
{
"prebuilt": "memory"
},
{
"prebuilt": "fetch"
}
]
}导入外部代理
您可以从外部文件导入代理。参见示例: @fkeshe/mcp人工智能代理示例/可出口代理ts
1.创建代理文件
// my-agent.ts
import { AIAgent, Servers } from "mcp-ai-agent";
import { openai } from "@ai-sdk/openai";
export const myAgent = new AIAgent({
name: "My Custom Agent",
description: "A custom agent",
model: openai("gpt-4o-mini"),
toolsConfigs: [Servers.sequentialThinking],
});2.基于JavaScript构建
npx tsc # Creates my-agent.js in dist/ folder3.在配置中使用
{
"type": "import",
"importPath": "/full/path/to/dist/my-agent.js",
"exportName": "myAgent"
}重要:始终使用绝对路径进行编译 .js 文件夹。
使用MCP服务器
mcp-ai代理框架支持各种mcp服务器:
- 顺序思维:用于分解复杂问题
- 内存:用于持久存储信息
- Brave Search:用于网络搜索
- 还有更多。..
故障排除
- 如果代理初始化失败,请检查MCP服务器是否配置正确
- 对于“npx”命令,如果需要,请确保指定了完整路径
- 验证您的环境中是否提供了所有必需的API密钥
- 检查MCP客户端是否正确配置为使用MCP代理服务器
发展
- 对TypeScript文件进行更改
- 重建与
npm run build - 重新启动MCP客户端以加载更改
CLI使用情况
MCP Agent Server附带了一个命令行界面(CLI),用于使用代理。
检测试剂
您可以直接从命令行测试单个代理,而无需连接到MCP客户端,这有助于调试目的。
使用npx(推荐)
npx mcp-agent-server test-agent --config="/path/to/config.json" --name="Agent Name" --prompt="Your test prompt" --context="Optional context"例如,要测试Brave搜索代理:
npx mcp-agent-server test-agent --config="./agents-config.json" --name="Brave Search" --prompt="What is the capital of France?" --context="I need geographical information"或者测试结合了多个专用代理的主代理:
npx mcp-agent-server test-agent --config="./my-agents-config.json" --name="Master Agent" --prompt="Store this information: Claude is an AI assistant by Anthropic" --context="I need to test the memory capabilities"备注:如果没有--config指定后,服务器将查找agents-config.json或my-agents-config.json在当前目录中。
利用地方发展
npm run test-agent -- --config="path/to/config.json" --name="Agent Name" --prompt="Your test prompt" --context="Optional context"或者直接运行命令:
node dist/cli.js test-agent --config="./agents-config.json" --name="Sequential Thinker" --prompt="How would I approach solving a complex math problem?"测试命令将:
- 按名称查找指定的代理
- 初始化代理
- 发送您的提示和上下文
- 显示代理的响应
这有助于:
- 测试新的代理配置
- 调试代理问题
- 在连接到MCP客户端之前验证代理功能
如果您提供的代理名称无效,test命令将列出所有可用的代理。
许可证
该项目根据MIT许可证获得许可。
