MCP服务器代理队列服务

一个基于FastAPI的微服务,用于管理和暴露MCP服务器代理队列,支持本地和云部署操作,适用于Kubernetes原生环境。

  • by dasmlab
  • HCL
  • 本地部署
  • 更新于
在 GitHub 查看 dasmlab/mcp-server-agent-list-service

使用说明

MCP服务器代理列表服务

一个最小的FastAPI微服务,管理和公开MCP服务器代理队列,支持本地和云部署操作。专为Kubernetes原生环境设计(支持MetalLB)。

该项目实现了CircleCI工作流,并连接到Docker Extended CircleCI实例中的K8s容器代理资源类和Docker。允许我们通过Resource_classes(dasmlab/default和dasmlab/docker)在工作流/管道中同时执行docker的sh和K8s的东西。

两者的安装脚本都可以在以下网址找到https://github.com/lmcdasm/oneshots/install-circle-ci-runner

部署通过三个工作流进行处理:

  • cx build pipline-这将构建容器,在隔离的Docker网络上本地启动它,然后运行安全和测试套件并发布一个conatiner
  • cx暂存管道-这将获取已构建的容器(cx构建管道),并将其部署在已知KUBECONFIG的静态暂存集群上
  • cx生产管道-这首先使用AWS地形模块部署EKS设置,然后将我们的应用程序部署到它。

框架

  • API Python(FastAPI),用于快速、异步的API服务
  • 部署: 容器化,带有Kubernetes部署和服务(使用MetalLB作为LoadBalancer IP)

范围和数据模型

此服务维护MCP服务器代理的“服务器”(队列)。
它提供了一个REST API,用于列出、添加、删除和检索已知MCP服务器代理的详细信息。每个代理表示为:

{
  "id": "<uuid>",
  "name": "<Provider Name>",
  "description": "<Short description of the MCP Server Agent>",
  "actions": [
    "Link Only",              // Only provides homepage/link
    "Deploy OnPrem",          // Deploy on on-prem infra (Docker, K8s, etc.)
    "Deploy InCloud",         // Deploy in cloud with proper inputs
    "Deploy With MCP Explorer" // Instrument/connect via MCP Explorer Application
  ]
}

所有响应都包含在顶级密钥中: {“mcp_server_agents”:[…]}

#API终点

方法端点描述 GET/servers列出所有MCP服务器代理(队列/转盘) POST/servers添加新的MCP服务器代理(返回UUID) 删除/服务器?id=按UUID删除MCP服务器代理 GET/服务器?id=检索特定MCP服务器代理的信息

计划行动终点:

POST/action/:id/deploy in cloud--在云中部署(带有效负载)

资源管理器中的POST/action/:id/deploy——使用MCP资源管理器进行检测等。

使用示例

列出所有服务器代理

卷曲http://host:port/servers

添加新代理

curl-X POSThttp://host:port/servers
-H'内容类型:应用程序/json'
-d'{“name”:“Acme Cloud”,“description”:“提供测试环境”,“actions”:[“Deploy InCloud”,”仅链接“]'

删除代理

curl-X删除”http://host:port/servers?id="

找一个特定的代理人

卷曲http://host:port/servers?id=

部署

使用您最喜欢的图像构建器进行容器化。

部署为Kubernetes部署+服务。

使用负载平衡器服务(MetalLB建议用于裸机设置)。

如上所述配置API端点。

路线图

实现“部署在云中”和“部署在资源管理器中”的操作端点

支持多个代理发现源

可选:添加身份验证和更详细的状态报告

许可证

看 许可证.md

CI碰撞