hydra-mcp
Hydra MCP is a Model Control Protocol server that allows Claude to interact with client functions via a REST API.
Hydra MCP
This project implements a Hydra MCP (Model Control Protocol) server that enables Claude to interact with various client functions through a REST API interface. The system consists of a central server that coordinates communication between multiple clients and exposes their functions to Claude through a standardized API.
Project Structure
ipc_server.py
: The central FastAPI server that manages function registration and routingipc_api.py
: The Hydra MCP interface that exposes client functions to Claudefake_client.py
: A sample client implementation for testingfake_claude.py
: A test implementation of Claude's interface
Features
- Centralized function registry for multiple clients
- REST API endpoints for function discovery and invocation
- Standardized communication protocol between clients and Claude
- Easy-to-use function registration system
- Automatic function discovery and documentation
API Endpoints
Server Endpoints
POST /register_functions
: Register new functions from a clientGET /get_functions
: Retrieve the list of all registered functions
MCP Tools
get_endpoints()
: List all available endpointsget_registered_functions(endpoint)
: Get functions available at a specific endpointcall_function(endpoint, function_name, arguments)
: Call a specific function with arguments
Usage
- Start the central server:
python ipc_server.py
- Register client functions:
# 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
}
)
- Use the MCP interface to interact with functions:
# 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})
Configuration
The server runs on port 6565 by default. This can be modified by changing the API_SERVER_PORT
constant in both ipc_server.py
and ipc_api.py
.
Dependencies
- FastAPI
- uvicorn
- requests
- fastmcp
Testing
The project includes sample implementations (fake_client.py
and fake_claude.py
) for testing the functionality. These can be used as reference implementations for creating new clients or testing the system.
Related MCP Servers
View all communication servers →Time
by modelcontextprotocol
A Model Context Protocol server that provides time and timezone conversion capabilities.
mcp-twikit
by adhikasp
MCP-Twikit is a Model Context Protocol server designed for interacting with Twitter, enabling users to perform various Twitter-related tasks such as sentiment analysis and timeline retrieval.
osp_marketing_tools
by open-strategy-partners
A comprehensive suite of tools for technical marketing content creation, optimization, and product positioning based on Open Strategy Partners' proven methodologies.
whatsapp-mcp
by lharries
This is a Model Context Protocol (MCP) server for WhatsApp, allowing users to interact with their WhatsApp messages and contacts through an LLM like Claude.
mcp-compass
by liuyoshio
MCP Compass is a discovery and recommendation service for exploring Model Context Protocol servers using natural language queries.
mcp-server-chatsum
by chatmcp
This MCP Server is used to summarize your chat messages.
Inbox Zero AI
by elie222
Inbox Zero MCP Server is designed to help users manage their inbox efficiently by integrating with various desktop applications.