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

By [Jonah Ease](https://manycp.com/about) Published 1 Oct 2026 Last checked 1 Oct 2026

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:

The check's handshake, as curl

```
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

One entry (example names)

```
- [Example](https://example.com) `https://mcp.example.com/mcp`
  [![Example MCP connector](https://glama.ai/mcp/connectors/com.example/example/badges/score.svg)](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](https://manycp.com/directories/glama) 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 1 Oct 2026 the open pull requests included [59 labelled missing-connector](https://github.com/punkpeye/awesome-remote-mcp-servers/pulls?q=is%3Apr+is%3Aopen+label%3Amissing-connector), [13 labelled invalid-format](https://github.com/punkpeye/awesome-remote-mcp-servers/pulls?q=is%3Apr+is%3Aopen+label%3Ainvalid-format) and [5 labelled endpoint-unreachable](https://github.com/punkpeye/awesome-remote-mcp-servers/pulls?q=is%3Apr+is%3Aopen+label%3Aendpoint-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, 1 Oct 2026

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 2 Oct 2026, 462 outside pull requests merged here; the typical one was merged [23 h](https://github.com/punkpeye/awesome-remote-mcp-servers/pulls?q=is%3Apr+is%3Amerged) after it was opened. The middle half took 5 h to 2.4 days.

awesome-remote-mcp-servers Rolling 30-day median time to merge

awesome-remote-mcp-servers: rolling 30-day median time to merge, by the day the window ends. Windows with fewer than 3 merges are left out.

| 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 2 Oct 2026. 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](https://manycp.com/guides/mcp-server-merge-times).

## Sources

1. [awesome-remote-mcp-servers: CONTRIBUTING.md](https://github.com/punkpeye/awesome-remote-mcp-servers/blob/main/CONTRIBUTING.md) · checked 1 Oct 2026
2. [awesome-remote-mcp-servers: the check-submission workflow](https://github.com/punkpeye/awesome-remote-mcp-servers/blob/main/.github/workflows/check-submission.yml) · checked 1 Oct 2026
3. [awesome-remote-mcp-servers: README (legend and categories)](https://github.com/punkpeye/awesome-remote-mcp-servers/blob/main/README.md) · checked 1 Oct 2026
4. [Open pull requests labelled missing-connector](https://github.com/punkpeye/awesome-remote-mcp-servers/pulls?q=is%3Apr+is%3Aopen+label%3Amissing-connector) · checked 1 Oct 2026
5. [Open pull requests labelled invalid-format](https://github.com/punkpeye/awesome-remote-mcp-servers/pulls?q=is%3Apr+is%3Aopen+label%3Ainvalid-format) · checked 1 Oct 2026
6. [Open pull requests labelled endpoint-unreachable](https://github.com/punkpeye/awesome-remote-mcp-servers/pulls?q=is%3Apr+is%3Aopen+label%3Aendpoint-unreachable) · checked 1 Oct 2026

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.

---

Source: [ManyCP](https://manycp.com/directories/punkpeye-awesome-remote-mcp-servers)
