MCP Proxy
Observability and monitoring layer for AI agent tool calls via the Model Context Protocol (MCP). Know exactly what your AI agents are doing, how often, and when something goes wrong.
The problem
AI agents work autonomously — they call external APIs, perform actions, and make decisions. But developers have no visibility into what the agent is actually doing, how frequently, or when something breaks.
HookWatch MCP Proxy gives you full observability for MCP tool calls — the same way HookWatch already does it for webhooks and cron jobs.
How it works
HookWatch MCP Proxy sits between your AI agents and MCP servers. It transparently proxies all JSON-RPC 2.0 requests while collecting full telemetry — requests, responses, latency, errors, and tool usage.
- 1
Register your MCP server
Add your MCP server via the dashboard or API. You'll get a unique proxy URL like
https://mcp.hookwatch.dev/p/x7k9m2. - 2
Point your agent to the proxy
Replace the original MCP server URL with your HookWatch proxy URL in your agent configuration (Claude Desktop, Cursor, or any custom agent). No code changes required.
- 3
Monitor everything
Every tool call is logged with full request/response bodies, latency, status, and tool name. View everything in your dashboard or query via API.
Quick start
1. Create an MCP server
Go to MCP Servers in your dashboard and click "Create Server", or use the API:
Response:
The slug field is your unique proxy identifier. Your proxy URL is https://mcp.hookwatch.dev/p/slug.
2. Configure your AI agent
Replace the MCP server URL in your agent configuration with the proxy URL.
Claude Desktop / Claude Code:
Cursor:
Any HTTP client / custom agent:
3. Monitor in the dashboard
Open MCP Calls in your dashboard to see every tool call in real time — method, tool name, status, duration, and full request/response bodies.
What gets logged
Every JSON-RPC request that passes through the proxy is logged with full context:
| Field | Type | Description |
|---|---|---|
method | string | JSON-RPC method (tools/call, tools/list, initialize, etc.) |
tool_name | string | Extracted tool name from tools/call params (e.g., get_weather) |
request_body | string | Full JSON-RPC request body |
response_body | string | Full JSON-RPC response body from upstream |
status | string | Call status: success, error, timeout |
status_code | int | HTTP status code from the upstream MCP server |
duration_ms | int | Total round-trip time in milliseconds |
source_ip | string | IP address of the calling AI agent |
headers | object | HTTP request headers from the agent |
Proxy endpoint
The proxy accepts JSON-RPC 2.0 requests at:
POST https://mcp.hookwatch.dev/p/:slugExample: Call a tool
Proxy behavior
Transparent forwarding
Requests are forwarded to your MCP server exactly as received. The proxy adds no modifications to the JSON-RPC payload.
Header passthrough
Content-Type, Accept, and Authorization headers are forwarded to the upstream server.
Async logging
Call logging is done asynchronously after the response is returned. This ensures minimal latency overhead on the proxy path.
Circuit breaker
Built-in circuit breaker protects against cascading failures. If the proxy's internal
services are down, it returns 503 instead of hanging.
Error detection
The proxy detects both HTTP errors (status 400+) and JSON-RPC errors in the response body, marking calls with the correct status.
Limits
60-second upstream timeout, 10MB max payload size. Requests to inactive servers return 404.
Features
Full request/response logging
Every tool call is logged with complete request and response bodies, parameters, errors, and timing data. Debug agent behavior in seconds.
Tool-level tracking
The proxy automatically extracts tool names from tools/call requests. Filter and search your call history by specific tool.
Latency monitoring
Track MCP server response times per call and through aggregated metrics. Identify slow tools and optimize performance.
Dashboard
Full-featured UI for managing MCP servers, browsing call history with filters, and viewing detailed request/response data for each call.
Alerts
Set up notifications for errors, timeouts, and anomalous activity via email, Telegram, and webhooks. Know immediately when something goes wrong.
Prometheus metrics
Built-in Prometheus endpoint exposes call latency histograms and call counts by slug, method, and status for integration with your monitoring stack.
API reference
Manage MCP servers and query call logs through the REST API. All endpoints require authentication via Bearer token.
MCP Servers
Base URL
https://api.hookwatch.dev/v1/mcp/serversPOST /v1/mcp/servers — Create a new MCP serverGET /v1/mcp/servers — List all MCP servers for the teamGET /v1/mcp/servers/:id — Get a specific MCP serverPUT /v1/mcp/servers/:id — Update name, target URL, or active statusDELETE /v1/mcp/servers/:id — Delete server and all associated call logsSee MCP Servers API for full request/response details and examples.
MCP Calls
Base URL
https://api.hookwatch.dev/v1/mcp/callsGET /v1/mcp/calls — List calls with filters (server, method, tool, status, date range)GET /v1/mcp/calls/:id — Get full call details with request/response bodiesGET /v1/mcp/calls/count — Count calls matching filtersGET /v1/mcp/calls/metrics — Aggregated metrics (configurable time range)DELETE /v1/mcp/calls/:id — Delete a specific call logQuery filters
| Parameter | Type | Description |
|---|---|---|
server_id | string | Filter by MCP server ID |
method | string | Filter by JSON-RPC method (e.g., tools/call) |
tool_name | string | Filter by tool name |
status | string | Filter by status: success, error, timeout |
from / to | string | Date range filter (ISO 8601) |
limit / offset | int | Pagination (default limit: 50) |
Example: List error calls
Example: Get metrics
See MCP Calls API for full response schemas and more examples.
Use cases
Monitor autonomous agents
Your AI agent runs 24/7 calling external APIs. HookWatch Proxy shows every call, response time, and error — you always know what the agent is doing.
Debug tool failures
Agent getting unexpected responses from an MCP server? Full request/response logs with timing data help you find the problem in seconds.
Compliance & audit
For regulated industries — complete audit trail of all AI agent actions. Every tool call logged with who, what, when, and full parameters.
Cost optimization
Track tool call frequency and patterns. Identify inefficient usage, redundant calls, and optimize your API spend.
Plans & limits
The number of MCP servers you can register depends on your plan:
| Plan | MCP Servers |
|---|---|
| Free | Not available |
| Starter | 3 servers |
| Pro | 10 servers |
| Team | Unlimited |
Why HookWatch for MCP?
| Advantage | Details |
|---|---|
| Proven infrastructure | Alerting, logging, and dashboards already battle-tested for webhooks and cron jobs |
| Unified tooling | Monitor webhooks + cron jobs + AI agent tools in one place |
| Zero-code integration | Replace one URL — no changes to agent code or MCP server |
| High performance | Go-based reverse proxy with async logging — minimal latency overhead |
| Resilient | Circuit breaker, graceful degradation, and health monitoring built in |
JSON-RPC 2.0
HookWatch MCP Proxy works with any MCP server that speaks JSON-RPC 2.0 over HTTP. All standard
MCP methods are supported: initialize, tools/list, tools/call, resources/list, resources/read, and more.