模型上下文协议注册与HTTP服务

MCP注册表是一个服务器解决方案,用于管理和协调多个MCP服务器,而FastMCP-HTTP是一个Python包,提供HTTP REST客户端-服务器解决方案,用于通过HTTP端点访问工具、提示和资源。

  • by ARadRareness
  • Python
  • 本地部署
  • 35 星标
  • 更新于
在 GitHub 查看 ARadRareness/mcp-registry

使用说明

MCP注册表和FastMCP HTTP

这个存储库是两个互补组件的组合。

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

  • MCP服务器的集中注册
  • 动态端口分配
  • 注册服务器的运行状况监控
  • 跨所有注册服务器统一访问工具

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

组件

HTTP服务器

FastMCPHttpServer为MCP提供了一个HTTP服务器解决方案。

HTTP客户端

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

注册服务器

MCP注册服务器充当多个MCP服务器的中央协调器。它处理服务器注册、运行状况监控,并提供一个统一的界面来访问所有连接服务器上的工具。

MCP浏览器

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

安装

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

例子

使用注册表服务器

FastMCPHttp服务器

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()

FastMCPHttpClient

from fastmcp_http.client import FastMCPHttpClient


def main():
    # Connect to the registry server
    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()

独立

FastMCPHttp服务器

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(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": "Hello, World!"})
    print(result)


if __name__ == "__main__":
    main()

用法

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

许可证

MIT许可证