Jaeger · Capability
Jaeger Query API
The Jaeger Query API provides HTTP endpoints for retrieving trace data, service information, operations, and dependency graphs from the Jaeger distributed tracing backend. This API is exposed by the jaeger-query component and is used by the Jaeger UI and other clients to search and retrieve distributed traces collected across microservices.
What You Can Do
GET
Searchtraces
— Search traces
/api/traces
GET
Gettrace
— Get a trace by ID
/api/traces/{traceID}
GET
Getservices
— Get all services
/api/services
GET
Getoperations
— Get operations for a service
/api/services/{service}/operations
GET
Getdependencies
— Get service dependency graph
/api/dependencies
GET
Getlatencymetrics
— Get latency metrics
/api/metrics/latencies
GET
Getcallmetrics
— Get call rate metrics
/api/metrics/calls
GET
Geterrormetrics
— Get error rate metrics
/api/metrics/errors
GET
Getminstep
— Get minimum step duration
/api/metrics/minstep
MCP Tools
searchtraces
Search traces
read-only
idempotent
gettrace
Get a trace by ID
read-only
idempotent
getservices
Get all services
read-only
idempotent
getoperations
Get operations for a service
read-only
idempotent
getdependencies
Get service dependency graph
read-only
idempotent
getlatencymetrics
Get latency metrics
read-only
idempotent
getcallmetrics
Get call rate metrics
read-only
idempotent
geterrormetrics
Get error rate metrics
read-only
idempotent
getminstep
Get minimum step duration
read-only
idempotent
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: Jaeger Query API
description: The Jaeger Query API provides HTTP endpoints for retrieving trace data, service information, operations, and
dependency graphs from the Jaeger distributed tracing backend. This API is exposed by the jaeger-query component and is
used by the Jaeger UI and other clients to search and retrieve distributed traces collected across microservices.
tags:
- Jaeger
- API
created: '2026-05-06'
modified: '2026-05-06'
capability:
consumes:
- type: http
namespace: jaeger
baseUri: http://localhost:16686
description: Jaeger Query API HTTP API.
resources:
- name: api-traces
path: /api/traces
operations:
- name: searchtraces
method: GET
description: Search traces
inputParameters:
- name: service
in: query
type: string
required: true
description: The service name to filter traces by.
- name: operation
in: query
type: string
description: The operation name to filter traces by.
- name: tags
in: query
type: string
description: Tags to filter by in JSON format, e.g. {"http.status_code":"200"}.
- name: start
in: query
type: integer
description: Start time as Unix microseconds.
- name: end
in: query
type: integer
description: End time as Unix microseconds.
- name: minDuration
in: query
type: string
description: Minimum trace duration filter, specified as a duration string (e.g. 1.2s, 100ms, 500us).
- name: maxDuration
in: query
type: string
description: Maximum trace duration filter, specified as a duration string (e.g. 1.2s, 100ms, 500us).
- name: limit
in: query
type: integer
description: Maximum number of traces to return.
- name: lookback
in: query
type: string
description: How far back to search for traces, specified as a duration string (e.g. 1h, 2d). Only used if start
and end are not set.
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: api-traces-traceid
path: /api/traces/{traceID}
operations:
- name: gettrace
method: GET
description: Get a trace by ID
inputParameters:
- name: traceID
in: path
type: string
required: true
description: The trace ID in hexadecimal format (16 or 32 hex characters).
- name: raw
in: query
type: boolean
description: Return raw trace data without post-processing.
- name: prettyPrint
in: query
type: boolean
description: Pretty-print the JSON response.
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: api-services
path: /api/services
operations:
- name: getservices
method: GET
description: Get all services
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: api-services-service-operations
path: /api/services/{service}/operations
operations:
- name: getoperations
method: GET
description: Get operations for a service
inputParameters:
- name: service
in: path
type: string
required: true
description: The service name.
- name: spanKind
in: query
type: string
description: Filter operations by span kind (e.g. server, client, producer, consumer).
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: api-dependencies
path: /api/dependencies
operations:
- name: getdependencies
method: GET
description: Get service dependency graph
inputParameters:
- name: endTs
in: query
type: integer
required: true
description: End timestamp in Unix milliseconds.
- name: lookback
in: query
type: integer
required: true
description: Duration to look back from endTs in milliseconds.
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: api-metrics-latencies
path: /api/metrics/latencies
operations:
- name: getlatencymetrics
method: GET
description: Get latency metrics
inputParameters:
- name: service
in: query
type: string
required: true
description: The service name.
- name: quantile
in: query
type: number
required: true
description: The quantile to retrieve (e.g. 0.5, 0.75, 0.95, 0.99).
- name: endTs
in: query
type: integer
description: End timestamp in Unix milliseconds.
- name: lookback
in: query
type: integer
description: Duration to look back in milliseconds.
- name: step
in: query
type: integer
description: Step duration for bucketing in milliseconds.
- name: ratePer
in: query
type: integer
description: Rate normalization duration in milliseconds.
- name: spanKind
in: query
type: string
description: Filter by span kind.
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: api-metrics-calls
path: /api/metrics/calls
operations:
- name: getcallmetrics
method: GET
description: Get call rate metrics
inputParameters:
- name: service
in: query
type: string
required: true
description: The service name.
- name: endTs
in: query
type: integer
description: End timestamp in Unix milliseconds.
- name: lookback
in: query
type: integer
description: Duration to look back in milliseconds.
- name: step
in: query
type: integer
description: Step duration for bucketing in milliseconds.
- name: ratePer
in: query
type: integer
description: Rate normalization duration in milliseconds.
- name: spanKind
in: query
type: string
description: Filter by span kind.
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: api-metrics-errors
path: /api/metrics/errors
operations:
- name: geterrormetrics
method: GET
description: Get error rate metrics
inputParameters:
- name: service
in: query
type: string
required: true
description: The service name.
- name: endTs
in: query
type: integer
description: End timestamp in Unix milliseconds.
- name: lookback
in: query
type: integer
description: Duration to look back in milliseconds.
- name: step
in: query
type: integer
description: Step duration for bucketing in milliseconds.
- name: ratePer
in: query
type: integer
description: Rate normalization duration in milliseconds.
- name: spanKind
in: query
type: string
description: Filter by span kind.
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: api-metrics-minstep
path: /api/metrics/minstep
operations:
- name: getminstep
method: GET
description: Get minimum step duration
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
exposes:
- type: rest
port: 8080
namespace: jaeger-rest
description: REST adapter for Jaeger Query API.
resources:
- path: /api/traces
name: searchtraces
operations:
- method: GET
name: searchtraces
description: Search traces
call: jaeger.searchtraces
outputParameters:
- type: object
mapping: $.
- path: /api/traces/{traceID}
name: gettrace
operations:
- method: GET
name: gettrace
description: Get a trace by ID
call: jaeger.gettrace
with:
traceID: rest.traceID
outputParameters:
- type: object
mapping: $.
- path: /api/services
name: getservices
operations:
- method: GET
name: getservices
description: Get all services
call: jaeger.getservices
outputParameters:
- type: object
mapping: $.
- path: /api/services/{service}/operations
name: getoperations
operations:
- method: GET
name: getoperations
description: Get operations for a service
call: jaeger.getoperations
with:
service: rest.service
outputParameters:
- type: object
mapping: $.
- path: /api/dependencies
name: getdependencies
operations:
- method: GET
name: getdependencies
description: Get service dependency graph
call: jaeger.getdependencies
outputParameters:
- type: object
mapping: $.
- path: /api/metrics/latencies
name: getlatencymetrics
operations:
- method: GET
name: getlatencymetrics
description: Get latency metrics
call: jaeger.getlatencymetrics
outputParameters:
- type: object
mapping: $.
- path: /api/metrics/calls
name: getcallmetrics
operations:
- method: GET
name: getcallmetrics
description: Get call rate metrics
call: jaeger.getcallmetrics
outputParameters:
- type: object
mapping: $.
- path: /api/metrics/errors
name: geterrormetrics
operations:
- method: GET
name: geterrormetrics
description: Get error rate metrics
call: jaeger.geterrormetrics
outputParameters:
- type: object
mapping: $.
- path: /api/metrics/minstep
name: getminstep
operations:
- method: GET
name: getminstep
description: Get minimum step duration
call: jaeger.getminstep
outputParameters:
- type: object
mapping: $.
- type: mcp
port: 9090
namespace: jaeger-mcp
transport: http
description: MCP adapter for Jaeger Query API for AI agent use.
tools:
- name: searchtraces
description: Search traces
hints:
readOnly: true
destructive: false
idempotent: true
call: jaeger.searchtraces
with:
service: tools.service
operation: tools.operation
tags: tools.tags
start: tools.start
end: tools.end
minDuration: tools.minDuration
maxDuration: tools.maxDuration
limit: tools.limit
lookback: tools.lookback
inputParameters:
- name: service
type: string
description: The service name to filter traces by.
required: true
- name: operation
type: string
description: The operation name to filter traces by.
- name: tags
type: string
description: Tags to filter by in JSON format, e.g. {"http.status_code":"200"}.
- name: start
type: integer
description: Start time as Unix microseconds.
- name: end
type: integer
description: End time as Unix microseconds.
- name: minDuration
type: string
description: Minimum trace duration filter, specified as a duration string (e.g. 1.2s, 100ms, 500us).
- name: maxDuration
type: string
description: Maximum trace duration filter, specified as a duration string (e.g. 1.2s, 100ms, 500us).
- name: limit
type: integer
description: Maximum number of traces to return.
- name: lookback
type: string
description: How far back to search for traces, specified as a duration string (e.g. 1h, 2d). Only used if start and
end are not set.
outputParameters:
- type: object
mapping: $.
- name: gettrace
description: Get a trace by ID
hints:
readOnly: true
destructive: false
idempotent: true
call: jaeger.gettrace
with:
traceID: tools.traceID
raw: tools.raw
prettyPrint: tools.prettyPrint
inputParameters:
- name: traceID
type: string
description: The trace ID in hexadecimal format (16 or 32 hex characters).
required: true
- name: raw
type: boolean
description: Return raw trace data without post-processing.
- name: prettyPrint
type: boolean
description: Pretty-print the JSON response.
outputParameters:
- type: object
mapping: $.
- name: getservices
description: Get all services
hints:
readOnly: true
destructive: false
idempotent: true
call: jaeger.getservices
outputParameters:
- type: object
mapping: $.
- name: getoperations
description: Get operations for a service
hints:
readOnly: true
destructive: false
idempotent: true
call: jaeger.getoperations
with:
service: tools.service
spanKind: tools.spanKind
inputParameters:
- name: service
type: string
description: The service name.
required: true
- name: spanKind
type: string
description: Filter operations by span kind (e.g. server, client, producer, consumer).
outputParameters:
- type: object
mapping: $.
- name: getdependencies
description: Get service dependency graph
hints:
readOnly: true
destructive: false
idempotent: true
call: jaeger.getdependencies
with:
endTs: tools.endTs
lookback: tools.lookback
inputParameters:
- name: endTs
type: integer
description: End timestamp in Unix milliseconds.
required: true
- name: lookback
type: integer
description: Duration to look back from endTs in milliseconds.
required: true
outputParameters:
- type: object
mapping: $.
- name: getlatencymetrics
description: Get latency metrics
hints:
readOnly: true
destructive: false
idempotent: true
call: jaeger.getlatencymetrics
with:
service: tools.service
quantile: tools.quantile
endTs: tools.endTs
lookback: tools.lookback
step: tools.step
ratePer: tools.ratePer
spanKind: tools.spanKind
inputParameters:
- name: service
type: string
description: The service name.
required: true
- name: quantile
type: number
description: The quantile to retrieve (e.g. 0.5, 0.75, 0.95, 0.99).
required: true
- name: endTs
type: integer
description: End timestamp in Unix milliseconds.
- name: lookback
type: integer
description: Duration to look back in milliseconds.
- name: step
type: integer
description: Step duration for bucketing in milliseconds.
- name: ratePer
type: integer
description: Rate normalization duration in milliseconds.
- name: spanKind
type: string
description: Filter by span kind.
outputParameters:
- type: object
mapping: $.
- name: getcallmetrics
description: Get call rate metrics
hints:
readOnly: true
destructive: false
idempotent: true
call: jaeger.getcallmetrics
with:
service: tools.service
endTs: tools.endTs
lookback: tools.lookback
step: tools.step
ratePer: tools.ratePer
spanKind: tools.spanKind
inputParameters:
- name: service
type: string
description: The service name.
required: true
- name: endTs
type: integer
description: End timestamp in Unix milliseconds.
- name: lookback
type: integer
description: Duration to look back in milliseconds.
- name: step
type: integer
description: Step duration for bucketing in milliseconds.
- name: ratePer
type: integer
description: Rate normalization duration in milliseconds.
- name: spanKind
type: string
description: Filter by span kind.
outputParameters:
- type: object
mapping: $.
- name: geterrormetrics
description: Get error rate metrics
hints:
readOnly: true
destructive: false
idempotent: true
call: jaeger.geterrormetrics
with:
service: tools.service
endTs: tools.endTs
lookback: tools.lookback
step: tools.step
ratePer: tools.ratePer
spanKind: tools.spanKind
inputParameters:
- name: service
type: string
description: The service name.
required: true
- name: endTs
type: integer
description: End timestamp in Unix milliseconds.
- name: lookback
type: integer
description: Duration to look back in milliseconds.
- name: step
type: integer
description: Step duration for bucketing in milliseconds.
- name: ratePer
type: integer
description: Rate normalization duration in milliseconds.
- name: spanKind
type: string
description: Filter by span kind.
outputParameters:
- type: object
mapping: $.
- name: getminstep
description: Get minimum step duration
hints:
readOnly: true
destructive: false
idempotent: true
call: jaeger.getminstep
outputParameters:
- type: object
mapping: $.