九头蛇MCP
该项目实现了一个Hydra MCP(模型控制协议)服务器,使Claude能够通过REST API接口与各种客户端功能进行交互。该系统由一个中央服务器组成,该服务器协调多个客户端之间的通信,并通过标准化的API向Claude公开它们的功能。
Claude using the Hydra MCP plugin
项目结构
ipc_server.py:管理函数注册和路由的中央FastAPI服务器ipc_api.py:向Claude公开客户端功能的Hydra MCP接口fake_client.py:用于测试的示例客户端实现fake_claude.py:Claude接口的测试实现
特性
- 多个客户端的集中式功能注册表
- 用于函数发现和调用的REST API端点
- 客户端与Claude之间的标准化通信协议
- 易于使用的功能注册系统
- 自动功能发现和记录
API终点
服务器端点
POST /register_functions:从客户端注册新功能GET /get_functions:检索所有已注册函数的列表
MCP工具
get_endpoints():列出所有可用端点get_registered_functions(endpoint):获取特定端点上可用的函数call_function(endpoint, function_name, arguments):使用参数调用特定函数
用法
- 启动中央服务器:
python ipc_server.py- 注册客户端功能:
# Example client registration
functions = [
{
"name": "example_function",
"description": "An example function",
"parameters": {
"param1": "string",
"param2": "integer"
}
}
]
requests.post(
f"http://localhost:{API_SERVER_PORT}/register_functions",
json={
"endpoint": "client1",
"functions": functions
}
)- 使用MCP接口与功能交互:
# Get available endpoints
endpoints = get_endpoints()
# Get functions for a specific endpoint
functions = get_registered_functions("localhost:1234")
# Call a function
result = call_function("localhost:1234", "example_function", {"param1": "value", "param2": 42})配置
默认情况下,服务器在端口6565上运行。这可以通过更改 API_SERVER_PORT 两者均保持恒定 ipc_server.py 和 ipc_api.py.
依赖项
- 快速 API
- 优维康
- 请求:
- fastmcp
测试
该项目包括示例实现(fake_client.py 和 fake_claude.py)用于测试功能。这些可以用作创建新客户端或测试系统的参考实现。
