返回市场
轨迹-MCP服务器

轨迹-MCP服务器

作者:serkan-ozal11 星标更新:2025-05-13

项目介绍

Jaeger MCP 服务器

构建状态 NPM 版本 许可证

Jaeger 的 MCP 服务器。

预备条件

  • Node.js 18+

快速开始

此 MCP 服务器(使用 STDIO 传输)可以通过 jaeger-mcp-server NPM 包添加到任何 MCP 客户端中,如 VS Code、Claude、Cursor、Windsurf Github Copilot。

VS Code

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

Claude Desktop

{
  "mcpServers": {
    "jaeger-mcp-server": {
      "command": "npx",
      "args": ["-y", "jaeger-mcp-server"],
      "env": {
        "JAEGER_URL": "<YOUR_JAEGER_HTTP_OR_GRPC_API_URL>"
      }
    }
  }
}

配置

环境变量

  • JAEGER_URL: Jaeger 实例的 HTTP API (HTTP JSON (/api/v3/*)) 或 gRPC API (gRPC/Protobuf (jaeger.api_v3.QueryService)) URL。
  • JAEGER_PORT: Jaeger 实例的 HTTP 或 gRPC API 端口。默认值是 gRPC API 的 16685 和 HTTP API 的 16686
  • JAEGER_AUTHORIZATION_HEADER: 查询 Jaeger API 追踪时要添加到请求中的 Authorization HTTP 头(例如:Basic <Basic Auth Header>)。
  • JAEGER_PROTOCOL: 要访问的 Jaeger 实例的 API 协议。有效值为 GRPCHTTP。默认值为 GRPC

组件

工具

  • get-operations: 获取操作作为具有 namespanKind 属性的对象的 JSON 数组。 支持以下输入参数:
    • service:
      • Mandatory: true
      • Type: string
      • Description: 按服务名称过滤操作
    • spanKind:
      • Mandatory: false
      • Type: string
      • Description: 按 OpenTelemetry 跨度类型过滤操作(server, client, producer, consumer, internal
  • get-services: 获取服务名称作为字符串的 JSON 数组。 不支持输入参数。
  • get-trace: 根据给定的追踪 ID 获取跨度作为 OpenTelemetry 资源跨度格式的对象的 JSON 数组。
    • traceId:
      • Mandatory: true
      • Type: string
      • Description: 按 OpenTelemetry 兼容的 32 字符十六进制字符串格式的追踪 ID 过滤跨度
    • startTime:
      • Mandatory: false
      • Type: string
      • Description: 按 RFC 3339 第 5.6 节格式的时间过滤跨度(例如:2017-07-21T17:32:28Z
    • endTime:
      • Mandatory: false
      • Type: string
      • Description: 按 RFC 3339 第 5.6 节格式的时间过滤跨度(例如:2017-07-21T17:32:28Z
  • find-traces: 搜索跨度作为 OpenTelemetry 资源跨度格式的对象的 JSON 数组。
    • serviceName:
      • Mandatory: true
      • Type: string
      • Description: 按 OpenTelemetry 兼容的 32 字符十六进制字符串格式的追踪 ID 过滤跨度
    • operationName:
      • Mandatory: false
      • Type: string
      • Description: 按 RFC 3339 第 5.6 节格式的时间过滤跨度(例如:2017-07-21T17:32:28Z
    • attributes:
      • Mandatory: false

      • Type: map<string, string | number | boolean>

      • Description: 按跨度属性过滤跨度。属性可以以键值对形式在 JSON 中传递,其中键可以是字符串,值可以是字符串、数字(整数或双精度浮点数)或布尔值。 例如

        {
            "stringAttribute": "str",
            "integerAttribute": 123,
            "doubleAttribute": 123.456,
            "booleanAttribute": true,
        }
        
    • startTimeMin:
      • Mandatory: true
      • Type: string
      • Description: 查询的时间间隔起始时间(包括),按 RFC 3339 第 5.6 节格式(例如:2017-07-21T17:32:28Z)。仅返回起始时间在此时间之后的跨度的追踪。
    • startTimeMax:
      • Mandatory: true
      • Type: string
      • Description: 查询的时间间隔结束时间(不包括),按 RFC 3339 第 5.6 节格式(例如:2017-07-21T17:32:28Z)。仅返回起始时间在此时间之前的跨度的追踪。
    • durationMin:
      • Mandatory: false
      • Type: string
      • Description: 跟踪中跨度的最小持续时间(以毫秒为单位)。仅返回持续时间至少为此长的跨度的追踪。
    • durationMax:
      • Mandatory: false
      • Type: string
      • Description: 跟踪中跨度的最大持续时间(以毫秒为单位)。仅返回持续时间至多为此长的跨度的追踪。
    • searchDepth:
      • Mandatory: false
      • Type: number
      • Description: 定义最大搜索深度。根据后端存储实现,这可能类似于 SQL 的 LIMIT 子句。然而,某些实现可能不支持精确限制,并且较大的值通常会导致返回更多的追踪。

资源

N/A

发展路线图

  • 支持 HTTP Stream 传输协议(SSE 传输协议已被弃用,取而代之),以便能够从远程使用 MCP 服务器。
  • 支持更多无法通过 Jaeger API 直接获取的工具(编排和流水线多个 API 端点)。

问题与反馈

问题 已关闭的问题

请使用 GitHub Issues 提交任何错误报告、功能请求和支持。

贡献

拉取请求 已关闭的拉取请求 贡献者

如果您想做出贡献,请

  • 在 GitHub 上 fork 仓库并克隆您的 fork。
  • 创建一个分支进行更改并在该分支上进行更改。
  • 解释清楚您的贡献并发送拉取请求。

提示: 请检查现有的拉取请求是否有类似的贡献,并考虑提交一个问题来讨论提议的功能,然后再编写代码。

许可证

根据 MIT 许可证授权。