Elysia MCP Adapterelysia-mcp-adapter
MCP Extensions

Server Cards

Publish finalized, cacheable advisory server metadata with strict disclosure boundaries.

Server Cards are a finalized MCP extension. The adapter preserves its pinned schema and explicit opt-in.

MCP_EXTENSION_SUPPORT.serverCard.maturity reports the current stable classification. The selected version record retains status: 'experimental' as historical metadata for the immutable schema snapshot. The wire schema and revision selector did not change when the extension became final.

import { MCP_SERVER_CARD_REVISION, MCP_SERVER_CARD_SCHEMA, mcp } from '@mwillbanks/elysia-mcp-adapter'

mcp({
  server: { name: 'com.example/service', version: 'build-42' },
  extensions: {
    serverCard: {
      version: MCP_SERVER_CARD_REVISION,
      card: {
        $schema: MCP_SERVER_CARD_SCHEMA,
        name: 'com.example/service',
        description: 'Example service',
        version: 'build-42',
        remotes: [{ type: 'streamable-http', url: 'https://api.example.com/mcp' }]
      }
    }
  }
})

The endpoint returns application/mcp-server-card+json, Access-Control-Allow-Origin: *, a stable ETag, and Cache-Control. Matching If-None-Match requests return 304.

Keep the card name and version consistent with live serverInfo. Runtime values remain authoritative after connection. Exact non-semver version strings are valid. Version ranges are invalid.

Serve the public card endpoint over HTTPS with TLS 1.2 or later in production. The application host or a TLS-terminating proxy enforces transport security. Remote metadata URLs require HTTPS in production; environment: 'development' permits loopback HTTP.

Cards are advisory. Do not include authorization values, embedded secrets, private topology, tools, resources, or prompts. The adapter never fetches a card automatically.