Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions .cspell.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,11 @@ ignoreRegExpList:
- GitHub Handle in YML
words:
- Abinet
- agentic
- Alff
- Arize
- Ashpole
- austinlparker
- automations
- Baeyens
- calendar-localization-ptbr
Expand Down Expand Up @@ -185,6 +187,7 @@ words:
- mjwolf
- mkorbi
- molkova
- mottibec
- msomasu
- MSYS
- PATHCONV
Expand All @@ -207,6 +210,7 @@ words:
- opentelemetrybot
- ossf
- otel
- otelcol
- otel-agentmanwg
- otel-comms
- otel-ebpf
Expand All @@ -221,6 +225,7 @@ words:
- Prometheus
- paixão
- pająk
- pavolloffay
- passcodes
- poncelow
- proto
Expand All @@ -246,6 +251,7 @@ words:
- severin
- sguyon
- sharma
- shiftyp
- shkuro
- sigelman
- signup
Expand Down
135 changes: 135 additions & 0 deletions projects/mcp-server.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,135 @@
# OpenTelemetry Collector Model Context Protocol (MCP) Server

## Background and description

The OpenTelemetry project consists of a large number of components, including collector, SDKs, and instrumentation libraries, which are often configured and managed separately. This distribution of components poses a major operational challenge which is universally recognized by the community [1], [2].

Large language models (LLMs), present a significant opportunity to simplify the adoption, implementation, and management of the OpenTelemetry stack. An AI agent could, for example, analyze telemetry data, facilitate configuration changes, or assist and simplify the instrument process.

However, to support this process, a standardized interface is required for LLMs to interact with the OpenTelemetry ecosystem. The Model Context Protocol (MCP) provides an idiomatic approach for this interaction.

At the moment, the OpenTelemetry project does not have an official, standard MCP server. This has led to the creation of several independent, open-source projects to fill the gap.

### Existing OpenTelemetry MCP Servers

The proliferation of these projects demonstrates strong community interest and the clear potential of this technology:

* [pavolloffay/opentelemetry-mcp-server](https://github.com/pavolloffay/opentelemetry-mcp-server): Focuses on collector configuration.
* [austinlparker/otel-mcp](https://github.com/austinlparker/otel-mcp): Handles collector configuration and data profiling.
* [mottibec/otelcol-mcp](https://github.com/mottibec/otelcol-mcp): Focuses on collector configuration.
* [shiftyp/otel-mcp-server](https://github.com/shiftyp/otel-mcp-server): Provides data profiling, but requires OpenSearch.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Happy to answer any specific questions about this project!

* [liatrio-labs/otel-instrumentation-mcp](https://github.com/liatrio-labs/otel-instrumentation-mcp): Manages instrumentation.
* [traceloop/opentelemetry-mcp-server](https://github.com/traceloop/opentelemetry-mcp-server): Provides data profiling by connecting to Jaeger, Tempo and Traceloop.

Each of these servers uses a different approach, particularly for collector configuration and data profiling.
This fragmentation creates confusion for users in terms of installation and configuration. It is less effective
as multiple competing tools fill up context window and provide overlapping functionality.

### Project Scope and Architecture

The scope of this project is to create OpenTelemetry MCP server(s) to simplify deployment and day-2 operations.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As we'll likely would end up with different MCP servers for different use-cases, I'd love to establish an unified interface as part of this project.

Both, for a streamlined development of (multiple) servers AND a consistent way for the end-user to setup/configure the server(s)

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agree on the consistent configuration and deployment. However, I am not sure what you mean by the streamlined development?

The MCP server should also provide data profiling/intelligence capabilities to support the day-2 operation use-cases.

### Goals, objectives, and requirements

The goals are divided into categories. However, some common goals apply to all created MCP(s):

* A common installation and configuration

#### Collector

* Deployment, configuration and management
* Simplify writing OpenTelemetry Transformation Language (OTTL)
* Simplify writing PII rules based on the received data

#### Instrumentation

* SDK configuration
* Auto-instrumentation configuration
* Identify instrumentation issues: single span traces, broken traces, high cardinality attributes

#### Semantic conventions

* Weaver schema generation
* Context optimized querying of the official semantic conventions registry

## Deliverables

* Collector MCP server
* Configuration use-cases
* Data profiling use-cases: writing PII rules, high cardinality attributes, broken traces, single span traces
* Standalone MCP Server
* Instrumentation use-cases
* Collector provisioning and configuration use-cases
* Understanding changes in released artifacts

## Staffing / Help Wanted

This project requires a blend of OpenTelemetry collector, documentation and instrumentation expertise and expertise in building MCP server.

### SIG

This project will be led by a cross-cutting effort coordinating with the Collector, and language SIGs. A
new dedicated SIG or working group will be formed to help manage and move this project forward.

### Required staffing

#### Project Leads(s)

* [@pavolloffay](https://github.com/pavolloffay) (Red Hat)
* [@niwoerner](https://github.com/niwoerner) (OllyGarden)

#### TC Sponsor

TBD

#### GC Liaison

* @austinlparker (Austin Parker - Honeycomb)

#### Engineers

* [adrielp](https://github.com/adrielp)
* [shiftyp](https://github.com/shiftyp)

#### Other Staffing

### Industry outreach (Optional)

Following users have built OpenTelemetry MCP servers:

* [otel-mcp](https://github.com/austinlparker) - author of [otel-mcp](https://github.com/austinlparker/otel-mcp)
* [mottibec](https://github.com/mottibec) - author of [otelcol-mcp](https://github.com/mottibec/otelcol-mcp)
* [shiftyp](https://github.com/shiftyp) - author of [otel-mcp-server](https://github.com/shiftyp/otel-mcp-server)

There will be [OpenTelemetry MCP blog post](https://github.com/open-telemetry/opentelemetry.io/pull/8331/) which promote the SIG.

## Expected Timeline

This timeline assumes project approval and resource allocation as outlined in the staffing section. Until staffing is
confirmed and expected time commitments are known, this timeline is in flux.

Phase 1: Static collector configuration (Months 1-2)
- OpenTelemetry collector configuration

Phase 2: Data profiling via collector (Months 1-2)
- OpenTelemetry collector extension which provides API to query and profile the processed telemetry data
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just as context, this was the focus of my particular project. An MCP server that generated OpenSearch / ElasticSearch queries to feed relevant telemetry data into an agent (tested with Claude). I used it specifically with Claude Code to combine telemetry intelligence with code context to answer root cause question about incidents, analyze performance of code changes, ect. This is probably where I could contribute the most in terms of thought partnership, although my effort could be used towards various goals.

- Data volume attribution

Phase 3: Instrumentation (Months 1-2)
- Identify broken traces
- Identify single span traces
- Identify high cardinality traces
- Instrumentation configuration

## Labels

`mcp` for all PRs and issues related to this project.

## GitHub Project (Post-Approval)

TBD

## SIG Meetings, Roadmap, and Other Info (Post-Approval)

TBD
Loading