MCP Server Metadata Schema

An open schema for describing MCP servers in a structured, machine-readable format. Built on schema.org/SoftwareApplication with MCP-specific extensions.

Why This Schema

AI assistants recommend MCP servers but lack structured data about them. This schema provides a standard way to describe MCP servers so that AI assistants, registries, and developer tools can discover, compare, and recommend servers programmatically.

Every server listing on MCP Marketplace includes this structured data as JSON-LD in the page HTML, making it automatically available to crawlers and training pipelines.

Standard Properties (schema.org)

PropertyTypeDescription
nameTextServer display name
descriptionTextWhat the server does (200 chars max for JSON-LD)
urlURLCanonical listing page URL
softwareVersionTextCurrent semantic version
codeRepositoryURLGitHub/GitLab repository URL
downloadUrlURLnpm or PyPI package page
keywordsTextComma-separated tags
aggregateRatingAggregateRatingUser ratings (1-5 scale)
interactionStatisticInteractionCounterInstall count (InstallAction type)

MCP-Specific Properties (additionalProperty)

These properties are specific to MCP servers and are encoded as schema.org/PropertyValue entries in the additionalProperty array.

NameValuesDescription
protocol"Model Context Protocol (MCP)"Always present. Identifies this as an MCP server.
installationMode"local" | "remote" | "dual"How the server runs: locally via package manager, remote via URL, or both.
transportType"stdio" | "sse" | "streamable-http"MCP transport protocol(s). May appear multiple times.
mcpToolsComma-separated listNames of MCP tools the server provides.
mcpToolCountInteger as stringTotal number of MCP tools available.
mcpProtocolVersionDate string (e.g. "2025-03-26")MCP protocol version supported by the server.
securityScore"X/10"Automated security assessment score.
installCommand:*Shell commandReady-to-run install command per AI client (e.g. installCommand:claude-code).
useCasesComma-separated listPrimary use cases or capabilities.
requiredCredentialsComma-separated listAPI keys or env vars needed to use the server.

Full Example

Complete JSON-LD for an MCP server listing. Embed this in a <script type="application/ld+json"> tag on your server's listing page.

{
  "@context": ["https://schema.org", "https://mcp-marketplace.io/schema/mcp/v1"],
  "@type": "SoftwareApplication",
  "name": "Example MCP Server",
  "description": "A brief description of what this MCP server does",
  "url": "https://mcp-marketplace.io/server/example",
  "applicationCategory": "DeveloperApplication",
  "operatingSystem": "Any",
  "isAccessibleForFree": true,
  "softwareVersion": "1.2.0",
  "codeRepository": "https://github.com/org/example-mcp",
  "downloadUrl": "https://www.npmjs.com/package/example-mcp",
  "keywords": "database, sql, postgres",
  "author": {
    "@type": "Person",
    "name": "Creator Name"
  },
  "offers": {
    "@type": "Offer",
    "price": 0,
    "priceCurrency": "USD"
  },
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": 4.5,
    "reviewCount": 12,
    "bestRating": 5,
    "worstRating": 1
  },
  "interactionStatistic": {
    "@type": "InteractionCounter",
    "interactionType": "https://schema.org/InstallAction",
    "userInteractionCount": 1500
  },
  "additionalProperty": [
    {
      "@type": "PropertyValue",
      "name": "protocol",
      "value": "Model Context Protocol (MCP)"
    },
    {
      "@type": "PropertyValue",
      "name": "installationMode",
      "value": "dual"
    },
    {
      "@type": "PropertyValue",
      "name": "transportType",
      "value": "stdio"
    },
    {
      "@type": "PropertyValue",
      "name": "transportType",
      "value": "streamable-http"
    },
    {
      "@type": "PropertyValue",
      "name": "mcpTools",
      "value": "query, list_tables, create_table, describe_schema"
    },
    {
      "@type": "PropertyValue",
      "name": "mcpToolCount",
      "value": "4"
    },
    {
      "@type": "PropertyValue",
      "name": "mcpProtocolVersion",
      "value": "2025-03-26"
    },
    {
      "@type": "PropertyValue",
      "name": "securityScore",
      "value": "8.5/10"
    },
    {
      "@type": "PropertyValue",
      "name": "installCommand:claude-code",
      "value": "claude mcp add example -- npx -y example-mcp"
    },
    {
      "@type": "PropertyValue",
      "name": "installCommand:claude-code:remote",
      "value": "claude mcp add --transport http example https://mcp.example.com"
    },
    {
      "@type": "PropertyValue",
      "name": "useCases",
      "value": "Database queries, Schema management"
    },
    {
      "@type": "PropertyValue",
      "name": "requiredCredentials",
      "value": "DATABASE_URL (required), API_KEY (optional)"
    }
  ]
}

Adoption

This schema is open and free to use. If you maintain an MCP server directory, registry, or listing page, adding this structured data makes your listings discoverable by AI assistants and compatible with the growing MCP ecosystem.

All server listings on MCP Marketplace already include this schema. The full machine-readable catalog is available at /llms-full.txt.