Skip to main content

MCP servers

MCP Servers in AI Center shows how your Model Context Protocol (MCP) servers perform. It is for the teams that own those servers. See which tools agents call, which calls fail and why, how long calls take, and who uses the server.

Let your coding agents do this​

Recommended

Easiest way through this page: hand it to your coding agent. Copy this prompt in, from your MCP server project:

Read https://coralogix.com/docs/ai-center, install the ai-app-instrumentation skill
(npx -y skills add coralogix/cx-skills --skill ai-app-instrumentation -y), then run it to
instrument this MCP server and verify the data in Coralogix AI Center.

The ai-app-instrumentation skill checks what your MCP SDK already emits, adds the missing OpenTelemetry MCP spans, sends a real request through the server, and checks that the spans land in AI Center. It asks you only for what it cannot get on its own, such as a Send-Your-Data key. The empty state of the MCP Servers page shows the same prompt.

What you need​

The skill above sets this up for you. You need this list only to instrument the server yourself.

MCP Servers reads OpenTelemetry MCP semantic-convention spans from your spans data. These spans carry attributes such as mcp.method.name, gen_ai.tool.name, error.type, the span status message, and enduser.id. No other setup is needed beyond sending these spans to Coralogix.

  • The MCP Python SDK 2.x emits these spans by default once you set a TracerProvider.
  • FastMCP servers also emit enduser.id when they authenticate callers.

Open MCP Servers​

  1. In the Coralogix UI, go to AI Center, then MCP Servers.
  2. Use the time picker to select the time range.

If your account has no MCP server spans, the page shows an empty state. Create a Send-Your-Data key, then paste the agent prompt into your coding agent. The first spans appear on the page after your MCP server handles a request.

Page sections​

Use the side navigation to jump between sections. Each widget shows a ranked total or, with Over time, its top values over time. Each widget menu has View query and Add to Olly context.

SectionWhat it shows
InsightsFindings across your servers, such as tools that fail often and slow tools. Select a finding to open the server.
OverviewTiles for Clients, Calls, Error rate, and P95 latency. Select a tile to chart it over time.
ServersBusiest, slowest, and most failing servers, and a table of all servers. Select a server to open its drilldown.
ClientsMost active clients, and a table with each client's calls, servers used, tools used, and error rate.
ToolsMost used, slowest, and most failing tools, and a table of all tools.
MethodsCalls, latency, and failed calls per MCP method, and a table of all methods.

Tables support search, CSV export, and paging. "Most failing" ranks by failed calls.

Clients on this page and Users in the drilldown count distinct authenticated identities (enduser.id). Only servers that authenticate callers send this attribute, and a service account counts as one user. Credential-like user IDs are masked.

Server drilldown​

Select a server in the Server Catalog to open its drilldown. The breadcrumb reads MCP Servers / the server name.

SectionWhat it shows
InsightsCalls to unknown tools, errors from one caller, rejected methods, discovery overhead, timeouts, runaway agent loops, slow failures, and failing and slow tools.
ActivityTiles and a chart for calls, users, error rate, and P95 latency over time.
ErrorsError codes, Errors over time, Errors by caller, and Error rate by deployment.
LatencyP50, P95, and P99 latency, timeouts, Latency over time, and Slowest tools. Where tool time goes shows the time each tool spends in its direct downstream calls, for the last hour of the selected range.
Tool CallsCalls by tool and Calls by method, each with a table, and Runaway traces.
ClientsCalls, error rate, and P95 latency per MCP client app (mcp.client.name).

Fill every widget​

Most widgets fill from the standard MCP server spans. Two sections need more data from your server. The agent prompt sets up both.

SectionNeedsHow to send it
Where tool time goesSpans for the server's own HTTP, database, and RPC callsTurn on OpenTelemetry auto-instrumentation for the HTTP, database, and gRPC client libraries your server uses. Their spans nest under each tool call.
Clientsmcp.client.name and mcp.client.version on server spansCopy clientInfo.name and clientInfo.version from the session's initialize request onto every server span of that session. These attributes are not yet part of the OpenTelemetry conventions.

Users and the client views on the overview use enduser.id. Servers that authenticate callers, such as FastMCP servers, set it.

Last updated on