Jaeger MCP服务器
MCP服务器 猎手.
先决条件
- Node.js 18+
快速开始
此MCP服务器(使用 STDIO 传输)可以添加到任何MCP客户端 如VS Code、Claude、Cursor、Windsurf Github Copilot等 jaeger-mcp-server NPM包。
VS代码
{
"servers": {
"jaeger-mcp-server": {
"command": "npx",
"args": ["-y", "jaeger-mcp-server"],
"envFile": "${workspaceFolder}/.env"
}
}
}克劳德桌面
{
"mcpServers": {
"jaeger-mcp-server": {
"command": "npx",
"args": ["-y", "jaeger-mcp-server"],
"env": {
"JAEGER_URL": ""
}
}
}
}配置
环境变量
JAEGER_URL:HTTP API(HTTP JSON(/api/v3/*))或gRPC API(gRPC/Protobuf(jaeger.api_v3.QueryService))要访问的Jaeger实例的URL。JAEGER_PORT:要访问的Jaeger实例的HTTP或gRPC API端口。默认值为16685对于gRPC API和16686用于HTTP API。JAEGER_AUTHORIZATION_HEADER:Authorization要添加到通过Jaeger API查询跟踪的请求中的HTTP头(例如。Basic)JAEGER_PROTOCOL:要访问的Jaeger实例的API协议。有效值为GRPC和HTTP。默认值为GRPC.有效
组件
工具
get-operations:获取JSON对象数组中的操作name和spanKind物业。
支持以下输入参数: - service: - Mandatory: true - Type: string - Description:按服务名称筛选操作 - spanKind: - Mandatory: false - Type: string - Description:按OpenTetry跨度类型筛选操作(server, client, producer, consumer, internal)
get-services:获取JSON字符串数组形式的服务名称。
不支持输入参数。
get-trace:按ID获取给定跟踪的跨度,作为OpenTetry资源跨度格式的JSON对象数组。
- traceId: - Mandatory: true - Type: string - Description:按32个字符的十六进制字符串格式的OpenTetry兼容跟踪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:以OpenTetry资源跨度格式将跨度作为对象的JSON数组进行搜索。
- serviceName: - Mandatory: true - Type: string - Description:按32个字符的十六进制字符串格式的OpenTetry兼容跟踪id进行筛选 - operationName: - Mandatory: false - Type: string - Description:RFC 3339第5.6节格式中的过滤开始时间跨度(例如。, 2017-07-21T17:32:28Z) - attributes: - Mandatory: false
- Type: map
- Description:按span属性筛选span。属性可以以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 条款。 然而,某些实现可能不支持精确的限制 较大的值通常会导致返回更多的轨迹。
资源
不适用
路线图
- 支持
HTTP Stream传输协议(SSE传输协议已弃用,取而代之),以便能够从远程使用MCP服务器。 - 支持更多无法通过Jaeger API直接获得的工具(编排和管道传输多个API端点)
问题和反馈
 
请使用 对于任何错误报告、功能请求和支持。
贡献
  
如果你想捐款,请
- 在GitHub上分叉存储库并克隆你的分叉。
- 为您的更改创建一个分支,并在其上进行更改。
- 通过清楚地解释你的贡献来发送拉取请求。
提示: 请检查现有的类似贡献的拉取请求,并 在编写代码之前,考虑提交一个问题来讨论拟议的功能。
许可证
根据以下许可 麻省理工学院.
