mcp-mcpulse

sirrobot01/mcp-mcpulse

3.3

If you are the rightful owner of mcp-mcpulse and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

MCP-MCPulse is a Model Context Protocol server that integrates with the MCPulse analytics platform to provide comprehensive metrics and analysis tools for MCP-compatible clients.

Tools
6
Resources
0
Prompts
0

MCP-MCPulse

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.

Features

  • 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

Installation

From Source

go build -o mcp-mcpulse .

Using Go Install

go install github.com/sirrobot01/mcp-mcpulse

Configuration

Configure 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-here

Usage

In Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "mcpulse": {
      "command": "/path/to/mcp-mcpulse",
      "env": {
        "MCPULSE_URL": "localhost:9090",
        "MCPULSE_KEY": "your-api-key-here"
      }
    }
  }
}

Standalone

MCPULSE_URL=localhost:9090 \
MCPULSE_API_KEY=your-key \
./mcp-mcpulse

Available Tools

1. list_servers

List all MCP servers being tracked in MCPulse.

Parameters: None

Example:

Tool: list_servers
Arguments: {}

2. get_server_metrics

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 server
  • from (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"
}

3. get_tools_stats

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 server
  • from (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
}

4. get_tool_timeline

Get timeline data showing how a specific tool's performance changed over time.

Parameters:

  • server_id (required): The ID of the MCP server
  • tool_name (required): The name of the tool
  • from (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"
}

5. get_errors

Get recent errors for an MCP server, optionally filtered by tool name.

Parameters:

  • server_id (required): The ID of the MCP server
  • from (optional): Start time (e.g., "1h", "24h") - default: "1h"
  • limit (optional): Maximum number of errors to return - default: 10
  • tool_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"
}

6. get_sessions

Get active or recent sessions for an MCP server.

Parameters:

  • server_id (required): The ID of the MCP server
  • from (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"
}

Example Queries in Claude

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?"

License

Same as parent MCPulse project.

Contributing

See the main MCPulse contributing guide.