io.github.alanzha2/observe-instrument-mcp

Official registry Developer tools

Add OpenTelemetry tracing to Python AI agents. Supports LangGraph, LlamaIndex, CrewAI, OpenAI SDK.

Install

Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).

PYPI package observe-instrument-mcp
Claude Code
claude mcp add observe-instrument-mcp -e 'ANTHROPIC_API_KEY=<your anthropic_api_key>' -e 'LLM_MODEL=<LLM_MODEL>' -e 'OPENAI_API_KEY=<your openai_api_key>' -e 'GEMINI_API_KEY=<your gemini_api_key>' -e 'GROQ_API_KEY=<your groq_api_key>' -- uvx observe-instrument-mcp==0.1.2
JSON configuration (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "observe-instrument-mcp": {
            "command": "uvx",
            "args": [
                "observe-instrument-mcp==0.1.2"
            ],
            "env": {
                "ANTHROPIC_API_KEY": "<your anthropic_api_key>",
                "LLM_MODEL": "<LLM_MODEL>",
                "OPENAI_API_KEY": "<your openai_api_key>",
                "GEMINI_API_KEY": "<your gemini_api_key>",
                "GROQ_API_KEY": "<your groq_api_key>"
            }
        }
    }
}

Environment variables

  • ANTHROPIC_API_KEY secret API key for Anthropic Claude (default LLM provider)
  • LLM_MODEL LLM model to use (default: claude-sonnet-4-6). Supports Anthropic, OpenAI, Gemini, Groq, Ollama via LiteLLM.
  • OPENAI_API_KEY secret API key for OpenAI models
  • GEMINI_API_KEY secret API key for Google Gemini models
  • GROQ_API_KEY secret API key for Groq models

Documentation

From the project's README on GitHub, refreshed weekly. Links open on GitHub.

Contents
  1. observe-instrument-mcp
  2. What it does
  3. Installation
  4. Configuration
  5. Examples
  6. Usage
  7. Environment variables
  8. After instrumentation
  9. Development
  10. License

observe-instrument-mcp

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.

What it does

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.

Installation

pip install observe-instrument-mcp
# or
uv add observe-instrument-mcp

Requires an API key for your chosen LLM provider. Defaults to Claude (ANTHROPIC_API_KEY). See supported providers below.

Configuration

Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "observe-instrument": {
      "command": "uvx",
      "args": ["observe-instrument-mcp"],
      "env": {
        "ANTHROPIC_API_KEY": "sk-ant-..."
      }
    }
  }
}
Cursor

Add to .cursor/mcp.json in your project:

{
  "mcpServers": {
    "observe-instrument": {
      "command": "uvx",
      "args": ["observe-instrument-mcp"],
      "env": {
        "ANTHROPIC_API_KEY": "sk-ant-..."
      }
    }
  }
}
Windsurf

Add to ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "observe-instrument": {
      "command": "uvx",
      "args": ["observe-instrument-mcp"],
      "env": {
        "ANTHROPIC_API_KEY": "sk-ant-..."
      }
    }
  }
}

Examples

Ready-to-use uninstrumented agent files are included in the examples/ folder:

examples/
  single-agent/
    openai-sdk-example.py      # OpenAI SDK customer support agent
    langgraph-example.py       # LangGraph currency converter
    llama-index-example.py     # LlamaIndex math agent
    crewai-example.py          # CrewAI research crew
  multi-agent/
    openai-sdk-multi-agent-example.py   # OpenAI SDK orchestrator pipeline
    langgraph-multi-agent-example.py    # LangGraph supervisor pattern
    llama-index-multi-agent-example.py  # LlamaIndex research + writing pipeline
    crewai-multi-agent-example.py       # CrewAI research + publishing crews

Usage

Once configured, ask your AI assistant:

Instrument my agent with the observe SDK: path/to/my_agent.py
Check what observe SDK instrumentation is missing from path/to/my_agent.py

Environment variables

VariableDescription
LLM_MODELModel to use (default: claude-sonnet-4-6). See provider table below.
ANTHROPIC_API_KEYRequired for Anthropic models
OPENAI_API_KEYRequired for OpenAI models
GEMINI_API_KEYRequired for Google Gemini models
GROQ_API_KEYRequired for Groq models
Supported providers
ProviderKey variableLLM_MODEL example
AnthropicANTHROPIC_API_KEYclaude-sonnet-4-6
OpenAIOPENAI_API_KEYgpt-4o
Google GeminiGEMINI_API_KEYgemini/gemini-2.0-flash
GroqGROQ_API_KEYgroq/llama-3.3-70b
Ollama (local, free)noneollama/llama3.2

After instrumentation

Install the SDK in your project:

pip install ioa-observe-sdk
# or
uv add ioa-observe-sdk

Start the observability stack (OTel Collector + ClickHouse):

cd path/to/observe/deploy
docker compose up -d

Run your agent:

OPENAI_API_KEY=sk-... OTLP_HTTP_ENDPOINT=http://localhost:4318 python my_agent.py

Query traces:

docker exec -it clickhouse-server clickhouse-client --user admin --password admin
SELECT SpanName, ServiceName, Duration / 1000000. AS ms, Timestamp
FROM otel_traces
ORDER BY Timestamp DESC
LIMIT 20;

Development

git clone https://github.com/alanzha2/observe-instrument-mcp
cd observe-instrument-mcp
pip install -e .

# Test the server locally
mcp dev observe_instrument_mcp/server.py

License

Apache-2.0

Frequently asked questions

What is io.github.alanzha2/observe-instrument-mcp?

Add OpenTelemetry tracing to Python AI agents. Supports LangGraph, LlamaIndex, CrewAI, OpenAI SDK.

How do I install io.github.alanzha2/observe-instrument-mcp?

It runs on your machine. In Claude Code: claude mcp add observe-instrument-mcp -e 'ANTHROPIC_API_KEY=<your anthropic_api_key>' -e 'LLM_MODEL=<LLM_MODEL>' -e 'OPENAI_API_KEY=<your openai_api_key>' -e 'GEMINI_API_KEY=<your gemini_api_key>' -e 'GROQ_API_KEY=<your groq_api_key>' -- uvx observe-instrument-mcp==0.1.2. For other clients, paste the JSON configuration from this page into their MCP settings.

Does io.github.alanzha2/observe-instrument-mcp need an API key?

Yes. It expects ANTHROPIC_API_KEY, OPENAI_API_KEY, GEMINI_API_KEY, GROQ_API_KEY, which you set in its configuration.

Is io.github.alanzha2/observe-instrument-mcp open source?

Its code is public on GitHub, but the repository does not declare a standard license.

Who maintains io.github.alanzha2/observe-instrument-mcp?

It is published by alanzha2. AI.tn lists it but does not maintain or endorse it.

From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.