返回市场
mcp注册中心

mcp注册中心

作者:ARadRareness24 星标更新:2024-12-29

项目介绍

MCP 注册表及 FastMCP-HTTP

此仓库结合了两个互补组件。

MCP 注册表是一个管理并协调多个 MCP(模型上下文协议)服务器的解决方案。它提供:

  • MCP 服务器的集中注册
  • 动态端口分配
  • 已注册服务器的健康监控
  • 跨所有已注册服务器工具的统一访问

FastMCP-HTTP 是一个 Python 包,提供了 MCP 的 HTTP REST 客户端-服务器解决方案。它提供了一个统一接口,通过 HTTP 端点访问工具、提示和资源。

组件

HTTP 服务器

FastMCPHttpServer 提供了 MCP 的 HTTP 服务器解决方案。

HTTP 客户端

FastMCPHttpClient 提供了与 FastMCP 服务器交互的同步和异步接口。它还扩展为 MCP 注册表服务器的客户端。

注册表服务器

MCP 注册表服务器作为多个 MCP 服务器的中央协调器。它处理服务器注册、健康监控,并提供跨所有连接服务器工具的统一接口。

MCP 探索器

MCP 探索器提供了一个图形用户界面,用于与 MCP 服务器及其工具进行交互。

安装

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

示例

使用注册表服务器

FastMCPHttpServer

from fastmcp_http.server import FastMCPHttpServer

mcp = FastMCPHttpServer("MyServer", description="我的 MCP 服务器")

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

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

FastMCPHttpClient

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": "你好,世界!"})
    print(result)


if __name__ == "__main__":
    main()

单独使用

FastMCPHttpServer

from fastmcp_http.server import FastMCPHttpServer

mcp = FastMCPHttpServer("MyServer", description="我的 MCP 服务器")

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

if __name__ == "__main__":
    mcp.run_http(register_server=False, port=15151)

FastMCPHttpClient

from fastmcp_http.client import FastMCPHttpClient


def main():
    client = FastMCPHttpClient("http://127.0.0.1:15151")

    tools = client.list_tools()
    print(tools)

    result = client.call_tool("my_tool", {"text": "你好,世界!"})
    print(result)


if __name__ == "__main__":
    main()

使用方法

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

许可证

MIT 许可证