
MCP Registry
STDIOA server solution that manages multiple MCP servers with unified tool access interface.
A server solution that manages multiple MCP servers with unified tool access interface.
This repository is a combination of two complementary components.
MCP Registry is a server solution that manages and coordinates multiple MCP (Model Context Protocol) servers. It provides:
FastMCP-HTTP is a Python package that provides an HTTP REST client-server solution for MCP. It offers a unified interface for accessing tools, prompts and resources through HTTP endpoints.
The FastMCPHttpServer provides an HTTP server solution for MCP.
The FastMCPHttpClient offers both synchronous and asynchronous interfaces to interact with FastMCP servers. It is extended to also function as a client to the MCP registry server.
The MCP Registry Server acts as a central coordinator for multiple MCP servers. It handles server registration, health monitoring, and provides a unified interface to access tools across all connected servers.
The MCP Explorer provides a graphical user interface for interacting with MCP servers and their tools.
pip install -r requirements.txt
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(): # 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()
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)
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()
MIT License