Skip to main content
ClaudeWave

Is that MCP server alive, and what does it cost your context window?

MCP ServersOfficial Registry1 stars0 forks● TypeScriptMITUpdated today
ClaudeWave Trust Score
87/100
✓ Trusted
Passed
  • ✓Open-source license (MIT)
  • ✓Actively maintained (<30d)
  • ✓Clear description
  • ✓Documented (README)
Last scanned: 10/4/2026
Install in Claude Code / Claude Desktop
Method: NPX · mcptop
Claude Code CLI
claude mcp add mcp-pulse -- npx -y mcptop
claude_desktop_config.json (Claude Desktop)
{
  "mcpServers": {
    "mcp-pulse": {
      "command": "npx",
      "args": ["-y", "mcptop"]
    }
  }
}
1. Run the command above in your terminal (Claude Code), or paste the JSON config into claude_desktop_config.json (Claude Desktop).
2. Replace any <placeholder> values with your API keys or paths.
3. Restart Claude. The MCP server and its tools appear automatically.
Use cases

MCP Servers overview

# mcp-pulse

[![CI](https://github.com/ondraulehla/mcp-pulse/actions/workflows/ci.yml/badge.svg)](https://github.com/ondraulehla/mcp-pulse/actions/workflows/ci.yml) [![npm mcptop](https://img.shields.io/npm/v/mcptop?label=mcptop)](https://www.npmjs.com/package/mcptop) [![license](https://img.shields.io/github/license/ondraulehla/mcp-pulse)](LICENSE)

**Is that MCP server alive, and what does it cost your context window?**

**Live board: [mcp-pulse.ulehla.dev](https://mcp-pulse.ulehla.dev)**

mcp-pulse probes every remote server in the [official MCP registry](https://registry.modelcontextprotocol.io) and records, for each one:

- whether it answers `initialize` and `tools/list`, and how fast
- the protocol version it negotiates
- whether it needs auth, and which scheme (from `WWW-Authenticate`)
- whether it asks for payment (HTTP 402)
- how many tools it has and how many tokens their definitions cost

## mcptop: what do your own servers cost?

```bash
npx mcptop                     # reads Claude Code, Claude Desktop, Cursor, VS Code, Windsurf and Gemini CLI configs
npx mcptop --config .mcp.json  # one file
npx mcptop --budget 30000      # exit 1 when the total is above the budget, for CI
```

It starts every configured server the way your client does, lists the tools and prints the token cost per server and in total. See [packages/mcptop](packages/mcptop/README.md).

## The board

[mcp-pulse.ulehla.dev](https://mcp-pulse.ulehla.dev) is rendered on the edge from a D1 database, ships no JavaScript, and refreshes every night.

- **Overview**: the share of servers that answer, token cost percentiles, and a form to check any server
- **Check**: probes one URL live, with the same steps as the daily run; the exact token count runs in the browser
- **Statistics**: results by cause, token cost and tool count percentiles, the heaviest tool sets, protocol versions, auth schemes, transports, biggest publishers
- **Servers**: full-text search over name, title, description and host (word prefixes, so `git copilot` finds the GitHub Copilot servers), filters by result, protocol and transport, seven sorts, and every filter is a plain URL you can share
- **Server page**: status, latency, protocol, capabilities, the most expensive tools, servers with the same tool set, history, and the badge
- **Hosts**: the 500 biggest publishers with how many distinct tool sets they actually serve

## For agents and scripts

- JSON: `/api/s/<name>.json`, `/api/servers.json?q=…&status=ok&sort=tokens`, `/api/check.json?url=…`, `/api/summary.json`
- MCP server over Streamable HTTP, no auth: `https://mcp-pulse.ulehla.dev/mcp` with the tools `lookup_server`, `search_servers`, `check_server`, `registry_summary`. The manifest for the registry is `site/server.json`.
- `/llms.txt` lists all of it. `/tokens` answers the general question: how many context tokens does an MCP server cost.

Each server on the board gets a page and a badge:

```markdown
[![mcp-pulse](https://mcp-pulse.ulehla.dev/badge/io.github.you/your-server.svg)](https://mcp-pulse.ulehla.dev/s/io.github.you/your-server)
```

## First full run, 2026-10-03

The registry held 38 942 latest entries. 24 294 of them have a remote endpoint, and the probe connected to all of them in 40 minutes.

| Result | Servers | Share |
|---|---:|---:|
| alive: `initialize` and `tools/list` succeed | 12 975 | 53 % |
| needs auth (401, 403) | 5 836 | 24 % |
| not MCP: HTTP 200 but no valid MCP reply | 1 800 | 7 % |
| not found (404, 405, 410) | 881 | 4 % |
| no DNS | 728 | 3 % |
| rate limited (429) | 500 | 2 % |
| payment required (402) | 434 | 2 % |
| server error (5xx) | 349 | 1 % |
| other | 307 | 1 % |
| TLS error | 259 | 1 % |
| timeout | 204 | 1 % |
| refused | 21 | 0 % |

Of the 12 975 servers that answered:

- the median tool set costs 1 727 tokens, the 90th percentile 7 429, the 99th 28 200
- 208 servers cost more than 20 000 tokens, 46 more than 50 000, and 3 more than a whole 200k window
- the heaviest is `com.replynodes/mcp`: 66 tools, 431 925 tokens
- the median server has 8 tools, the largest 1 385
- median `initialize` latency is 455 ms, the 90th percentile 1.5 s
- 60 % negotiate protocol `2025-11-25`, 24 % still `2025-03-26`, 4 % `2024-11-05`
- 122 servers answer with protocol `2026-07-28`, which the current TypeScript SDK rejects

The registry is lumpy. 16 161 of 16 534 hosts publish one server. Five hosts publish more than 6 000 entries between them: one Workers subdomain with 2 365 near-identical entries, a gateway with 1 716 entries of which 1 321 return a JSON-RPC error on `initialize`, and a host with 276 entries that all answer 402.

## How it works

```
registry ──▶ probe/run.ts ──▶ data/raw/probe-run.json
                                   │
                        probe/build-data.ts
                                   │
               data/latest/{servers,summary,hosts}.json
                                   │
                           probe/to-sql.ts ──▶ import.sql ──▶ D1
                                                                │
                              site/ (Astro on Workers) ◀────────┘
```

- `packages/mcptop/` the library and the CLI `mcptop`: registry client, remote and stdio probe, config discovery, token counting
- `probe/` the batch runner and the data pipeline
- `site/` the board: Astro 7 with the Cloudflare adapter on Workers, rendered from D1 with FTS5 search, SVG badges, no client JavaScript
- `.github/workflows/probe.yml` runs the whole pipeline daily and commits `summary.json` and `hosts.json`
- `.github/workflows/deploy.yml` deploys the site when `site/` changes

## Methodology

- **Transport.** The probe uses the official TypeScript SDK as a client. Streamable HTTP first, SSE when that is the only remote.
- **No GET stream.** The probe answers 405 to the SDK's standalone GET, so it never opens a server-to-client stream. The probe needs no server-initiated messages, and some servers stall `tools/list` while that stream is open (DeepWiki held it for 15 s and never answered the POST meanwhile).
- **Token count.** Each tool is serialised as compact JSON with `name`, `description` and `input_schema`, and counted with the `o200k_base` tokenizer. Clients wrap tool definitions differently, so this is an estimate. It is the same estimate for every server, which makes the numbers comparable.
- **Same tool set.** A hash of the sorted tool names and schema sizes marks servers that serve identical tools under different names.
- **Timeouts.** 15 seconds per request. At most one probe runs against a host at a time.
- **Identification.** Every request carries the User-Agent `mcp-pulse/<version> (+https://github.com/ondraulehla/mcp-pulse)`. To exclude a server, open an issue with its registry name.

## Run it

```bash
npm install
npm run probe -- --sample 200 --per-host 2        # a sample, results in data/samples/
npm run probe -- --all --out data/raw/probe-run.json
node --import tsx probe/build-data.ts --in data/raw/probe-run.json --out data/latest
node --import tsx probe/to-sql.ts --in data/latest --out data/latest/import.sql
npm test --workspaces --if-present
```

Site, locally against a local D1:

```bash
cd site
npm run db:schema:local && npm run db:import:local
npm run dev
```

Deploying needs a Cloudflare account with a D1 database named `mcp-pulse` (`wrangler d1 create mcp-pulse`, then put the id in `site/wrangler.jsonc`). The workflows expect the repository secrets `CLOUDFLARE_API_TOKEN` (Workers Scripts: Edit, D1: Edit) and `CLOUDFLARE_ACCOUNT_ID`.

## Licence

MIT

What people ask about mcp-pulse

What is ondraulehla/mcp-pulse?

+

ondraulehla/mcp-pulse is mcp servers for the Claude AI ecosystem. Is that MCP server alive, and what does it cost your context window? It has 1 GitHub stars and its last recorded update is dated 2026-10-03.

How do I install mcp-pulse?

+

You can install mcp-pulse by cloning the repository (https://github.com/ondraulehla/mcp-pulse) or following the README instructions on GitHub. ClaudeWave also provides quick install blocks on this page.

Is ondraulehla/mcp-pulse safe to use?

+

Our security agent has analyzed ondraulehla/mcp-pulse and assigned a Trust Score of 87/100 (tier: Trusted). See the full breakdown of passed checks and flags on this page.

Who maintains ondraulehla/mcp-pulse?

+

ondraulehla/mcp-pulse is maintained by ondraulehla. The last recorded GitHub activity is dated 2026-10-03, with 0 open issues.

Are there alternatives to mcp-pulse?

+

Yes. On ClaudeWave you can browse similar mcp servers at /categories/mcp, sorted by popularity or recent activity.

Deploy mcp-pulse to your cloud

Ship this repo to production in minutes. Each platform spins up its own environment with editable env vars.

Maintain this repo? Add a badge to your README

Drop the badge into your GitHub README to show it's tracked on ClaudeWave. Each badge links back to this page and reflects the live Trust Score.

Featured on ClaudeWave: ondraulehla/mcp-pulse
[![Featured on ClaudeWave](https://claudewave.com/api/badge/ondraulehla-mcp-pulse)](https://claudewave.com/repo/ondraulehla-mcp-pulse)
<a href="https://claudewave.com/repo/ondraulehla-mcp-pulse"><img src="https://claudewave.com/api/badge/ondraulehla-mcp-pulse" alt="Featured on ClaudeWave: ondraulehla/mcp-pulse" width="320" height="64" /></a>

More MCP Servers

mcp-pulse alternatives