MCP Registry & FastMCP-HTTP

MCP Registry & FastMCP-HTTP

site icon
2024.12.29 15
Python服务器管理工具协调开发效率
MCP Registry 是一个服务器解决方案,用于管理和协调多个 MCP (Model Context Protocol) 服务器。它提供中央注册、动态端口分配、健康监控以及统一访问所有注册服务器的工具。FastMCP-HTTP 是一个 Python 包,提供 HTTP REST 客户端-服务器解决方案,用于通过 HTTP 端点访问工具、提示和资源。
View on GitHub

Overview

基本能力

产品定位

MCP Registry 是一个用于管理和协调多个 MCP 服务器的中央注册服务,提供统一的工具访问接口。

核心功能

  • 中央注册服务:管理多个 MCP 服务器的注册。
  • 动态端口分配:自动分配端口给注册的服务器。
  • 健康监控:监控注册服务器的健康状态。
  • 统一工具访问:提供统一的接口访问所有注册服务器的工具。

适用场景

  • 需要集中管理多个 MCP 服务器的场景。
  • 需要动态分配端口和监控服务器健康的场景。
  • 需要统一访问多个服务器工具的场景。

工具列表

  1. HTTP Server (FastMCPHttpServer):提供 HTTP 服务器解决方案,用于 MCP 服务器。
  2. HTTP Client (FastMCPHttpClient):提供同步和异步接口与 FastMCP 服务器交互,也可作为 MCP 注册服务器的客户端。
  3. Registry Server:作为多个 MCP 服务器的中央协调器,处理服务器注册、健康监控和统一工具访问。
  4. MCP Explorer:提供图形用户界面,用于与 MCP 服务器及其工具交互。

常见问题解答

  • 如何注册服务器? 使用 FastMCPHttpServer 并设置 register_server=True
  • 如何列出所有服务器? 使用 FastMCPHttpClientlist_servers 方法。
  • 如何调用工具? 使用 FastMCPHttpClientcall_tool 方法。

使用教程

使用依赖

安装依赖:

pip install -r requirements.txt

安装教程

  1. 克隆仓库。
  2. 安装依赖:
pip install -r requirements.txt

调试方式

  1. 启动 MCP Registry:
python start_registry_server.py
  1. 启动 MCP 服务器并验证其是否在注册表中正确注册。
  2. 启动客户端并连接到注册表 URL。

示例代码:

启动服务器

from fastmcp_http.server import FastMCPHttpServer

mcp = FastMCPHttpServer("MyServer", description="My MCP Server")

@mcp.tool()
def my_tool(text: str) -> str:
    return f"Processed: {text}"

if __name__ == "__main__":
    mcp.run_http()

启动客户端

from fastmcp_http.client import FastMCPHttpClient

def main():
    client = FastMCPHttpClient("http://127.0.0.1:31337")
    servers = client.list_servers()
    print(servers)
    tools = client.list_tools()
    print(tools)
    result = client.call_tool("my_tool", {"text": "Hello, World!"})
    print(result)

if __name__ == "__main__":
    main()

许可证

该项目遵循 MIT 开源许可条款,请参阅 MIT 了解完整条款。