Web Speed
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Web Speedrun a speed test on https://example.com and show me the metrics"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
web-speed-mcpb
The Claude Desktop extension for Web Speed. Double-click it, paste a key, done.
This repo builds one artifact: web-speed.mcpb. It contains no Web Speed logic —
the engine is hosted, and this is the ~1.5 MB of plumbing that lets Claude Desktop
reach it.
Why this exists
Installing Web Speed on Claude Desktop used to mean hand-editing
claude_desktop_config.json with an absolute path and a pasted API key. That is
the single place people got stuck, and it produced silent drift — three configs on
one machine, pointing at three different interpreters, with the same key in
plaintext in all of them.
Related MCP server: mcp-browser-use
What's inside
manifest.json the extension descriptor (validated in CI)
server/index.js ~30 lines: hand stdio to mcp-remote, pointed at the hosted API
node_modules/ mcp-remote, vendored
icon.png 512×512server/index.js runs the same invocation the /account install tab has been
handing out by hand:
mcp-remote https://api.getwebspeed.io/mcp/sse --header "X-Web-Speed-Key: ..."That command was already proven against this server. The extension's job is to stop the user having to type it.
Why mcp-remote is vendored
The manual instructions use npx -y mcp-remote@latest. Inside a bundle that is
three problems:
npxresolves over the network on every start — a flaky connection becomes "the extension is broken".@latestmeans an upstream release can break a working install overnight, with no version pinned anywhere the user can see.On Windows, Claude Desktop wraps commands in
cmd.exe, which breaks on the space inC:\Program Files\nodejs. The manual instructions work around this with a globalnpm install; a vendored copy sidesteps it.
Node itself ships inside Claude Desktop on macOS and Windows, so there is no runtime for the user to install.
Building
pnpm install --prod
pnpm dlx @anthropic-ai/mcpb validate manifest.json
pnpm dlx @anthropic-ai/mcpb pack . web-speed.mcpbTwo things in pnpm-workspace.yaml are load-bearing and easy to delete by
accident:
The file must exist, even empty. If you have a pnpm workspace root anywhere above this directory — a
pnpm-workspace.yamlin$HOMEwill do it — then without a local onepnpm installresolves against that instead andnode_moduleslands somewhere else entirely.nodeLinker: hoisted. The bundle shipsnode_modulesinside the archive, so the tree has to be real directories. pnpm's default symlinks into.pnpm/pack as broken links and the extension dies on load. In pnpm 10+ this setting lives inpnpm-workspace.yaml, not.npmrc— putting it in.npmrcsilently does nothing.
Verify a build actually runs before releasing it:
pnpm dlx @anthropic-ai/mcpb unpack web-speed.mcpb /tmp/ws-check
find /tmp/ws-check -type l # must print nothing
WEBSPEED_API_KEY=wsp_... node /tmp/ws-check/server/index.jsThe last command should sit waiting on stdin rather than exiting. Sending it an
MCP initialize frame should return serverInfo.
Configuration
Variable | Default | |
| — | Required. Supplied by Claude Desktop from the install form. |
|
| Override for local testing. |
Releasing
Tag v*. CI validates, packs, signs, and attaches web-speed.mcpb to the release.
manifest.json's version and package.json's version must match — CI fails the
build if they don't. The API server serves the download as a redirect to the
release asset, pinned by MCPB_RELEASE_TAG, so bump that env var on Railway when
you tag or /download/web-speed.mcpb keeps pointing at the previous release.
License
GPL-3.0-or-later.
This server cannot be deployed
Maintenance
Related MCP Connectors
- QuallaaOAuthcom.quallaa
Talk to your public-facing AI from any MCP client — Claude, ChatGPT, Cursor, Cline, Windsurf.
Hosted Amazon Seller Central and Amazon Ads MCP server for Claude, ChatGPT, Cursor, and agents.
Hosted Amazon Seller and Vendor MCP server for Claude, ChatGPT, Cursor, Codex, Gemini, Copilot.
Connect MCP clients to 2,000+ AI models without managing provider API keys.
Related MCP Servers
- AlicenseCqualityDmaintenanceEnables integration with OpenAI models through the MCP protocol, supporting concise and detailed responses for use with Claude Desktop.13MIT
- AlicenseNot gradedqualityDmaintenanceEnables browser automation through MCP clients like Claude or Cursor, using the client's existing LLM without requiring an additional API key.Apache 2.0
- FlicenseNot gradedqualityCmaintenanceConnects Claude Desktop to the OAPT MCP server for natural-language queries across Dynamics CRM, AWS ACE, Partner Central, and more via a hosted endpoint, with per-user API key authentication.-
- FlicenseNot gradedqualityBmaintenanceEnables deploying a remote MCP server on Cloudflare Workers without authentication, allowing connection to AI Playground or Claude Desktop via SSE.-