返回市场
代理DNS节点

代理DNS节点

作者:jsjfai113 星标更新:2025-10-29

项目介绍

<p align='center'> <img src='./resources/icon.png' width="150" height="150" alt="AgentDNS 图标" /> </p>

AgentDNS·Node:统一的模型上下文协议(MCP)服务器中心

English | 中文版

AgentDNS·Node 通过组织灵活的流式HTTP(SSE)端点,使管理多个MCP(模型上下文协议)服务器变得容易,支持访问所有服务器、单个服务器或逻辑服务器组。

仪表盘预览

🚀 特性

  • 扩展的MCP服务器支持:通过最小配置无缝集成任何MCP服务器。
  • 集中式仪表盘:从一个简洁的Web界面监控实时状态和性能指标。
  • 灵活的协议处理:完全兼容stdio和SSE MCP协议。
  • 热插拔配置:无需停机即可添加、移除或更新MCP服务器。
  • 基于组的访问控制:将服务器组织成可定制的组,简化权限管理。
  • 安全认证:内置用户管理,基于角色的访问由JWT和bcrypt提供支持。
  • Docker就绪:使用容器化设置即时部署。

🔧 快速开始

配置

创建一个mcp_settings.json文件来自定义您的服务器设置:

{
  "mcpServers": {
    "amap": {
      "command": "npx",
      "args": ["-y", "@amap/amap-maps-mcp-server"],
      "env": {
        "AMAP_MAPS_API_KEY": "your-api-key"
      }
    },
    "playwright": {
      "command": "npx",
      "args": ["@playwright/mcp@latest", "--headless"]
    },
    "fetch": {
      "command": "uvx",
      "args": ["mcp-server-fetch"]
    },
    "slack": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-slack"],
      "env": {
        "SLACK_BOT_TOKEN": "your-bot-token",
        "SLACK_TEAM_ID": "your-team-id"
      }
    }
  }
}

Docker部署

推荐:挂载自定义配置:

docker run -p 3000:3000 -v ./mcp_settings.json:/app/mcp_settings.json -v ./data:/app/data samanhappy/mcphub

或者使用默认设置运行:

docker run -p 3000:3000 samanhappy/mcphub

访问仪表盘

打开http://localhost:3000并使用您的凭据登录。

注意:默认凭据是admin / admin123

仪表盘概览

  • 所有MCP服务器的实时状态
  • 启用/禁用或重新配置服务器
  • 组管理以组织服务器
  • 用户管理以控制访问

流式HTTP端点

目前,对流式HTTP端点的支持在不同的AI客户端之间有所不同。如果您遇到问题,可以使用SSE端点或等待未来的更新。

通过以下方式连接AI客户端(例如Claude Desktop、Cursor、DeepChat等):

http://localhost:3000/mcp

此端点为所有MCP服务器提供了一个统一的流式HTTP接口。它允许您:

  • 发送请求到任何已配置的MCP服务器
  • 实时接收响应
  • 轻松与各种AI客户端和工具集成
  • 使用相同的端点访问所有服务器,简化集成过程

智能路由(实验性)

智能路由是AgentDNS·Node的智能工具发现系统,它使用向量语义搜索自动找到最相关的工具来完成任何给定的任务。

http://localhost:3000/mcp/$smart

工作原理

  1. 工具索引:所有MCP工具都会被自动转换为向量嵌入,并存储在带有pgvector的PostgreSQL中。
  2. 语义搜索:用户查询会被转换为向量,并使用余弦相似度与工具嵌入进行匹配。
  3. 智能过滤:动态阈值确保相关结果而无噪音。
  4. 精确执行:找到的工具可以直接执行,并进行适当的参数验证。

设置要求

智能路由

要启用智能路由,您需要:

  • 带有pgvector扩展的PostgreSQL
  • OpenAI API密钥(或其他兼容的嵌入服务)
  • 在AgentDNS·Node设置中启用智能路由

特定组的端点(推荐)

组管理

为了有针对性地访问特定的服务器组,请使用基于组的HTTP端点:

http://localhost:3000/mcp/{group}

其中,{group}是您在仪表盘中创建的组的ID或名称。这允许您:

  • 连接到按用例组织的MCP服务器子集
  • 将不同的AI工具隔离,仅访问相关的服务器
  • 对不同的环境或团队实施更细粒度的访问控制

特定服务器的端点: 为了直接访问单个服务器,请使用特定服务器的HTTP端点:

http://localhost:3000/mcp/{server}

其中,{server}是要连接的服务器名称。这允许您直接访问特定的MCP服务器。

注意:如果服务器名称和组名称相同,则组名称优先。

SSE端点(未来将弃用)

通过以下方式连接AI客户端(例如Claude Desktop、Cursor、DeepChat等):

http://localhost:3000/sse

对于智能路由,请使用:

http://localhost:3000/sse/$smart

为了有针对性地访问特定的服务器组,请使用基于组的SSE端点:

http://localhost:3000/sse/{group}

为了直接访问单个服务器,请使用特定服务器的SSE端点:

http://localhost:3000/sse/{server}

🧑‍💻 本地开发

git clone https://github.com/samanhappy/mcphub.git
cd mcphub
pnpm install
pnpm dev

这将在开发模式下启动前端和后端,并具有热重载功能。

对于Windows用户,您可能需要分别启动后端服务器和前端:pnpm backend:devpnpm frontend:dev

🛠️ 常见问题

使用Nginx作为反向代理

如果您使用Nginx作为AgentDNS·Node的反向代理,请确保在您的Nginx设置中添加以下配置:

proxy_buffering off

🔍 技术栈

  • 后端:Node.js,Express,TypeScript
  • 前端:React,Vite,Tailwind CSS
  • 认证:JWT & bcrypt
  • 协议:模型上下文协议SDK

🙏🏻 感谢

本项目基于以下优秀的项目开发:

📄 许可证

根据Apache 2.0许可证授权。