A live demo with sample data: look around, nothing can be changed. Start a free trial or self-host it.

Settings

Connecting a server

One line at startup, in the language the server is written in. Nothing about how its tools are written changes.

import { instrument } from 'mcpspan';

instrument(server, {
  apiKey: process.env.MCPSPAN_API_KEY,
  endpoint: 'https://demo-api.mcpspan.com',
});

Servers

One key per server, shown once when it is created and stored only as a hash. Nothing here can read a key back, us included. If one has been lost or seen by somebody it should not have been, generate a new one: the old one stops working immediately.

  • Flights

Delete data

Deletes part of what a server recorded, such as an error message that carried something it should not have, or a burst of test traffic. The server and its key stay. You are told how many calls that is before anything goes.

Notifications

Choose exactly what you are told about: which server, what condition, and whether you hear when it ends as well as when it starts. Rules are checked every minute, and each alert is sent once when it starts, however long it lasts.

A Slack or Discord incoming webhook shows the message as it is. Anything else receives the same JSON with the details beside it.

Rules

No rules yet.

Tools

None ticked: the whole server, all tools together.

Badges

Badges for a server's README: its calls, success rate and median response time over the last week, any or all of them, from what its SDK sent. Off until you switch them on; switching them off or moving them stops the old address at once.

  • Flights

    What the badges for Flights show
    mcpspan calls for Flightsmcpspan success rate for Flights
    [![mcpspan calls](https://demo-api.mcpspan.com/badge/lkcvl5rWn_n0uncn8ci1Cg/calls.svg)](https://mcpspan.com) [![mcpspan success rate](https://demo-api.mcpspan.com/badge/lkcvl5rWn_n0uncn8ci1Cg/success.svg)](https://mcpspan.com)

Badges are served from https://demo-api.mcpspan.com. GitHub fetches them from there, so they show in a README only if that address is reachable from the internet.

Read tokens

Ask an AI agent, such as Claude Code or Cursor, about your servers: which tools failed this week, how the last release compares, what clients look for and do not find. A token reads what you see here and changes nothing. It is shown once and stored only as a hash.

The agent reads from https://demo-api.mcpspan.com, the address your servers report to (MCPSPAN_INGEST_URL). If it reaches that address over the internet, put HTTPS in front of it: the token travels with every question.

Password

Forgot your password? On the machine running mcpspan, docker compose exec api node scripts/reset-password.ts prints a new one.