# Jaeger Mcp Server

> MCP Server for Jaeger

- **Type:** MCP server
- **Install:** `agentstack add mcp-serkan-ozal-jaeger-mcp-server`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [serkan-ozal](https://agentstack.voostack.com/s/serkan-ozal)
- **Installs:** 0
- **Category:** [Integrations](https://agentstack.voostack.com/c/integrations)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [serkan-ozal](https://github.com/serkan-ozal)
- **Source:** https://github.com/serkan-ozal/jaeger-mcp-server

## Install

```sh
agentstack add mcp-serkan-ozal-jaeger-mcp-server
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# Jaeger MCP Server

MCP Server for [Jaeger](https://www.jaegertracing.io/).

## Prerequisites
- Node.js 18+

## Quick Start

This MCP server (using `STDIO` transport) can be added to any MCP Client 
like VS Code, Claude, Cursor, Windsurf Github Copilot via the `jaeger-mcp-server` NPM package.

### VS Code

```json
{
  "servers": {
    "jaeger-mcp-server": {
      "command": "npx",
      "args": ["-y", "jaeger-mcp-server"],
      "envFile": "${workspaceFolder}/.env"
    }
  }
}
```

### Claude Desktop
```json
{
  "mcpServers": {
    "jaeger-mcp-server": {
      "command": "npx",
      "args": ["-y", "jaeger-mcp-server"],
      "env": {
        "JAEGER_URL": ""
      }
    }
  }
}
```

## Configuration

### Environment Variables

- `JAEGER_URL`: HTTP API (`HTTP JSON` (`/api/v3/*`)) or the gRPC API (`gRPC/Protobuf` (`jaeger.api_v3.QueryService`)) URL of the Jaeger instance to access.
- `JAEGER_PORT`: HTTP or gRPC API port of the Jaeger instance to access. The default value is `16685` for the gRPC API and `16686` for the HTTP API.
- `JAEGER_AUTHORIZATION_HEADER`: `Authorization` HTTP header to be added into the requests for querying traces over Jaeger API (for ex. `Basic `)
- `JAEGER_PROTOCOL`: API protocol of the Jaeger instance to access. Valid values are `GRPC` and `HTTP`. The default value is `GRPC`. Valid

## Components

### Tools

- `get-operations`: Gets the operations as JSON array of object with `name` and `spanKind` properties.
  Supports the following input parameters:
    - `service`:
        - `Mandatory`: `true`
        - `Type`: `string`
        - `Description`: Filters operations by service name
    - `spanKind`:
        - `Mandatory`: `false`
        - `Type`: `string`
        - `Description`: Filters operations by OpenTelemetry span kind (`server`, `client`, `producer`, `consumer`, `internal`)
- `get-services`: Gets the service names as JSON array of string.
  No input parameter supported.
- `get-trace`: Gets the spans by the given trace by ID as JSON array of object in the OpenTelemetry resource spans format.
    - `traceId`:
        - `Mandatory`: `true`
        - `Type`: `string`
        - `Description`: Filters spans by OpenTelemetry compatible trace id in 32-character hexadecimal string format
    - `startTime`:
        - `Mandatory`: `false`
        - `Type`: `string`
        - `Description`: The start time to filter spans in the RFC 3339, section 5.6 format, (e.g., `2017-07-21T17:32:28Z`)
    - `endTime`:
        - `Mandatory`: `false`
        - `Type`: `string`
        - `Description`: The end time to filter spans in the RFC 3339, section 5.6 format, (e.g., `2017-07-21T17:32:28Z`)
- `find-traces`: Searches the spans as JSON array of object in the OpenTelemetry resource spans format.
    - `serviceName`:
        - `Mandatory`: `true`
        - `Type`: `string`
        - `Description`: Filters spans by OpenTelemetry compatible trace id in 32-character hexadecimal string format
    - `operationName`:
        - `Mandatory`: `false`
        - `Type`: `string`
        - `Description`: The start time to filter spans in the RFC 3339, section 5.6 format, (e.g., `2017-07-21T17:32:28Z`)
    - `attributes`:
        - `Mandatory`: `false`
        - `Type`: `map`
        - `Description`: Filters spans by span attributes. Attributes can be passed in key/value format in JSON where 
                         keys can be string and values can be string, number (integer or double) or boolean.
                         For example

            ```json
            {
                "stringAttribute": "str",
                "integerAttribute": 123,
                "doubleAttribute": 123.456,
                "booleanAttribute": true,
            }
            ```
   - `startTimeMin`:
       - `Mandatory`: `true`
       - `Type`: `string`
       - `Description`: Start of the time interval (inclusive) in the RFC 3339, section 5.6 format, (e.g., `2017-07-21T17:32:28Z`) for the query. 
                        Only traces with spans that started on or after this time will be returned.
   - `startTimeMax`:
       - `Mandatory`: `true`
       - `Type`: `string`
       - `Description`: End of the time interval (exclusive) in the RFC 3339, section 5.6 format, (e.g., `2017-07-21T17:32:28Z`) for the query. 
                        Only traces with spans that started before this time will be returned.
   - `durationMin`:
       - `Mandatory`: `false`
       - `Type`: `string`
       - `Description`: Minimum duration of a span in **milliseconds** in the trace.
                        Only traces with spans that lasted at least this long will be returned.
   - `durationMax`:
       - `Mandatory`: `false`
       - `Type`: `string`
       - `Description`: Maximum duration of a span in **milliseconds** in the trace.
                        Only traces with spans that lasted at most this long will be returned.
   - `searchDepth`:
       - `Mandatory`: `false`
       - `Type`: `number`
       - `Description`: Defines the maximum search depth.
                        Depending on the backend storage implementation, this may behave like an SQL `LIMIT` clause.
                        However, some implementations might not support precise limits
                        and a larger value generally results in more traces being returned.

### Resources

N/A

## Roadmap

- Support `HTTP Stream` transport protocol (`SSE` transport protocol is deprecated in favor of it) to be able to use the MCP server from remote.
- Support more tools which are not directly available over Jaeger API (orchestrating and pipelining multiple API endpoints)

## Issues and Feedback

[](https://github.com/serkan-ozal/jaeger-mcp-server/issues?q=is%3Aopen+is%3Aissue)
[](https://github.com/serkan-ozal/jaeger-mcp-server/issues?q=is%3Aissue+is%3Aclosed)

Please use [GitHub Issues](https://github.com/serkan-ozal/jaeger-mcp-server/issues) for any bug report, feature request and support.

## Contribution

[](https://github.com/serkan-ozal/jaeger-mcp-server/pulls?q=is%3Aopen+is%3Apr)
[](https://github.com/serkan-ozal/jaeger-mcp-server/pulls?q=is%3Apr+is%3Aclosed)
[]()

If you would like to contribute, please
- Fork the repository on GitHub and clone your fork.
- Create a branch for your changes and make your changes on it.
- Send a pull request by explaining clearly what is your contribution.

> Tip:
> Please check the existing pull requests for similar contributions and
> consider submit an issue to discuss the proposed feature before writing code.

## License

Licensed under [MIT](LICENSE).

## Source & license

This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [serkan-ozal](https://github.com/serkan-ozal)
- **Source:** [serkan-ozal/jaeger-mcp-server](https://github.com/serkan-ozal/jaeger-mcp-server)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** yes
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/mcp-serkan-ozal-jaeger-mcp-server
- Seller: https://agentstack.voostack.com/s/serkan-ozal
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
