MCP Server for server card generation, validation and discovery — .well-known/mcp-server-card.json protocol
Project description
MCP Server Cards
An MCP server for generating, validating, and discovering MCP server cards — a standardized way to describe MCP servers so AI agents can automatically find and understand them.
What are Server Cards?
Server Cards are machine-readable JSON files that describe an MCP server's capabilities, similar to how robots.txt describes crawling rules or manifest.json describes web apps. They live at .well-known/mcp-server-card.json and contain:
- Name & Description — What the server does
- Tools — List of available tools with descriptions
- Author & Repository — Who built it, where to find the source
- Categories — Tags for discovery and search
- Pricing — Whether it's free, freemium, or paid
- Transport — Whether it uses stdio, HTTP, or both
- Auth — Whether authentication is required
Why Server Cards?
As the MCP ecosystem grows, agents need a way to discover and evaluate servers automatically. Server Cards solve this by providing:
- Automatic Discovery — Agents can check
.well-known/mcp-server-card.jsonon any domain - Standardized Metadata — Consistent format for comparing servers
- Capability Description — Agents know what tools are available before connecting
- Trust Signals — Author, repository, and pricing information
Installation
pip install agent-server-card-mcp
Usage
As MCP Server
{
"mcpServers": {
"server-cards": {
"command": "server-card-server"
}
}
}
With uvx
{
"mcpServers": {
"server-cards": {
"command": "uvx",
"args": ["agent-server-card-mcp"]
}
}
}
Available Tools
| Tool | Description |
|---|---|
generate_card |
Generate a .well-known/mcp-server-card.json for any MCP server |
validate_card |
Validate a server card against the JSON schema |
discover |
Try to discover a server card from a URL via .well-known |
search |
Search indexed server cards by keyword |
register |
Register a server card in the local index |
schema |
Get the full JSON schema for server cards |
Server Card Example
{
"name": "weather-mcp-server",
"description": "Provides real-time weather data and forecasts",
"version": "1.0.0",
"author": "WeatherCorp",
"repository": "https://github.com/example/weather-mcp",
"tools": [
{
"name": "get_weather",
"description": "Get current weather for a location"
},
{
"name": "get_forecast",
"description": "Get 7-day weather forecast"
}
],
"categories": ["weather", "climate", "data"],
"pricing": "free",
"auth_required": false,
"transport": "stdio"
}
Server Card Schema
Required fields:
name— Unique server namedescription— What the server doesversion— Semantic versiontools— Array of{name, description}objects
Optional but recommended:
author— Author or organizationrepository— Source code URLcategories— Tags for searchabilitypricing—free|freemium|paid|open-sourceauth_required— Booleantransport—stdio|http|both
How Discovery Works
- An agent wants to find MCP servers on
example.com - It requests
https://example.com/.well-known/mcp-server-card.json - If the file exists, the agent parses it and learns about available tools
- The agent can then decide whether to connect based on the metadata
This follows the same pattern as .well-known/openid-configuration for OAuth or .well-known/ai-plugin.json for ChatGPT plugins.
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file agent_server_card_mcp-0.1.0.tar.gz.
File metadata
- Download URL: agent_server_card_mcp-0.1.0.tar.gz
- Upload date:
- Size: 7.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fb376cfb306468d8b11c81a256d141a6706d5df84221c87013796dc177d3cab0
|
|
| MD5 |
dda114dad169702d959dc581edc301c0
|
|
| BLAKE2b-256 |
1b71b5ec38d5c5fa77b19ead4ea52d4d4165b8c90eafa86d281a650a6065ec02
|
File details
Details for the file agent_server_card_mcp-0.1.0-py3-none-any.whl.
File metadata
- Download URL: agent_server_card_mcp-0.1.0-py3-none-any.whl
- Upload date:
- Size: 10.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
41633afdab782e1aef89f959736062bfc03681fbae630ad23849d0348b1d19f7
|
|
| MD5 |
a93d886328d18793ec9377ff593e3c2e
|
|
| BLAKE2b-256 |
4c53830d69121544c37204bd5983bd20993de6ac0abf22b894b4d5c367e92c56
|