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)
| Property | Type | Description |
|---|---|---|
| name | Text | Server display name |
| description | Text | What the server does (200 chars max for JSON-LD) |
| url | URL | Canonical listing page URL |
| softwareVersion | Text | Current semantic version |
| codeRepository | URL | GitHub/GitLab repository URL |
| downloadUrl | URL | npm or PyPI package page |
| keywords | Text | Comma-separated tags |
| aggregateRating | AggregateRating | User ratings (1-5 scale) |
| interactionStatistic | InteractionCounter | Install 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.
| Name | Values | Description |
|---|---|---|
| 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. |
| mcpTools | Comma-separated list | Names of MCP tools the server provides. |
| mcpToolCount | Integer as string | Total number of MCP tools available. |
| mcpProtocolVersion | Date string (e.g. "2025-03-26") | MCP protocol version supported by the server. |
| securityScore | "X/10" | Automated security assessment score. |
| installCommand:* | Shell command | Ready-to-run install command per AI client (e.g. installCommand:claude-code). |
| useCases | Comma-separated list | Primary use cases or capabilities. |
| requiredCredentials | Comma-separated list | API 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.