cursor-otel
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@cursor-otelstart tracing this conversation"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
cursor-otel
An MCP server that instruments Cursor AI agent interactions with OpenTelemetry traces and logs.
Each agent turn becomes an OTel span following the GenAI semantic conventions, with the user query and assistant response captured as span attributes. Logs emitted during a turn are correlated to the trace via context propagation.
Disclaimer
This is an experimental personal project. It is not affiliated with, endorsed by, or supported by Elastic, Cursor, or the OpenTelemetry project. Use at your own risk.
Related MCP server: otel-mcp
Tools
Tool | Description |
| Begin a traced span for an agent turn. Returns a |
| End the span for a turn. Accepts a response summary, tool count, and optional error. |
| Emit an OTel log record, optionally correlated to an active turn's trace. |
Setup
Prerequisites
An OpenTelemetry collector (or compatible backend) accepting OTLP/HTTP on http://localhost:4318. Override with the OTEL_EXPORTER_OTLP_ENDPOINT environment variable.
Install
git clone https://github.com/smith/cursor-otel.git
cd cursor-otel
npm installConfigure Cursor
Add to your .cursor/mcp.json:
{
"mcpServers": {
"cursor-otel": {
"command": "node",
"args": ["/absolute/path/to/cursor-otel/index.mjs"]
}
}
}Agent rules
Add a Cursor rule (e.g. .cursor/rules/cursor-otel.mdc) to instruct the agent to call the tools on every turn:
## Agent OTel instrumentation
Every user interaction MUST be traced. Use the `cursor-otel` MCP tools.
### On each user query
1. Call `start_turn` with:
- `conversation_id`: reuse the value from the previous `start_turn` response
in this conversation. Omit on the first call (the server generates one).
- `user_message`: the user's query (first 500 chars).
- `model`: the model name if you know it.
2. Save the returned `turn_id` and `conversation_id`.
### After completing your response
Call `end_turn` with:
- `turn_id`: from `start_turn`.
- `response`: 1-2 sentence summary of what you did.
- `tool_count`: total number of tool calls you made this turn.
- `error`: set only if the turn failed.
### Logs
Use `agent_log` (with the `turn_id`) for notable events: errors, key decisions,
warnings. Don't log routine steps.
### Rules
- `start_turn` and `end_turn` are **mandatory** on every turn. No exceptions.
- Keep `start_turn` as the **first** tool call and `end_turn` as the **last**.
- These calls are fast and non-blocking — don't skip them to save time.License
This server cannot be deployed
Maintenance
Related MCP Connectors
MCP server for Sentry - error monitoring, issue tracking, and debugging for AI assistants
MCP server for building and testing AI agents with multi-model experimentation and insights.
Analytics for MCP servers. Find out which of your tools agents get wrong. MCPulse shows you which tools AI agents retry, which come back empty, and which they never call at all. Two lines inside your own server. It never sees your arguments or your results. getmcpulse.com
Query application logs, traces, and metrics from your AI coding assistant via Foam's MCP server.
Related MCP Servers
- AlicenseAqualityDmaintenanceAn MCP server that automatically instruments Python AI agents with the ioa-observe-sdk, adding OpenTelemetry-based tracing, metrics, and logs with zero manual effort.2Apache 2.0
- AlicenseAqualityDmaintenanceMCP server that gives AI agents access to your application's OpenTelemetry traces for querying, analysis, and debugging.513 npm2MIT
- AlicenseAqualityDmaintenanceMCP server that enables AI assistants to query Grafana/Loki logs and Thanos/Prometheus metrics directly from MCP-compatible clients like Cursor or Claude Desktop.8MIT
- AlicenseAqualityBmaintenanceMCP server for AI agent observability, providing trace and span logging, search, latency/tokens/cost metrics, and anomaly detection using an in-memory buffer.631 npmMIT