Getting Started with MCPWatch
MCPWatch is an observability platform for Model Context Protocol (MCP) servers. It gives you full visibility into every tool call, resource read, and prompt interaction flowing through your MCP servers — so you can debug issues, track performance, and understand exactly what your AI tools are doing.
What is MCP?
The Model Context Protocol (MCP) is an open standard that lets AI assistants like Claude, Cursor, and VS Code Copilot interact with external tools and data sources. MCP servers expose tools, resources, and prompts that AI clients can discover and invoke.
MCPWatch instruments your MCP server to capture every interaction without changing your server’s behavior.
Why MCPWatch?
Without observability, MCP servers are black boxes. You can’t see:
- Which tools are being called and how often
- What arguments clients are passing to your tools
- How long each operation takes
- Which errors are happening and why
- Who is using your server and when
MCPWatch answers all of these questions with a single instrument() call.
How it works
MCPWatch provides an instrument() function that wraps your MCP server’s registration methods (tool(), resource(), prompt()). When handlers execute, the SDK captures timing and metadata, batches events, and sends them to the MCPWatch backend — all asynchronously with minimal impact on your server’s response time.
┌─────────────┐ ┌──────────────┐ ┌─────────────┐
│ AI Client │────>│ Your MCP │────>│ Tool/ │
│ (Claude, etc)│<────│ Server │<────│ Resource │
└─────────────┘ └──────┬───────┘ └─────────────┘
│ instrument()
┌──────▼───────┐
│ MCPWatch │
│ Dashboard │
└──────────────┘
Events are batched (up to 50 events or every 1 second) and sent to the MCPWatch ingestion API, where you can view traces, search across operations, set up alerts, and analyze trends.
Key features
- One-line instrumentation — Call
instrument()on your server and events flow automatically - Full event capture — Tool calls, resource reads, prompt retrievals (TS), notifications (TS), lifecycle events, and errors
- Async & non-blocking — Events are batched and sent in the background
- TypeScript & Python SDKs — First-class support for both major MCP server languages
- Sampling control — Configurable sample rate to manage volume in high-throughput environments
- Quota management — Built-in quota tracking with callbacks and automatic backpressure
Next steps
Ready to start? Head to the Quickstart guide to send your first event in under two minutes.
Last updated — MCPWatch Documentation