An MCP (Model Context Protocol) server that provides tools to query and analyze metrics from your MCPulse analytics platform directly within any MCP-compatible client.
Built using the official github.com/modelcontextprotocol/go-sdk for proper MCP protocol compliance.
- Official MCP Implementation: Uses the official Go SDK for Model Context Protocol
- Query Server Metrics: Get overall metrics for any MCP server
- Tool Statistics: View performance stats for individual tools
- Error Analysis: Browse recent errors and failures
- Timeline Data: See how tool performance changes over time
- Session Tracking: Monitor active and completed sessions
- Server Discovery: List all tracked MCP servers
go build -o mcp-mcpulse .go install github.com/sirrobot01/mcp-mcpulseConfigure using environment variables:
# MCPulse gRPC endpoint (default: localhost:9090)
export MCPULSE_URL=localhost:9090
# MCPulse API Key for authentication
export MCPULSE_KEY=your-api-key-hereAdd to your claude_desktop_config.json:
{
"mcpServers": {
"mcpulse": {
"command": "/path/to/mcp-mcpulse",
"env": {
"MCPULSE_URL": "localhost:9090",
"MCPULSE_KEY": "your-api-key-here"
}
}
}
}MCPULSE_URL=localhost:9090 \
MCPULSE_API_KEY=your-key \
./mcp-mcpulseList all MCP servers being tracked in MCPulse.
Parameters: None
Example:
Tool: list_servers
Arguments: {}
Get overall metrics for an MCP server including request counts, success rates, latency percentiles, and active sessions.
Parameters:
server_id(required): The ID of the MCP serverfrom(optional): Start time (e.g., "24h", "7d", "2025-01-01") - default: "24h"to(optional): End time (e.g., "now", "2025-01-31") - default: "now"
Example:
Tool: get_server_metrics
Arguments: {
"server_id": "my-python-server",
"from": "24h"
}
Get statistics for all tools on an MCP server, including call counts, success rates, and latency metrics.
Parameters:
server_id(required): The ID of the MCP serverfrom(optional): Start time (e.g., "24h", "7d") - default: "24h"limit(optional): Maximum number of tools to return - default: 20
Example:
Tool: get_tools_stats
Arguments: {
"server_id": "my-python-server",
"from": "7d",
"limit": 10
}
Get timeline data showing how a specific tool's performance changed over time.
Parameters:
server_id(required): The ID of the MCP servertool_name(required): The name of the toolfrom(optional): Start time (e.g., "24h", "7d") - default: "24h"interval(optional): Time bucket size (e.g., "1h", "5m") - default: "1h"
Example:
Tool: get_tool_timeline
Arguments: {
"server_id": "my-python-server",
"tool_name": "search_database",
"from": "24h",
"interval": "1h"
}
Get recent errors for an MCP server, optionally filtered by tool name.
Parameters:
server_id(required): The ID of the MCP serverfrom(optional): Start time (e.g., "1h", "24h") - default: "1h"limit(optional): Maximum number of errors to return - default: 10tool_name(optional): Filter errors by specific tool name
Example:
Tool: get_errors
Arguments: {
"server_id": "my-python-server",
"from": "1h",
"limit": 5,
"tool_name": "search_database"
}
Get active or recent sessions for an MCP server.
Parameters:
server_id(required): The ID of the MCP serverfrom(optional): Start time (e.g., "1h", "24h") - default: "1h"status(optional): Filter by status: "active", "completed", or empty for all
Example:
Tool: get_sessions
Arguments: {
"server_id": "my-python-server",
"status": "active"
}
Once configured, you can ask Claude questions like:
- "Show me metrics for my-python-server in the last 24 hours"
- "What are the top 5 most used tools on my-server?"
- "Show me recent errors for the search_database tool"
- "How has the calculate tool's performance changed over the last 7 days?"
- "List all active sessions on my-server"
- "What servers are being tracked in MCPulse?"
Same as parent MCPulse project.
See the main MCPulse contributing guide.