返回市场
MCP代理服务器

MCP代理服务器

作者:fkesheh5 星标更新:2025-08-14

项目介绍

MCP Agent Server

一个模型上下文协议(MCP)中心,无缝连接AI客户端与智能代理,实现跨多个AI生态系统强大的跨平台通信。

概述

MCP Agent Server 在 MCP 兼容客户端(如 Claude Desktop、VS Code、Cursor 等)和专用AI代理之间建立桥梁。它使您能够:

  • 创建并配置具有不同能力的多个专用代理
  • 将这些代理连接到您的MCP客户端
  • 组合代理以创建主代理,用于复杂的工作流程
  • 使用高级功能构建AI应用程序

该项目利用了 mcp-ai-agent 框架来简化代理的创建和管理。

特性

  • 多代理支持:创建和管理不同的专用代理
  • 代理组合:将专用代理组合成主代理
  • 自定义工具集成:创建自己的工具或使用现有的MCP服务器
  • 预配置服务器:轻松访问流行的MCP服务器,如顺序思维、勇敢搜索和记忆
  • AI SDK集成:支持17个以上的LLM提供商,包括OpenAI、Anthropic、Google(生成式AI及Vertex)、Amazon Bedrock、Azure、Cohere、Mistral、Fireworks、Groq、Perplexity、Together AI、xAI、DeepSeek、Cerebras、DeepInfra和Replicate通过Vercel AI SDK v5

前提条件

  • 安装Node.js(v16+)
  • 所选AI模型提供商的API密钥(OpenAI、Anthropic、Google等)
  • 使用特定MCP服务器所需的任何API密钥

安装

选项1:使用npx(推荐)

您可以直接使用npx运行MCP Agent Server,无需安装:

# 使用默认配置启动服务器
npx mcp-agent-server

# 使用自定义配置启动
npx mcp-agent-server --config my-config.json

# 测试代理
npx mcp-agent-server test-agent --name "顺序思考者" --prompt "2+2等于多少?"

选项2:全局安装

全局安装以便在任何地方使用mcp-agent-server命令:

npm install -g mcp-agent-server

# 然后使用它
mcp-agent-server --config my-config.json

选项3:本地开发

  1. 克隆仓库:

    git clone <repository-url>
    cd mcp-agent-server
    
  2. 安装依赖项:

    npm install
    
  3. 构建项目:

    npm run build
    

配置

配置您的代理

MCP Agent Server现在使用基于JSON的配置进行更简单的管理和部署。您可以在项目根目录中创建一个名为my-agents-config.json的个性化代理配置文件。如果存在,服务器会自动检测并使用此文件。

要创建自定义配置:

  1. 在项目根目录中创建一个名为my-agents-config.json的新文件
  2. 使用JSON格式定义您的代理及其工具、模型和配置
  3. 服务器将自动加载并使用您的配置

JSON配置模式

这是一个自定义代理配置的例子:

{
  "version": "1.0.0",
  "agents": [
    {
      "name": "代码上下文代理",
      "description": "使用此代理分析和理解项目中的代码",
      "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": "网络搜索代理",
      "description": "使用此代理搜索网络",
      "systemPrompt": "优先使用勇敢搜索来搜索网络信息。",
      "model": {
        "provider": "anthropic",
        "model": "claude-3-5-haiku-20241022"
      },
      "toolsConfigs": [
        {
          "prebuilt": "sequentialThinking"
        },
        {
          "prebuilt": "braveSearch"
        }
      ]
    },
    {
      "name": "主代理",
      "description": "可以管理其他代理的代理",
      "model": {
        "provider": "openai",
        "model": "gpt-4o-mini"
      },
      "toolsConfigs": [
        {
          "agentRef": "代码上下文代理"
        },
        {
          "agentRef": "网络搜索代理"
        }
      ]
    }
  ]
}

配置选项

