微服务代理网关

MCP Gateway是一个基于FastMCP和SQLite构建的集中式REST微服务代理服务器,支持代理执行、技能发现和工具管理。

  • by cc-yuxi
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 acedor/mcp-gateway

使用说明

MCP网关

一个集中式MCP服务器,充当REST微服务的代理,由以下组件构建 FastMCP 和 SQLite.

层次结构和发现逻辑

网关遵循严格的发现层次结构来指导LLM:

  1. 代理人身份:呼叫 list_agents 以找到与用户意图匹配的代理。
  2. 技能发现:呼叫 list_skills(agent_ids) 查找高级业务逻辑(提示)。
  3. 全球撤退:如果没有匹配的代理,请致电 list_skills([]) 返回独立技能。
  4. 工具选择:使用 get_details 阅读技能 prompt 并确定所需 tools.
  5. 原子回退:如果没有相关技能,请致电 list_tools([]) 公开所有原子REST端点。
  6. 代理执行:所有操作均通过以下方式执行 execute(name, params).

快速开始

# Install dependencies
pip install -e .

# Run the MCP server (stdio transport)
python -m mcp_gateway.main

# Run with admin API enabled (port 8080)
python -m mcp_gateway.main --admin

# Use MCP Inspector for interactive testing
npx @modelcontextprotocol/inspector --config src/mcp_gateway/mcp.json --server mcp-gateway

建筑

LLM ──► FastMCP Server (5 tools) ──► SQLite DB ──► REST Microservices
                                                      (via proxy executor)
Developer ──► FastAPI Admin (/apis, /skills, /agents) ──► SQLite DB

MCP工具

工具 目的
list_agents() 范围检查——为作业找到合适的代理
list_skills(agent_ids) 查找属于代理的技能(如果筛选列表为空,则查找所有技能)
list_tools(skills) 在技能中查找工具(空=所有工具)
get_details(name, type) 技能或工具的完整配置
execute(name, params) 代理执行器(httpx)

管理员REST API

管理API在端口上运行 8080 (默认情况下)启动时 --admin 旗帜。互动文档可在 http://localhost:8080/docs.

区域 端点 操作
应用程序编程接口 /apis, /apis/{name} 注册(OpenAPI)、列表、重新同步、删除
技能 /skills, /skills/{name} 创建、列出、更新(提示/工具)、删除
代理 /agents, /agents/{id} 创建、列出、获取、更新、删除
工具 /tools, /tools/{name} 列出记录的工具,获取模式,删除