Know when an MCP server changes — even ones you don't own.

No SDK, no instrumentation, no cooperation needed from whoever runs it. Apitella polls on a schedule and tells you exactly what changed in the schema — before it breaks an agent that was relying on the old shape. REST endpoints are supported too.

No credit card required · Free during early access

The problem

Nobody tells you when someone else's API changes.

  • A required field gets added to a tool's input schema.
  • An enum value the code branches on quietly disappears.
  • A field's type changes from string to number.

Another team's internal API. A vendor's MCP server. Whoever owns it ships without a changelog, without a heads-up — and the first you hear about it is an agent or a service failing in production, and someone getting paged to find out why.

The fix

Apitella watches it so you find out first.

Point it at the schema — an MCP server's tool list, an OpenAPI spec, or a plain endpoint's response shape. Apitella polls on your schedule and diffs every change against the last snapshot.

  • A required field gets added → flagged breaking, instantly.
  • An enum value disappears → flagged and explained.
  • A field's type changes → caught on the very next poll.
apitella.io/dashboard
NameTypeStatusLast polled
Billing MCP servermcpActive3m ago
Payments APIrestActive12m ago
Internal CRM MCPmcpPaused1d ago

Works with

Model Context Protocol (MCP)OpenAPI 3.0 / 3.1Swagger 2.0Plain JSON endpoints
MCP-native
Connect an MCP server URL. We call tools/list on a schedule and diff the tool catalog — names, descriptions, and input schemas — built for the current stateless MCP transport.
No instrumentation required
Most API monitoring tools require installing an SDK on the thing you're watching. Apitella doesn't — point it at any MCP server or endpoint, yours or someone else's, and it starts watching. No cooperation needed from whoever runs it.
Severity that means something
Every change is classified breaking, notable, or cosmetic, so you know what needs attention right now versus what's just worth knowing about.
REST support, when you need it
Point at an OpenAPI spec for full endpoint and parameter diffing, or give us a plain JSON endpoint and we'll watch its response shape instead.
Notified your way
Email, Slack, and Teams each get their own severity threshold and send order — route notable changes to email and save Slack or Teams for what's actually breaking. Or flip on Fan out to hit every channel at once, for anything.

How it works

Connect a source

Add an MCP server URL (REST endpoints with an optional OpenAPI spec work too).

Apitella polls on a schedule

We snapshot its schema on your chosen interval and store the history.

Get a clear diff

The moment something changes, see exactly what changed and how severe it is.

Get notified

Email, Slack, or Teams — each with its own severity threshold, in the order you set.

For developers

Rather integrate directly? Skip the dashboard.

Every source, drift event, and rule is a REST call away — built for a CLI, a script, or a CI pipeline.

1

Create an API key

Settings → API keys in the dashboard. Shown once — copy it right away.

2

Add a source

POST an MCP or REST URL to /sources. It starts polling on your chosen interval immediately.

3

Read drift in your pipeline

GET /drift-events, or POST /sources/:id/poll-now to check on demand instead of waiting.

4

Gate on breaking changes

Fail a CI step when severity is breaking or risky — no dashboard required.

Full API reference
terminal
curl https://apitella-api.onrender.com/v1/sources \
  -H "Authorization: Bearer apt_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "type": "mcp",
    "name": "Billing MCP server",
    "url": "https://mcp.example.com/mcp"
  }'

# poll on demand instead of waiting for the schedule
curl -X POST \
  https://apitella-api.onrender.com/v1/sources/<id>/poll-now \
  -H "Authorization: Bearer apt_live_..."

# gate CI on breaking drift
curl https://apitella-api.onrender.com/v1/drift-events \
  -H "Authorization: Bearer apt_live_..." \
  | jq -e '[.[] | select(.severity=="breaking")] | length == 0'

Pricing

Free during early access. No credit card required.

Free
For a first source or two.
  • Up to 3 sources
  • Same polling speed as Team — down to 5 minutes
  • 30-day drift history
  • Dashboard access
Get started
Team
Early access — pricing TBD
For watching everything you ship.
  • Unlimited sources
  • Unlimited drift history
  • API keys for CI/CD
Get started

Frequently asked questions