The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the Observe Instrument MCP listing page.
An MCP server that automatically instruments Python AI agents with the ioa-observe-sdk — adding OpenTelemetry-based tracing, metrics, and logs with zero manual effort.
Works with any MCP-compatible AI coding assistant: Claude Desktop, Cursor, Windsurf, and others.
Two tools:
instrument_agent — reads a Python agent file, applies full observe SDK instrumentation, writes it back, and returns a summary of changes. Creates a .bak backup before modifying.
check_instrumentation — audits a file for missing instrumentation without modifying it.
Supported frameworks: LlamaIndex, LangGraph, CrewAI, raw OpenAI SDK.
Requires an API key for your chosen LLM provider. Defaults to Claude (ANTHROPIC_API_KEY). See supported providers below.
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
Add to .cursor/mcp.json in your project:
Add to ~/.codeium/windsurf/mcp_config.json:
Ready-to-use uninstrumented agent files are included in the examples/ folder:
Once configured, ask your AI assistant:
| Variable | Description |
|---|---|
LLM_MODEL | Model to use (default: claude-sonnet-4-6). See provider table below. |
ANTHROPIC_API_KEY | Required for Anthropic models |
OPENAI_API_KEY | Required for OpenAI models |
GEMINI_API_KEY | Required for Google Gemini models |
GROQ_API_KEY | Required for Groq models |
| Provider | Key variable | LLM_MODEL example |
|---|---|---|
| Anthropic | ANTHROPIC_API_KEY | claude-sonnet-4-6 |
| OpenAI | OPENAI_API_KEY | gpt-4o |
| Google Gemini | GEMINI_API_KEY | gemini/gemini-2.0-flash |
| Groq | GROQ_API_KEY | groq/llama-3.3-70b |
| Ollama (local, free) | none | ollama/llama3.2 |
Install the SDK in your project:
Start the observability stack (OTel Collector + ClickHouse):
Run your agent:
Query traces:
Apache-2.0