How to submit an MCP server to awesome-remote-mcp-servers

By Jonah EasePublished Last checked
This list is for servers you host and others connect to by URL. Its pull request check does something most lists do not: it sends your endpoint a real MCP initialize call and compares the answer with the marker you wrote[2]. If you run that call yourself first, the rest of the route is three lines of Markdown and a badge.
Send the check's call yourself first
The workflow posts an initialize request with protocol version 2025-06-18, accepts JSON or an event stream back, waits 20 seconds, follows redirects, and sends no credentials[2]. This is the same request:
curl -i -X POST https://mcp.example.com/mcp \
-H "content-type: application/json" \
-H "accept: application/json, text/event-stream" \
-H "mcp-protocol-version: 2025-06-18" \
-d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"probe","version":"1.0.0"}}}'| Your endpoint answers | The check records | The marker it expects |
|---|---|---|
| 200 with a JSON-RPC result | endpoint-ok | 🔓 no authentication |
| 401 or 403 with a WWW-Authenticate header naming Bearer or resource_metadata | endpoint-ok | 🔐 OAuth |
| 401 or 403 with any other header | endpoint-ok | 🔑 API key or token |
| A timeout, a 404, or a 200 with no result | endpoint-unreachable | none |
The reading is in the workflow's own code[2]. A server that needs an account is still welcome, as long as it answers the handshake with a 401 and says how to authenticate[1].
The entry is three lines
- [Example](https://example.com) `https://mcp.example.com/mcp`
[](https://glama.ai/mcp/connectors/com.example/example)
🔐 - Read and update orders, customers and invoices in Example.- Line one links your name to your product's homepage or docs, not to a GitHub repository, and puts the endpoint in backticks exactly as a user would paste it[1].
- Line two is the Glama connector badge. Line three is the marker, a hyphen, and one sentence of at most 120 characters that ends with a period[1][2].
- Entries sit alphabetically inside a category, and one provider with several endpoints lists each separately[1]. The README has the categories to choose from[3].
Get the connector badge before the pull request
The badge is not decoration: the contributing guide says a pull request without one is not merged, and the workflow asks Glama whether the connector in your badge exists[1][2]. You list the server on Glama's connector pages first, then copy the NAMESPACE/NAME from your connector's address into the badge. The Glama page covers that sign-in.
Star the repository, then open the pull request
One rule has nothing to do with your server: pull requests are not merged unless the account that opens them has starred the repository[1]. After that it is the usual route: fork, edit README.md, push, and open the pull request. Files other than the README are not part of the check[2].
The comments the check leaves
The workflow labels the pull request and posts at most one comment of each kind. These are the messages, and what fixes each[2]:
- "We could not complete an MCP initialize handshake against…" Your URL is wrong, slow, or answers without a result. Fix the endpoint, or the address in backticks.
- "The auth marker does not match what the endpoint returned." Change 🔓, 🔑 or 🔐 to the one in the table above.
- "Please fix the entry format…" It names the missing marker line, an emoji it does not know, or a description that does not end in a period.
- "These connector badges do not resolve" and "Your entry is missing its Glama connector badge": the slug is the reverse-DNS name from your connector's address.
- "These endpoints are already listed." The match ignores a trailing slash and letter case.
On the open pull requests included 59 labelled missing-connector, 13 labelled invalid-format and 5 labelled endpoint-unreachable[4][5][6]. Those are the three that wait on the author.
The whole route, by hand
Run the probe, list the connector, star the repository, add the three lines, open the pull request, and read the labels the check adds a minute later. If a label disagrees with your entry, the contributing guide says to fix the entry rather than the check[1].
Current status,
The contributing guide still requires the star, the connector badge and a handshake that answers, and the check-submission workflow is the one running on pull requests[1][2].
How long merges took
In the 90 days to , 462 outside pull requests merged here; the typical one was merged 23 h after it was opened. The middle half took 5 h to 2.4 days.
| Window ending | Rolling median | Merges in window |
|---|---|---|
| 11 Sept 2026 | 2 h | 112 |
| 18 Sept 2026 | 6 h | 228 |
| 25 Sept 2026 | 18 h | 357 |
| 2 Oct 2026 | 23 h | 462 |
Measured . Pull requests merged on each list's GitHub repo, timed from opened to merged, read from GitHub's REST pulls list. Bot accounts ([bot]), the repo's owners, members and collaborators, and pull requests from a branch inside the list's own repo are left out. A past figure, not a promise. All 10 directories side by side: how long MCP directories take to merge.
Sources
- awesome-remote-mcp-servers: CONTRIBUTING.md · checked
- awesome-remote-mcp-servers: the check-submission workflow · checked
- awesome-remote-mcp-servers: README (legend and categories) · checked
- Open pull requests labelled missing-connector · checked
- Open pull requests labelled invalid-format · checked
- Open pull requests labelled endpoint-unreachable · checked
ManyCP is not affiliated with, endorsed by or sponsored by any directory, Docker, OpenAI, Anthropic or GitHub named here. Names are used to say which service a fact is about.
Or skip all of that
Or let ManyCP do it in one click
ManyCP forks punkpeye/awesome-remote-mcp-servers, adds your entry in the exact format, and opens the pull request from your GitHub account. It waits until Glama lists you, so the PR is not closed at once. It tracks the PR until it is merged.