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.

Architecture
  1. 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. 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. 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:

Create Server

Response:

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:

claude_desktop_config.json

Cursor:

.cursor/mcp.json

Any HTTP client / custom agent:

Shell

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:

MCP Call Object
FieldTypeDescription
methodstringJSON-RPC method (tools/call, tools/list, initialize, etc.)
tool_namestringExtracted tool name from tools/call params (e.g., get_weather)
request_bodystringFull JSON-RPC request body
response_bodystringFull JSON-RPC response body from upstream
statusstringCall status: success, error, timeout
status_codeintHTTP status code from the upstream MCP server
duration_msintTotal round-trip time in milliseconds
source_ipstringIP address of the calling AI agent
headersobjectHTTP request headers from the agent

Proxy endpoint

The proxy accepts JSON-RPC 2.0 requests at:

POST https://mcp.hookwatch.dev/p/:slug

Example: Call a tool

Shell

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/servers
POST /v1/mcp/servers — Create a new MCP server
GET /v1/mcp/servers — List all MCP servers for the team
GET /v1/mcp/servers/:id — Get a specific MCP server
PUT /v1/mcp/servers/:id — Update name, target URL, or active status
DELETE /v1/mcp/servers/:id — Delete server and all associated call logs

See MCP Servers API for full request/response details and examples.

MCP Calls

Base URL

https://api.hookwatch.dev/v1/mcp/calls
GET /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 bodies
GET /v1/mcp/calls/count — Count calls matching filters
GET /v1/mcp/calls/metrics — Aggregated metrics (configurable time range)
DELETE /v1/mcp/calls/:id — Delete a specific call log

Query filters

ParameterTypeDescription
server_idstringFilter by MCP server ID
methodstringFilter by JSON-RPC method (e.g., tools/call)
tool_namestringFilter by tool name
statusstringFilter by status: success, error, timeout
from / tostringDate range filter (ISO 8601)
limit / offsetintPagination (default limit: 50)

Example: List error calls

Shell

Example: Get metrics

Shell

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:

PlanMCP Servers
FreeNot available
Starter3 servers
Pro10 servers
TeamUnlimited

Why HookWatch for MCP?

AdvantageDetails
Proven infrastructureAlerting, logging, and dashboards already battle-tested for webhooks and cron jobs
Unified toolingMonitor webhooks + cron jobs + AI agent tools in one place
Zero-code integrationReplace one URL — no changes to agent code or MCP server
High performanceGo-based reverse proxy with async logging — minimal latency overhead
ResilientCircuit 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.

Related