# MCP server card

Advertises a Model Context Protocol endpoint agents can call.

**[Capabilities](/docs/capabilities)** · checked once per host (item type `mcp_server`) · 9 checks that can fail it

A card is how an agent finds the site's MCP endpoint without being told about it. The card format is still a draft extension and it explicitly rejects hosting under `/.well-known/`, so a card found at the paths we probe is real adoption at a non-standard path.

## Adoption

**Early pilots** (L1) — the protocol itself is everywhere; the discovery card we read for it is not

Named early adopters exist, behind flags or trials. Nothing has been independently measured yet. Direction of travel: ▲ rising, as of 2026-08-22.

The protocol is in production at GitHub, Stripe, Atlassian, Linear, Sentry and PayPal, but the card itself is a draft SEP with no published measurement of deployment.

| Adopter | Depth | Evidence |
|---|---|---|
| Cloudflare (remote MCP hosting) | production | [blog.cloudflare.com](https://blog.cloudflare.com/mcp-demo-day/) |
| GitHub, Stripe, Linear, Sentry, Asana | production | [hidekazu-konishi.com](https://hidekazu-konishi.com/entry/mcp_server_ecosystem_reference_2026.html) |
| Atlassian (remote server GA) | production | [github.com](https://github.com/atlassian/atlassian-mcp-server) |

## What we check

Absence is never a finding: every check below runs only once `mcpServerPresent` is true, so a site that has not
adopted this is not assessed on it and appears in no report.

| Check | Kind | Raises | On whose authority |
|---|---|---|---|
| `mcpServerInvalidJson` | high severity | usability | Lumar readiness profile |
| `mcpServerMissingUrl` | high severity | usability | Lumar readiness profile |
| `mcpServerEndpointNotMcp` | high severity | usability | specification (MCP transports 2025-06-18 (Streamable HTTP)) |
| `mcpServerEndpointUnavailable` | high severity | usability | Lumar readiness profile |
| `mcpServerToolMissingName` | high severity | conformance, usability | specification (MCP schema 2025-06-18 / 2025-11-25 / 2026-07-28 (Tool)) |
| `mcpServerToolMissingInputSchema` | high severity | conformance, usability | specification (MCP schema 2025-06-18 / 2025-11-25 / 2026-07-28 (Tool)) |
| `mcpServerDuplicateToolName` | high severity | usability | specification (MCP 2026-07-28 server/tools (Tool Names)) |
| `mcpServerToolMissingDescription` | medium severity | usability | Lumar readiness profile |
| `mcpServerUnknownMethodAccepted` | medium severity | usability | specification (JSON-RPC 2.0 §5.1 (Error object), as MCP's wire format) |
| `mcpServerNonstandardToolName` | informational | nothing | specification (MCP 2026-07-28 server/tools (Tool Names)) |
| `mcpServerStaleEndpoint` | informational | nothing | Lumar readiness profile |
| `mcpServerMissingTransport` | informational | nothing | Lumar readiness profile |
| `mcpServerPartiallyAssessed` | coverage note | nothing | our own coverage |

## Examples

These are the fixtures the test suite runs through the real collector, not snippets written for a document.

- Correct: `test/e2e/test-pages/capabilities/correct.mcp-server-card.json`
- Present but wrong: `test/e2e/test-pages/capabilities/issues.mcp-server-card.json`

## Specifications

| Document | Revision | Kind |
|---|---|---|
| [MCP Server Card working group (SEP-2127, draft)](https://modelcontextprotocol.io/community/working-groups/server-card) | Draft | specification |
| [MCP Server Card experimental extension](https://github.com/modelcontextprotocol/experimental-ext-server-card) | living document | specification |
| [MCP Streamable HTTP transport](https://modelcontextprotocol.io/specification/2026-07-28/basic/transports/streamable-http) | 2026-07-28 | specification |
| [MCP versioning — modern, legacy and dual-era servers](https://modelcontextprotocol.io/specification/2026-07-28/basic/versioning) | 2026-07-28 | specification |
| [MCP transports (legacy era: the initialize handshake and session generation)](https://modelcontextprotocol.io/specification/2025-06-18/basic/transports) | 2025-06-18 | specification |
| [MCP server/discover — the one method a modern server must implement](https://modelcontextprotocol.io/specification/2026-07-28/server/discover) | 2026-07-28 | specification |

Last re-read against the published documents: 2026-08-26.

**On pinning it.** The card format is a draft extension that reserves the card at `<mcp-url>/server-card` and explicitly rejects hosting it under `/.well-known/`, so a card at either path we probe is adoption at a non-standard path rather than conformance. Secondary claims that the SEP was ratified in Nov 2025 do not survive the document, which reads `Status: Draft, Created: 2026-01-21`.