模型配置

  • provider:使用的AI提供商。支持的提供商包括:
    • "openai" - OpenAI模型(GPT-4、GPT-4o等)
    • "anthropic" - Anthropic Claude模型
    • "google" - Google生成式AI(Gemini模型)
    • "vertex" - Google Vertex AI
    • "bedrock" - Amazon Bedrock
    • "azure" - Azure OpenAI服务
    • "cohere" - Cohere模型
    • "mistral" - Mistral AI模型
    • "fireworks" - Fireworks AI
    • "groq" - Groq(超快速推理)
    • "perplexity" - Perplexity AI
    • "togetherai" - Together AI
    • "xai" - xAI(Grok模型)
    • "deepseek" - DeepSeek模型
    • "cerebras" - Cerebras推理
    • "deepinfra" - DeepInfra
    • "replicate" - Replicate(开源模型)
  • model:具体的模型名称(例如,"gpt-4o-mini""claude-3-5-haiku-20241022""gemini-2.0-flash-exp"
  • apiKey:(可选)提供商的API密钥。也可以通过环境变量设置

工具配置类型

  1. 预构建服务器(推荐):

    {
      "prebuilt": "sequentialThinking"
    }
    

    可用的预构建服务器:sequentialThinkingmemorybraveSearchfirecrawlMcpfetchawsKbRetrievaleverartfileSystemsqlite

  2. 自定义MCP服务器

    {
      "mcpServers": {
        "serverName": {
          "command": "node",
          "args": ["/path/to/server.js"],
          "env": {
            "API_KEY": "your-api-key"
          }
        }
      }
    }
    
  3. 代理引用(用于主代理):

    {
      "agentRef": "其他代理名称"
    }
    
  4. 导入代理(用于使用外部代理文件):

    {
      "type": "import",
      "importPath": "/path/to/your/agent-file.js",
      "exportName": "createResearchAgent",
      "factoryArgs": {
        "modelProvider": "anthropic",
        "modelName": "claude-3-5-haiku-20241022",
        "includeMemory": true
      }
    }
    

    这允许您从使用mcp-ai-agent库创建的TypeScript/JavaScript文件中导入代理。导入的文件可以导出:

    • 预配置的代理实例
    • 创建代理的工厂函数(可选参数)
    • 复杂初始化的异步工厂函数

选择性代理暴露

您可以控制哪些代理暴露给MCP客户端,使用每个代理上的expose布尔字段。这在您想要有仅内部使用的辅助代理时非常有用:

{
  "version": "1.0.0",
  "agents": [
    {
      "name": "网络搜索助手",
      "description": "内部网络搜索能力",
      "model": { "provider": "openai", "model": "gpt-4o-mini" },
      "toolsConfigs": [{ "prebuilt": "braveSearch" }],
      "expose": false
    },
    {
      "name": "主助理",
      "description": "带有网络搜索功能的面向公众的助理",
      "model": {
        "provider": "anthropic",
        "model": "claude-3-5-haiku-20241022"
      },
      "toolsConfigs": [
        { "prebuilt": "sequentialThinking" },
        { "agentRef": "网络搜索助手" }
      ],
      "expose": true
    }
  ]
}
  • expose: true(默认):代理作为工具在MCP客户端可用
  • expose: false:代理仅对其他代理内部可用

指定配置文件

您可以使用--config参数指定自定义配置文件:

# 使用CLI
npm run test-agent -- --config="path/to/config.json" --name="代理名称" --prompt="测试提示"

# 启动服务器时(支持多种格式)
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

您可以根据需要添加尽可能多的专用代理,例如:

  • 代码分析代理
  • 开发环境代理
  • 知识库代理(Obsidian等)
  • 项目管理代理(Jira等)
  • Google Drive/Workspace代理
  • 网络搜索代理
  • 设计工具代理(Figma等)

重要:在创建或更新自定义配置后,请记住:

  1. 运行npm run build以重新构建项目
  2. 重启您的MCP客户端以应用更改

默认配置

服务器自带默认的agents-config.json,其中包括:

  1. 顺序思维代理:用于解决复杂问题
  2. 勇敢搜索代理:用于网络搜索
  3. 记忆代理:用于存储和检索信息
  4. 主代理:结合多个代理

重要:在更改代理配置后,请记住:

  1. 运行npm run build以重新构建项目
  2. 重启您的Claude客户端以应用更改
  3. 在Windows上,您可能需要使用任务管理器(Ctrl+Alt+Del)完全关闭Claude,因为它可能会在后台继续运行

示例代理配置

{
  "version": "1.0.0",
  "agents": [
    {
      "name": "顺序思考者",
      "description": "使用此代理进行顺序思考并解决复杂问题",
      "model": {
        "provider": "openai",
        "model": "gpt-4o-mini"
      },
      "toolsConfigs": [
        {
          "mcpServers": {
            "sequentialThinking": {
              "command": "npx",
              "args": ["-y", "@modelcontextprotocol/server-sequential-thinking"]
            }
          }
        }
      ]
    },
    {
      "name": "Claude助手",
      "description": "使用Claude功能的强大AI助手",
      "model": {
        "provider": "anthropic",
        "model": "claude-3-5-sonnet-20241022"
      },
      "toolsConfigs": [
        {
          "mcpServers": {
            "memory": {
              "command": "npx",
              "args": ["-y", "@modelcontextprotocol/server-memory"]
            }
          }
        }
      ]
    },
    {
      "name": "主代理",
      "description": "可以管理其他代理的代理",
      "model": {
        "provider": "openai",
        "model": "gpt-4o-mini"
      },
      "toolsConfigs": [
        {
          "agentRef": "顺序思考者"
        },
        {
          "agentRef": "记忆代理"
        },
        {
          "agentRef": "勇敢搜索代理"
        }
      ]
    }
  ]
}

注意:mcp-ai-agent框架通过AI SDK支持各种AI模型。您可以使用来自OpenAI、Anthropic、Google生成式AI、Mistral、Groq等提供商的模型。查看AI SDK提供商文档以获取完整的支持模型及其功能列表。

连接到MCP客户端

将MCP Agent Server添加到您的MCP客户端配置中:

Claude Desktop

编辑您的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客户端以应用更改
  2. 在Windows上,您可能需要使用任务管理器(Ctrl+Alt+Del)完全关闭Claude,因为它可能会在后台继续运行

VS Code / Cursor / 其他MCP客户端

按照特定客户端的说明添加MCP服务器,使用:

  • 命令node
  • 参数["/full/path/to/mcp-agent-server/dist/index.js"]

使用您的代理

一旦配置完成,您的代理将在MCP客户端中显示为工具。例如,在Claude Desktop中,您可以这样使用它们:

  1. 输入/以查看可用工具
  2. 选择一个已配置的代理
  3. 根据提示提供上下文和具体任务

高级配置

自定义工具

对于自定义功能,您有几个选项:

  1. 使用预构建服务器(推荐):从可用的预构建服务器中选择,如sequentialThinkingmemorybraveSearchfetch等。

  2. 创建自定义MCP服务器:构建自己的MCP服务器并集成:

{
  "name": "计算器代理",
  "description": "具有自定义数学运算的计算器代理",
  "model": {
    "provider": "openai",
    "model": "gpt-4o-mini"
  },
  "toolsConfigs": [
    {
      "mcpServers": {
        "calculator": {
          "command": "node",
          "args": ["/path/to/your/calculator-mcp-server.js"]
        }
      }
    }
  ]
}
  1. 混合多个预构建服务器:组合现有服务器以实现复杂功能:
{
  "name": "多功能代理",
  "description": "具有多种功能的代理",
  "model": {
    "provider": "anthropic",
    "model": "claude-3-5-haiku-20241022"
  },
  "toolsConfigs": [
    {
      "prebuilt": "sequentialThinking"
    },
    {
      "prebuilt": "memory"
    },
    {
      "prebuilt": "fetch"
    }
  ]
}

导入外部代理

您可以从外部文件导入代理。参见示例:@fkesheh/mcp-ai-agent-example/exportable-agent.ts

1. 创建代理文件

// my-agent.ts
import { AIAgent, Servers } from "mcp-ai-agent";
import { openai } from "@ai-sdk/openai";

export const myAgent = new AIAgent({
  name: "我的自定义代理",
  description: "一个自定义代理",
  model: openai("gpt-4o-mini"),
  toolsConfigs: [Servers.sequentialThinking],
});

2. 编译为JavaScript

npx tsc  # 在dist/文件夹中创建my-agent.js

3. 在配置中使用

{
  "type": "import",
  "importPath": "/full/path/to/dist/my-agent.js",
  "exportName": "myAgent"
}

重要:始终使用编译后的.js文件的绝对路径。

使用MCP服务器

mcp-ai-agent框架支持各种MCP服务器:

  • 顺序思维:用于分解复杂问题
  • 记忆:用于持久存储信息
  • 勇敢搜索:用于网络搜索
  • 以及更多...

故障排除

  • 如果代理无法初始化,请检查MCP服务器是否正确配置
  • 对于“npx”命令,确保需要时指定了完整路径
  • 验证所有必需的API密钥是否在环境中可用
  • 检查MCP客户端是否正确配置为使用MCP Agent Server

开发

  1. 修改TypeScript文件
  2. 使用npm run build重新构建
  3. 重启您的M