-
Notifications
You must be signed in to change notification settings - Fork 271
Add Model Context Protocol (MCP) project proposal #3128
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
Signed-off-by: Pavol Loffay <[email protected]>
Signed-off-by: Pavol Loffay <[email protected]>
Signed-off-by: Pavol Loffay <[email protected]>
projects/mcp-server.md
Outdated
|
|
||
| ### Industry outreach (Optional) | ||
|
|
||
| Who (people, companies) in the industry should be aware of this effort? Was there an attempt to get them onboard? What did they say? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have already talked to @austinlparker, any feedback is appreciated.
cc) @shiftyp
I will re-ping the other authors on slack.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hey! What can I do to help!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@shiftyp would you like to join the SIG as a contributing member?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sure! This is something I'm passionate about. Is the main channel for communication in the CNCF Slack? I have an account there
projects/mcp-server.md
Outdated
| #### Project Leads(s) | ||
|
|
||
| * @pavolloffay (Red Hat) | ||
| * Looking for other leads with experience in OpenTelemetry instrumentation and collector. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
cc @niwoerner , would you be interested in collaborating?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'd be interested in joining this project. I'll reach out to @pavolloffay on Slack
|
Count me down for being a contributing member! Looking forward to this SIG. Here's a related thread in the #otel-semantic-conventions slack channel from a couple weeks ago that may be of interest to this SIG. |
| * [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. |
There was a problem hiding this comment.
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!
Signed-off-by: Pavol Loffay <[email protected]>
|
@niwoerner @shiftyp @adrielp I have added you to the proposal. Thanks! |
shiftyp
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just some questions specifically related to the use case around data profiling, which I take to mean connecting telemetry itself to an agent flow, not just the configuration and troubleshooting use case for the OTEL stack itself.
| - 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 |
There was a problem hiding this comment.
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.
projects/mcp-server.md
Outdated
|
|
||
| ### Project Scope and Architecture | ||
|
|
||
| The scope of this project is to create OpenTelemetry MCP server(s) to simplify deployment and management of the OpenTelemetry stack. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I find this statement slightly confusing, is this SIG simply to connect OTEL to an agent for configuration purposes? I think later the idea of collecting intelligence from telemetry is discussed (data profiling?), which should probably be indicated here if that's in scope.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have slightly changed the paragraph
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great! This is better from my perspective
Signed-off-by: Pavol Loffay <[email protected]>
Signed-off-by: Pavol Loffay <[email protected]>
|
|
||
| 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]. | ||
|
|
||
| Agentic workflows, powered by AI and language models, present a significant opportunity to simplify the deployment, configuration, and management of the OpenTelemetry stack. An agent could, for example, analyze telemetry data, suggest configuration changes to optimize performance, or automatically instrument new services. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think the mentioned opportunities not only apply to agentic workflows, but to LLMs in general. While I like the mentioned examples, we could perhaps phrase it with a bit broader scope as it opens the door for additional use-cases.
Maybe something like the below suggestion?
| Agentic workflows, powered by AI and language models, present a significant opportunity to simplify the deployment, configuration, and management of the OpenTelemetry stack. An agent could, for example, analyze telemetry data, suggest configuration changes to optimize performance, or automatically instrument new services. | |
| 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. |
|
|
||
| Agentic workflows, powered by AI and language models, present a significant opportunity to simplify the deployment, configuration, and management of the OpenTelemetry stack. An agent could, for example, analyze telemetry data, suggest configuration changes to optimize performance, or automatically instrument new services. | ||
|
|
||
| However, to support this process, a standardized interface is required for an AI agent to interact with the OpenTelemetry ecosystem. The Model Context Protocol (MCP) provides an idiomatic approach for this interaction. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| However, to support this process, a standardized interface is required for an AI agent to interact with the OpenTelemetry ecosystem. The Model Context Protocol (MCP) provides an idiomatic approach for this interaction. | |
| 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. |
| * [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. | ||
| * [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 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| * [traceloop/opentelemetry-mcp-server](https://github.com/traceloop/opentelemetry-mcp-server): Provides data profiling by connecting to Jaeger, Tempo and Traceloop | |
| * [traceloop/opentelemetry-mcp-server](https://github.com/traceloop/opentelemetry-mcp-server): Provides data profiling by connecting to Jaeger, Tempo and Traceloop |
| * [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 and hinders the development of a unified, agent-driven management plan for OpenTelemetry. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What is meant with agent-driven management plan ?
An additional downside of the fragmentation is that the setup becomes time consuming if every OTel MCP server has a different setup. The LLM response quality also likely decreases if more (potentially redundant) tool definitions are sent to the LLM which fills up the context window.
|
|
||
| ### Project Scope and Architecture | ||
|
|
||
| The scope of this project is to create OpenTelemetry MCP server(s) to simplify deployment and day-2 operations. |
There was a problem hiding this comment.
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)
| The scope of this project is to create OpenTelemetry MCP server(s) to simplify deployment and day-2 operations. | ||
| The MCP server should also provide data profiling/intelligence capabilities to support the day-2 operation use-cases. | ||
|
|
||
| ### Goals, objectives, and requirements |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I like a lot of the goals we have here right now, but I believe it would be great if we could group/categorize them and specify what exactly we are trying to achieve.
Perhaps something like the below examples:
Collector:
- deployment
- configuration
- ...
Semantic Conventions:
- context optimized querying of the official semconv registry
- Weaver schema generation
- ...
Instrumentation:
- Assisting with SDK initialization
- Detecting broken traces
- Identifying high cardinality issues
- ...
What do you think? I could work on rephrasing this section within the next days
Resolves #3129
Related to open-telemetry/opentelemetry.io#8331