{
  "markdown": "# @numeratica/mcp\n\nA thin [MCP](https://modelcontextprotocol.io) bridge that connects any MCP client (Claude Desktop, Cursor, …) to the **[Numeratica](https://docs.numeratica.com)** financial-planning API — retirement Monte Carlo, taxes, RMDs, Social Security, Roth conversions, and more.\n\n**Get a free key at [https://docs.numeratica.com](https://docs.numeratica.com).**\n\n## How it works\n\nThis package is a **transport bridge, nothing more**. It reads JSON-RPC from stdin and forwards each message to the hosted `POST /mcp` endpoint with your API key as a bearer token, then writes the response back to stdout. The tool list and all results come straight from the API — so the bridge always stays in sync and ships no calculation logic of its own. Your key is sent only in the `Authorization` header and **is never logged**.\n\n- **Zero runtime dependencies** (Node ≥ 20 built-in `fetch` + `node:readline`).\n- Open source (MIT). The interesting part is the API; this is just the wire.\n\n## Install\n\nNo install needed — your MCP client runs it on demand with `npx`. (You can also `npm i -g @numeratica/mcp` to get the `numeratica-mcp` command.)\n\n### Step 1 — look around, no key needed\n\nStart here. This config needs no signup and no key:\n\n```json\n{\n  \"mcpServers\": {\n    \"numeratica\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@numeratica/mcp\"]\n    }\n  }\n}\n```\n\nPut it in `claude_desktop_config.json` (Claude Desktop: Settings → Developer → Edit\nConfig) or `~/.cursor/mcp.json` (Cursor, or a project `.cursor/mcp.json`), then\nrestart the client. All 76 tools appear, and you can ask what's available — *\"What\nNumeratica tools do you have?\"*\n\nWithout a key the bridge runs in **discovery-only mode**: browsing the catalogue\nworks, running a calculation returns a message telling you to add a key. That's the\nintended state, not a failure.\n\n### Step 2 — add a key to run calculations\n\nGet a free key at [docs.numeratica.com/get-key](https://docs.numeratica.com/get-key),\nthen add one line:\n\n```json\n{\n  \"mcpServers\": {\n    \"numeratica\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@numeratica/mcp\"],\n      \"env\": { \"NUMERATICA_API_KEY\": \"nmr_sk_your_key_here\" }\n    }\n  }\n}\n```\n\nRestart, and the tools are live. Try: *\"Run a retirement Monte Carlo for a 40-year-old retiring at 65.\"*\n\n## Configuration\n\n| Variable | Required | Default | Notes |\n| --- | --- | --- | --- |\n| `NUMERATICA_API_KEY` | to run calculations | — | Your key. Get one free at [docs.numeratica.com/get-key](https://docs.numeratica.com/get-key). Never logged. Omit it to browse the catalogue in discovery-only mode. |\n| `NUMERATICA_BASE_URL` | no | `https://api.numeratica.com` | Override the API base (e.g. for testing). |\n\nYou can also pass the key with `--key <value>` or `--key=<value>` instead of the env\nvar, but **prefer `NUMERATICA_API_KEY`**: a key on the command line is visible to\n`ps` for every user on the machine, lands in shell history, and is stored verbatim\nin MCP client config files that people routinely paste into issue reports. For a\nnon-env option that avoids all three, use `--key-file <path>`.\n\n## Links\n\n- **API docs & reference:** [https://docs.numeratica.com](https://docs.numeratica.com)\n- **Get a free key:** [https://docs.numeratica.com/get-key](https://docs.numeratica.com/get-key)\n\n## License\n\nMIT © Numeratica / Francis Townsend-Merino\n",
  "bytes": 3346,
  "sha": "979ad2fe64c9e225052ea8d1e6b288070c1f0f4318263a80f4004df0837886ed",
  "repo_slug": "numeratica/mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_com_numeratica_mcp_638b4470/readme"
}