submit a server
There's no submission form. This whole site is one file per server, and adding a listing means opening a pull request against the repository behind it.
1. add a yaml file
Copy .github/server-listing-template.yml intosrc/data/servers/, name it after your server (for examplemy-server.yml), and fill in the fields. That filename becomes the server's URL, so keep it short and lowercase with hyphens.
name: My Server
summary: One sentence, under 160 characters, no trailing period.
description: |
A longer explanation, one or more paragraphs separated by a blank line.
Plain text only, no markdown formatting.
repoUrl: https://github.com/you/my-server
homepageUrl: https://example.com # optional
author: Your name or org
license: MIT # optional
language: TypeScript
transports: [stdio] # stdio, sse, and/or http
tags: [databases, developer-tools]
official: false
featured: false
installCommand: npx -y my-server # optional
installConfig: | # optional
{
"mcpServers": {
"my-server": {
"command": "npx",
"args": ["-y", "my-server"]
}
}
}2. check it locally
Run npm install && npm run build. The build validates every listing against the schema in src/content.config.ts and fails with a clear error if a field is missing or the wrong type.
3. open a pull request
One server per pull request keeps review fast. The PR template asks two things: that the server is real and that you're not the sole judge of your own "official" claim. Mark official: true only if you maintain the underlying product, not just the MCP server for it.
what gets rejected
Servers that don't implement the Model Context Protocol, listings for a product rather than a server, and duplicates of an existing listing for the same repository.