Skip to main content
The Operata MCP Server exposes seven tools over the Model Context Protocol (MCP). To connect a client first, see Connect Claude, Connect Cursor, or Connect ChatGPT.
The Operata MCP Server is in preview. The tool surface may change as the implementation tracks the MCP specification and customer feedback. Follow the changelog for updates.

Endpoint and authentication

The MCP server uses the same Operata API tokens as the REST API. See Authentication to mint one, and Rate limits for throttling behavior. The trace tools are schema-driven. Discover the shape of the data before you query it.
  1. get_schema — learn the available services, column paths, query types, aggregate functions, and filter operators.
  2. traces_list — browse and filter traces by time range, span name, or duration.
  3. traces_query — run analytics: counts, averages, trends, rates, and facets.
  4. traces_get — drill into a single trace for the full span tree.
  5. traces_span_insights and traces_span_logs — deep diagnostics on an individual span.
  6. knowledge — documentation and troubleshooting guidance.

Tools

get_schema

Returns the complete data schema: available services, column paths, query types, aggregate functions, and filter operators. Call this tool first so the AI client constructs valid queries. Parameters
  • query_reason (string, optional) — why the schema is being requested.

knowledge

Retrieves information from the Operata knowledge base — Operata features, CX observability concepts, and troubleshooting guidance. Parameters
  • query (string, required) — your question about Operata features or concepts.

traces_list

Lists and searches traces with filtering, sorting, and cursor-based pagination. Returns trace summaries with metadata such as duration, span count, and status. Parameters
  • startTime (string, required) — ISO 8601 UTC start time.
  • endTime (string, required) — ISO 8601 UTC end time.
  • filters (array, optional) — filter objects, each a path plus an operator (eq, gt, lt, and so on).
  • sort (string, optional) — "asc" or "desc". Default "desc".
  • limit (integer, optional) — results per page, 1–1000. Default 100.
  • cursor (object, optional) — pagination cursor from a previous response.
Available filter fields: SpanName, ServiceName, StatusCode, SpanKind, Duration.

traces_query

Executes analytical queries against trace data. Supports five query types that can be combined in a single request. Each query specifies a key (a unique identifier) and a service. Parameters
  • startTime (string, required) — ISO 8601 UTC start time.
  • endTime (string, required) — ISO 8601 UTC end time.
  • queries (object, required) — an object containing arrays for each query type.

traces_get

Retrieves a single trace by ID in full OpenTelemetry JSON, with all spans and logs. Parameters
  • traceId (string, required) — the 32-character hex trace identifier.
  • includeInternal (boolean, optional) — include internal operata.* spans. Default false.

traces_span_insights

Returns the insights — detected issues and anomalies — associated with a specific span within a trace. Parameters
  • traceId (string, required) — the 32-character hex trace identifier.
  • spanId (string, required) — the 16-character hex span identifier.

traces_span_logs

Returns paginated logs for a specific span within a trace — softphone logs, CCP events, and other diagnostic records. Parameters
  • traceId (string, required) — the 32-character hex trace identifier.
  • spanId (string, required) — the 16-character hex span identifier.
  • limit (integer, optional) — max log records, 1–1000. Default 50.
  • cursor (object, optional) — pagination cursor from a previous response.

Services

traces_query and the schema operate against four services. Each is one row per interaction at a different level of the customer journey.

Query types

A single traces_query request can combine any of these types.

Query construction

These constraints trip up generated queries most often:
  • Service selection drives the path convention. Use Attributes.cx.* for agent_interaction; use Attributes.* directly for journey_interaction.
  • Boolean fields such as had_agent, had_bot, and had_queue are stored as strings. Filter with "eq": "true", not boolean true.
  • SpanName cannot be used in traces_query filters. Use traces_list with a SpanName filter instead.
Call get_schema before building a complex query. Scope startTime/endTime to the narrowest range that meets your need, and combine query types in one traces_query call to minimize round-trips. Use cursor-based pagination on traces_list and traces_span_logs for large result sets.

Verify

List the available tools to confirm the server is reachable and returning the full tool surface:
The response lists all seven tools: get_schema, knowledge, traces_list, traces_query, traces_get, traces_span_insights, and traces_span_logs.