Skip to main content
Glama
sudomichael

mcpserverlist-mcp

by sudomichael
README.md
# mcpserverlist-mcp

Stdio MCP server for [MCP Server List](https://mcpserverlist.io). It connects to the hosted service at `https://mcpserverlist.io/mcp` and passes tools through unchanged, so any stdio-only client or directory can use it.

## What MCP Server List does

It helps MCP server authors get their server listed in MCP directories. It checks whether your server is ready to submit, and offers a $99 managed submission service that handles the submissions for you.

## Install

Run with `npx -y mcpserverlist-mcp` (Node 20 or newer).

**Claude Desktop** (`claude_desktop_config.json`), **Cursor** (`~/.cursor/mcp.json`):

```json
{
  "mcpServers": {
    "mcpserverlist": {
      "command": "npx",
      "args": ["-y", "mcpserverlist-mcp"]
    }
  }
}
```

**Claude Code:**

```sh
claude mcp add mcpserverlist -- npx -y mcpserverlist-mcp
```

To use an API key, add `"env": { "MCP_SERVER_LIST_API_KEY": "..." }` to the config above, or pass `-e MCP_SERVER_LIST_API_KEY=...` to `claude mcp add`.

### Direct remote (no install)

Clients that support Streamable HTTP can connect straight to the hosted server:

```sh
claude mcp add --transport http mcpserverlist https://mcpserverlist.io/mcp
```

Or in a JSON config, `{ "mcpServers": { "mcpserverlist": { "url": "https://mcpserverlist.io/mcp" } } }`.

## Environment variables

| Variable | Required | Description |
| --- | --- | --- |
| `MCP_SERVER_LIST_API_KEY` | No | Sent as `Authorization: Bearer <key>`. Only sent when set. |
| `MCP_SERVER_LIST_URL` | No | Remote endpoint. Default `https://mcpserverlist.io/mcp`. |

## Anonymous vs. API key

Discovery and check tools work without a key. Tools that act on your account (your servers, submissions) need an API key, which you get by calling the `create_account` tool. Use `tools/list` for the current set.

## Behavior

- Connects to the remote at startup. If that fails, it prints an error to stderr and exits non-zero. Stdout carries only MCP protocol traffic.
- Forwards `tools/list` and `tools/call` unchanged. Resources and prompts are forwarded only if the remote advertises them. The remote's server instructions are mirrored.
- If the connection to the remote drops, a request reconnects and retries once.

## Development

```sh
npm install
npm test   # builds, then runs tests against an in-process fake remote
```

## License

MIT

TDQS

B3/5.0

Scored across 32 tools

Disambiguation3/5

Several adjacent stages overlap, especially check_repository/import_repository/prepare_repository, check_launch_coverage/run_preflight/get_preflight, and create_server/create_launch/create_publisher_task. The descriptions are unusually detailed and often clarify non-goals, so an agent can usually disambiguate after reading, but the names alone are not enough.

Naming Consistency4/5

Names are consistently snake_case, and most follow a verb_noun pattern such as list_servers, create_launch, and get_order. The main deviations are noun-phrase instruction tools like connection_instructions and payment_instructions, which are minor but keep it from being fully uniform.

Tool Count2/5

With 32 tools, the surface is above the 25-tool heavy threshold and feels over-scoped for a single MCP server. The workflow is complex, but many stage-specific tools could likely be consolidated or grouped to reduce selection burden.

Completeness4/5

The set covers discovery, account management, repository preparation, preflight checks, launch/order/payment flows, publisher tasks, connections, and service cases. Minor gaps remain, such as no update/delete for server profiles, no launch cancellation, and no directory-detail retrieval, but the core lifecycle is well represented.

Maintenance

ActivityMaintained
ResponsivenessNo issues