{
  "markdown": "# toolforte-mcp\n\nAn MCP server that gives an AI assistant exact answers and real files: IBAN and VAT checks, working days, cron and regex, HTML or a URL to a hosted PDF or screenshot, a JavaScript-rendered page as Markdown, and memory that survives between sessions.\n\nThe server runs at `https://toolforte.com/api/mcp`. This package is the one-line way to reach it from a client that speaks stdio, and it is also the shortest possible setup for any client:\n\n```bash\nnpx -y toolforte-mcp\n```\n\n## How do I add ToolForte to Claude desktop?\n\nOpen Settings, Developer, Edit config, and add:\n\n```json\n{\n  \"mcpServers\": {\n    \"toolforte\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"toolforte-mcp\"]\n    }\n  }\n}\n```\n\nRestart Claude. Ask: \"Validate the IBAN NL91 ABNA 0417 1643 00 with ToolForte.\" Claude calls `validate_iban` and answers from the result instead of from memory.\n\nOn a paid Claude plan you can skip this package: Settings, Connectors, Add custom connector, and paste the server URL. Guide: https://toolforte.com/mcp/claude\n\n## How do I add ToolForte to Cursor, VS Code, Windsurf or Claude Code?\n\nThese clients connect to the URL directly, no bridge needed:\n\n| Client | Setup |\n| --- | --- |\n| Claude Code | `claude mcp add --transport http toolforte https://toolforte.com/api/mcp` |\n| Cursor | `{\"mcpServers\":{\"toolforte\":{\"url\":\"https://toolforte.com/api/mcp\"}}}` in `mcp.json`, or the install button on https://toolforte.com/mcp/cursor |\n| VS Code | `{\"servers\":{\"toolforte\":{\"type\":\"http\",\"url\":\"https://toolforte.com/api/mcp\"}}}` in `.vscode/mcp.json` |\n| Windsurf | `{\"mcpServers\":{\"toolforte\":{\"serverUrl\":\"https://toolforte.com/api/mcp\"}}}` |\n| Gemini CLI | `gemini mcp add --transport http toolforte https://toolforte.com/api/mcp` |\n| ChatGPT | Developer mode connector with the same URL |\n\nA step by step page per client, with the config to paste and the questions people ask: https://toolforte.com/mcp\n\n## Do I need an API key?\n\nNot for the utilities. Without a key you get every deterministic tool plus a few renders a day per session. A free key from https://toolforte.com/account makes memory private to you, gives access to the workflows on your account, and moves renders onto a monthly credit balance. Pass it as an environment variable:\n\n```json\n{\n  \"mcpServers\": {\n    \"toolforte\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"toolforte-mcp\"],\n      \"env\": { \"TOOLFORTE_API_KEY\": \"tf_your_key_here\" }\n    }\n  }\n}\n```\n\n## Which tools does the server expose?\n\nFour groups. The names below are what the assistant sees.\n\n**Deterministic utilities**, free: `validate_iban`, `validate_email`, `calculate_vat`, `check_vat_number_format`, `dutch_public_holidays`, `working_days_between`, `parse_cron`, `test_regex`, `format_json`, `text_diff`, `csv_to_json`, `base64`, `url_encode`, `generate_uuids`, `count_words`, `generate_slug`, `markdown_to_html`, `convert_color`, `password_strength`, and Dutch test data generators (`generate_test_bsn`, `generate_test_iban`, `generate_brp_test_data`, `generate_upa_files`). Each one is arithmetic or parsing, so the answer is computed rather than guessed.\n\n**Render tools**: `html_to_pdf`, `url_to_pdf`, `url_screenshot`, `qr_code_png`, `pdf_merge` return a hosted file valid for 24 hours. `read_page` returns the readable content of a JavaScript-rendered page as Markdown.\n\n**Memory tools**, free: `memory_set`, `memory_get`, `memory_list`, `memory_delete`. A private key-value store scoped to your API key, so work spanning several days continues instead of starting over.\n\n**Workflow tools**: `workflow_list` and `workflow_run` list and run the multi-step workflows saved on your account, by id, in one call.\n\nThe full list with what each tool costs: https://toolforte.com/mcp\n\n## What does it cost?\n\nThe utilities and memory are free. Renders have a daily free allowance without a key and draw on a monthly credit balance with one. A free account carries 1,000 credits a month; a paid plan raises that and any plan can be extended with a pack that never expires. Pricing: https://toolforte.com/pricing\n\n## Is what I send stored?\n\nTool inputs are processed on ToolForte servers and not kept, except by the memory tools, whose purpose is to keep what you store, and rendered files, which are hosted for 24 hours behind a signed link. The browser tools on toolforte.com never send anything; the MCP server necessarily does. Details: https://toolforte.com/help/where-your-data-goes\n\n## Options\n\n| Variable | Meaning |\n| --- | --- |\n| `TOOLFORTE_API_KEY` | Sent as `Authorization: Bearer` on every request. Optional. |\n| `TOOLFORTE_MCP_URL` | Override the server URL. Defaults to `https://toolforte.com/api/mcp`. |\n\n`npx toolforte-mcp --help` prints the same.\n\n## Other ways in\n\n- REST API with an OpenAPI 3.1 document: https://toolforte.com/openapi.json\n- Documentation: https://toolforte.com/developers\n- Registry entry: `io.github.Toinedotcom/toolforte` in the official MCP Registry\n\n## License\n\nMIT",
  "bytes": 4966,
  "sha": "9c2552c916247aedbad966fb80cdf03007f437b0441d6b7be10622502862f502",
  "repo_slug": "",
  "fonte": "npm",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_toinedotcom_toolforte_7ce10caa/readme"
}