Grafana Tempo · Capability
Grafana Tempo HTTP API
Grafana Tempo HTTP API. 10 operations. Lead operation: Echo endpoint. Self-contained Naftiko capability covering one Grafana Tempo business surface.
What You Can Do
GET
Echo
— Echo endpoint
/v1/api/echo
GET
Getmetricssummary
— Get metrics summary
/v1/api/metrics/summary
GET
Searchtraces
— Search for traces
/v1/api/search
GET
Getsearchtagvalues
— Get values for a tag
/v1/api/search/tag/{tagname}/values
GET
Getsearchtags
— Get search tag names
/v1/api/search/tags
GET
Gettracebyid
— Get trace by ID
/v1/api/traces/{traceid}
GET
Getsearchtagvaluesv2
— Get values for a tag (v2)
/v1/api/v2/search/tag/{tagname}/values
GET
Getsearchtagsv2
— Get search tag names (v2)
/v1/api/v2/search/tags
GET
Ready
— Readiness check
/v1/ready
GET
Getbuildinfo
— Get build information
/v1/status/buildinfo
MCP Tools
echo-endpoint
Echo endpoint
read-only
idempotent
get-metrics-summary
Get metrics summary
read-only
idempotent
search-traces
Search for traces
read-only
idempotent
get-values-tag
Get values for a tag
read-only
idempotent
get-search-tag-names
Get search tag names
read-only
idempotent
get-trace-id
Get trace by ID
read-only
idempotent
get-values-tag-v2
Get values for a tag (v2)
read-only
idempotent
get-search-tag-names-v2
Get search tag names (v2)
read-only
idempotent
readiness-check
Readiness check
read-only
idempotent
get-build-information
Get build information
read-only
idempotent
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: Grafana Tempo HTTP API
description: 'Grafana Tempo HTTP API. 10 operations. Lead operation: Echo endpoint. Self-contained Naftiko capability covering
one Grafana Tempo business surface.'
tags:
- Grafana Tempo
- Grafana Tempo HTTP API
created: '2026-05-19'
modified: '2026-05-19'
binds:
- namespace: env
keys:
GRAFANA_TEMPO_API_KEY: GRAFANA_TEMPO_API_KEY
capability:
consumes:
- type: http
namespace: tempo-http
baseUri: http://localhost:3200
description: Grafana Tempo HTTP API business capability. Self-contained, no shared references.
resources:
- name: api-echo
path: /api/echo
operations:
- name: echo
method: GET
description: Echo endpoint
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: api-metrics-summary
path: /api/metrics/summary
operations:
- name: getmetricssummary
method: GET
description: Get metrics summary
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: q
in: query
type: string
description: TraceQL query to compute metrics from
required: true
- name: groupBy
in: query
type: string
description: Attribute to group metrics by
- name: start
in: query
type: integer
- name: end
in: query
type: integer
- name: api-search
path: /api/search
operations:
- name: searchtraces
method: GET
description: Search for traces
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: q
in: query
type: string
description: TraceQL query string
- name: tags
in: query
type: string
description: Tag-based search in logfmt format, e.g. "service.name=myservice error=true"
- name: minDuration
in: query
type: string
description: Minimum trace duration, e.g. "1.5s" or "500ms"
- name: maxDuration
in: query
type: string
description: Maximum trace duration
- name: limit
in: query
type: integer
description: Maximum number of traces to return
- name: start
in: query
type: integer
description: Start of time range in Unix epoch seconds
- name: end
in: query
type: integer
description: End of time range in Unix epoch seconds
- name: spss
in: query
type: integer
description: Spans per span set, limits spans returned per set
- name: api-search-tag-tagName-values
path: /api/search/tag/{tagName}/values
operations:
- name: getsearchtagvalues
method: GET
description: Get values for a tag
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: tagName
in: path
type: string
description: The tag name to lookup values for
required: true
- name: q
in: query
type: string
description: TraceQL query to filter values by
- name: start
in: query
type: integer
description: Start of time range in Unix epoch seconds
- name: end
in: query
type: integer
description: End of time range in Unix epoch seconds
- name: api-search-tags
path: /api/search/tags
operations:
- name: getsearchtags
method: GET
description: Get search tag names
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: scope
in: query
type: string
description: Scope of tags to return (resource, span, or intrinsic)
- name: start
in: query
type: integer
description: Start of time range in Unix epoch seconds
- name: end
in: query
type: integer
description: End of time range in Unix epoch seconds
- name: api-traces-traceID
path: /api/traces/{traceID}
operations:
- name: gettracebyid
method: GET
description: Get trace by ID
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: traceID
in: path
type: string
description: Trace ID in hex format
required: true
- name: start
in: query
type: integer
description: Start of time range in Unix epoch seconds
- name: end
in: query
type: integer
description: End of time range in Unix epoch seconds
- name: api-v2-search-tag-tagName-values
path: /api/v2/search/tag/{tagName}/values
operations:
- name: getsearchtagvaluesv2
method: GET
description: Get values for a tag (v2)
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: tagName
in: path
type: string
required: true
- name: q
in: query
type: string
description: TraceQL query to filter values
- name: start
in: query
type: integer
- name: end
in: query
type: integer
- name: api-v2-search-tags
path: /api/v2/search/tags
operations:
- name: getsearchtagsv2
method: GET
description: Get search tag names (v2)
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: scope
in: query
type: string
description: Scope of tags to return
- name: start
in: query
type: integer
- name: end
in: query
type: integer
- name: ready
path: /ready
operations:
- name: ready
method: GET
description: Readiness check
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: status-buildinfo
path: /status/buildinfo
operations:
- name: getbuildinfo
method: GET
description: Get build information
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
exposes:
- type: rest
namespace: tempo-http-rest
port: 8080
description: REST adapter for Grafana Tempo HTTP API. One Spectral-compliant resource per consumed operation, prefixed
with /v1.
resources:
- path: /v1/api/echo
name: api-echo
description: REST surface for api-echo.
operations:
- method: GET
name: echo
description: Echo endpoint
call: tempo-http.echo
outputParameters:
- type: object
mapping: $.
- path: /v1/api/metrics/summary
name: api-metrics-summary
description: REST surface for api-metrics-summary.
operations:
- method: GET
name: getmetricssummary
description: Get metrics summary
call: tempo-http.getmetricssummary
with:
q: rest.q
groupBy: rest.groupBy
start: rest.start
end: rest.end
outputParameters:
- type: object
mapping: $.
- path: /v1/api/search
name: api-search
description: REST surface for api-search.
operations:
- method: GET
name: searchtraces
description: Search for traces
call: tempo-http.searchtraces
with:
q: rest.q
tags: rest.tags
minDuration: rest.minDuration
maxDuration: rest.maxDuration
limit: rest.limit
start: rest.start
end: rest.end
spss: rest.spss
outputParameters:
- type: object
mapping: $.
- path: /v1/api/search/tag/{tagname}/values
name: api-search-tag-tagname-values
description: REST surface for api-search-tag-tagName-values.
operations:
- method: GET
name: getsearchtagvalues
description: Get values for a tag
call: tempo-http.getsearchtagvalues
with:
tagName: rest.tagName
q: rest.q
start: rest.start
end: rest.end
outputParameters:
- type: object
mapping: $.
- path: /v1/api/search/tags
name: api-search-tags
description: REST surface for api-search-tags.
operations:
- method: GET
name: getsearchtags
description: Get search tag names
call: tempo-http.getsearchtags
with:
scope: rest.scope
start: rest.start
end: rest.end
outputParameters:
- type: object
mapping: $.
- path: /v1/api/traces/{traceid}
name: api-traces-traceid
description: REST surface for api-traces-traceID.
operations:
- method: GET
name: gettracebyid
description: Get trace by ID
call: tempo-http.gettracebyid
with:
traceID: rest.traceID
start: rest.start
end: rest.end
outputParameters:
- type: object
mapping: $.
- path: /v1/api/v2/search/tag/{tagname}/values
name: api-v2-search-tag-tagname-values
description: REST surface for api-v2-search-tag-tagName-values.
operations:
- method: GET
name: getsearchtagvaluesv2
description: Get values for a tag (v2)
call: tempo-http.getsearchtagvaluesv2
with:
tagName: rest.tagName
q: rest.q
start: rest.start
end: rest.end
outputParameters:
- type: object
mapping: $.
- path: /v1/api/v2/search/tags
name: api-v2-search-tags
description: REST surface for api-v2-search-tags.
operations:
- method: GET
name: getsearchtagsv2
description: Get search tag names (v2)
call: tempo-http.getsearchtagsv2
with:
scope: rest.scope
start: rest.start
end: rest.end
outputParameters:
- type: object
mapping: $.
- path: /v1/ready
name: ready
description: REST surface for ready.
operations:
- method: GET
name: ready
description: Readiness check
call: tempo-http.ready
outputParameters:
- type: object
mapping: $.
- path: /v1/status/buildinfo
name: status-buildinfo
description: REST surface for status-buildinfo.
operations:
- method: GET
name: getbuildinfo
description: Get build information
call: tempo-http.getbuildinfo
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: tempo-http-mcp
port: 9090
transport: http
description: MCP adapter for Grafana Tempo HTTP API. One tool per consumed operation, routed inline through this capability's
consumes block.
tools:
- name: echo-endpoint
description: Echo endpoint
hints:
readOnly: true
destructive: false
idempotent: true
call: tempo-http.echo
outputParameters:
- type: object
mapping: $.
- name: get-metrics-summary
description: Get metrics summary
hints:
readOnly: true
destructive: false
idempotent: true
call: tempo-http.getmetricssummary
with:
q: tools.q
groupBy: tools.groupBy
start: tools.start
end: tools.end
outputParameters:
- type: object
mapping: $.
- name: search-traces
description: Search for traces
hints:
readOnly: true
destructive: false
idempotent: true
call: tempo-http.searchtraces
with:
q: tools.q
tags: tools.tags
minDuration: tools.minDuration
maxDuration: tools.maxDuration
limit: tools.limit
start: tools.start
end: tools.end
spss: tools.spss
outputParameters:
- type: object
mapping: $.
- name: get-values-tag
description: Get values for a tag
hints:
readOnly: true
destructive: false
idempotent: true
call: tempo-http.getsearchtagvalues
with:
tagName: tools.tagName
q: tools.q
start: tools.start
end: tools.end
outputParameters:
- type: object
mapping: $.
- name: get-search-tag-names
description: Get search tag names
hints:
readOnly: true
destructive: false
idempotent: true
call: tempo-http.getsearchtags
with:
scope: tools.scope
start: tools.start
end: tools.end
outputParameters:
- type: object
mapping: $.
- name: get-trace-id
description: Get trace by ID
hints:
readOnly: true
destructive: false
idempotent: true
call: tempo-http.gettracebyid
with:
traceID: tools.traceID
start: tools.start
end: tools.end
outputParameters:
- type: object
mapping: $.
- name: get-values-tag-v2
description: Get values for a tag (v2)
hints:
readOnly: true
destructive: false
idempotent: true
call: tempo-http.getsearchtagvaluesv2
with:
tagName: tools.tagName
q: tools.q
start: tools.start
end: tools.end
outputParameters:
- type: object
mapping: $.
- name: get-search-tag-names-v2
description: Get search tag names (v2)
hints:
readOnly: true
destructive: false
idempotent: true
call: tempo-http.getsearchtagsv2
with:
scope: tools.scope
start: tools.start
end: tools.end
outputParameters:
- type: object
mapping: $.
- name: readiness-check
description: Readiness check
hints:
readOnly: true
destructive: false
idempotent: true
call: tempo-http.ready
outputParameters:
- type: object
mapping: $.
- name: get-build-information
description: Get build information
hints:
readOnly: true
destructive: false
idempotent: true
call: tempo-http.getbuildinfo
outputParameters:
- type: object
mapping: $.