About SchemaStoreMcpServer
SchemaStoreMcpServer is an MCP server in the Commerce category.
Install
git clone https://github.com/SchemaStore/SchemaStoreMcpServerThis server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.
Tools (3)
getSchemaGet the full JSON Schema document by name (case-insensitive partial match).
Parameters not published.
listSchemasList all schemas with pagination (default: 50 per page).
Parameters not published.
searchSchemasSearch the catalog by name, description, or file pattern. Returns results ranked by relevance.
Parameters not published.
Ask AI
Ask AI about SchemaStoreMcpServer
Powered by Claude · Grounded in docs
Security checks
- ✓README presentThe repository ships documentation.
5 checks have not been run yet.
README
SchemaStore MCP Server
An MCP (Model Context Protocol) server for SchemaStore.org — search, browse, and retrieve JSON schemas from the SchemaStore catalog.
Built with .NET 10 and the official MCP C# SDK.
Quick Start — Use the Hosted Server
The SchemaStore MCP Server is publicly hosted at **https://mcp.schemastore.org**. No local setup required.
Visual Studio
Add a .mcp.json file to your solution root (or add it via Copilot Chat → Select Tools → +):
{
"inputs": [],
"servers": {
"SchemaStore": {
"url": "https://mcp.schemastore.org/",
"type": "http",
"headers": {}
}
}
}
Visual Studio Code
Create .vscode/mcp.json in your workspace (or use Command Palette → MCP: Add Server):
{
"servers": {
"SchemaStore": {
"url": "https://mcp.schemastore.org/",
"type": "http"
}
}
}
Any MCP Client
Point your client at https://mcp.schemastore.org/ using HTTP transport.
Tools
| Tool | Description |
|---|---|
searchSchemas |
Search the catalog by name, description, or file pattern. Returns results ranked by relevance. |
getSchema |
Get the full JSON Schema document by name (case-insensitive partial match). |
listSchemas |
List all schemas with pagination (default: 50 per page). |
Running the Server
cd src/SchemaStoreMcpServer
dotnet run
The server starts on http://localhost:5189 by default (see Properties/launchSettings.json).
- MCP endpoint:
POST /(Streamable HTTP transport) - Legacy SSE:
GET /sse+POST /message - Health check:
GET /health
Adding the MCP Server to Your Editor
Visual Studio (Solution-scoped)
Add a .mcp.json file to your solution root:
{
"inputs": [],
"servers": {
"SchemaStoreMcpServer": {
"url": "http://localhost:5189/",
"type": "http",
"headers": {}
}
}
}
Or use the UI: GitHub Copilot Chat → Select Tools (wrench icon) → + → set Type to http and URL to http://localhost:5189/.
Visual Studio Code
Create .vscode/mcp.json in your workspace:
{
"servers": {
"SchemaStoreMcpServer": {
"url": "http://localhost:5189/",
"type": "http"
}
}
}
Or use the Command Palette: MCP: Add Server → HTTP → http://localhost:5189/ → give it a name.
Any MCP Client (stdio transport alternative)
If you prefer stdio transport (no need to keep a server running), point your client at:
{
"servers": {
"SchemaStoreMcpServer": {
"type": "stdio",
"command": "dotnet",
"args": ["run", "--project", "path/to/src/SchemaStoreMcpServer/SchemaStoreMcpServer.csproj"]
}
}
}
Note: The stdio transport requires adding
.WithStdioServerTransport()toProgram.csinstead of.WithHttpTransport().
Testing with GitHub Copilot
- Start the server (
dotnet run) - Open GitHub Copilot Chat in Agent mode
- Click the Select Tools icon — you should see the three schema tools listed
- Try a prompt like: "Search SchemaStore for Docker-related schemas"
Testing with .http Files
See the test/mcp-session.http file for manual HTTP testing in Visual Studio.
Workflow:
- Run the server
- Execute the
initializePOST request - Copy the
Mcp-Session-Idfrom the response headers - Paste it into
@sessionId = ... - Execute the tool call requests
Architecture
src/SchemaStoreMcpServer/
├── Program.cs # DI, MCP server, health checks, HTTP transport
├── Models/
│ └── SchemaCatalogEntry.cs # DTOs (name, description, fileMatch, url)
├── Services/
│ ├── ISchemaCatalogService.cs # Interface
│ └── SchemaCatalogService.cs # Singleton: fetch, search, lookup, pagination
├── BackgroundServices/
│ └── CatalogRefreshService.cs # Refreshes catalog every 30 minutes
└── Tools/
└── SchemaTools.cs # MCP tool definitions
- The schema catalog is fetched from
https://www.schemastore.org/api/json/catalog.jsonat startup and refreshed every 30 minutes. - Search uses multi-term scoring across name (×10), description (×5), and fileMatch (×3).
- Thread-safe catalog refresh via volatile reference swap.
Requirements
README copy captured when this server was indexed; it may lag the repository. The original is authoritative.