{
  "markdown": "# formpaste-mcp\n\nCreate and wire up contact forms from your coding agent. Six tools for forms, snippets, and submissions.\n\n## What this is\n\nThis package is a thin wrapper that launches `mcp-remote` pointed at the hosted Formpaste MCP server (`https://api.formpaste.com/mcp`, streamable-http transport). The equivalent manual `mcp-remote` config works identically; this package exists mainly so agents and clients can discover and install Formpaste's MCP server by name, not because it does anything the manual config cannot.\n\n## Requirements\n\n- Node.js 18 or later\n- A Formpaste account\n- An API token from Settings -> API & MCP in the Formpaste dashboard\n\n## Install\n\nEach client below is configured to talk to the hosted MCP endpoint at `https://api.formpaste.com/mcp`. Replace `fpat_YOUR_TOKEN` with a token minted from Settings -> API & MCP.\n\n### Claude Code\n\n```\nclaude mcp add formpaste --transport http https://api.formpaste.com/mcp \\\n  --header \"Authorization: Bearer fpat_YOUR_TOKEN\"\n```\n\n### Codex\n\n```\n# ~/.codex/config.toml\n[mcp_servers.formpaste]\ncommand = \"npx\"\nargs = [\"mcp-remote\", \"https://api.formpaste.com/mcp\", \"--header\", \"Authorization: Bearer fpat_YOUR_TOKEN\"]\n```\n\n### Cursor\n\n```\n// .cursor/mcp.json\n{\n  \"mcpServers\": {\n    \"formpaste\": { \"command\": \"npx\", \"args\": [\"mcp-remote\", \"https://api.formpaste.com/mcp\", \"--header\", \"Authorization: Bearer fpat_YOUR_TOKEN\"] }\n  }\n}\n```\n\n### Claude Desktop\n\n```\n// claude_desktop_config.json\n{\n  \"mcpServers\": {\n    \"formpaste\": { \"command\": \"npx\", \"args\": [\"mcp-remote\", \"https://api.formpaste.com/mcp\", \"--header\", \"Authorization: Bearer fpat_YOUR_TOKEN\"] }\n  }\n}\n```\n\n### VS Code\n\n```\n// .vscode/mcp.json\n{\n  \"servers\": {\n    \"formpaste\": { \"command\": \"npx\", \"args\": [\"mcp-remote\", \"https://api.formpaste.com/mcp\", \"--header\", \"Authorization: Bearer fpat_YOUR_TOKEN\"] }\n  }\n}\n```\n\n### Any MCP client, via this package\n\n```\nFORMPASTE_TOKEN=fpat_YOUR_TOKEN npx formpaste-mcp\n```\n\n`formpaste-mcp` reads `FORMPASTE_TOKEN` from the environment (or a `--token` flag) and starts `mcp-remote` against the hosted endpoint for you.\n\n## The six tools\n\n| Tool | Purpose | Scope |\n|---|---|---|\n| `create_form` | Create a form, return its access key and a wired snippet | setup |\n| `get_snippet` | Return a copy-paste snippet for html/react/nextjs/astro/vue/svelte | setup |\n| `list_forms` | List all forms with ids, names, access keys, inbox/spam counts | setup |\n| `get_form` | Read one form's config to verify it is wired correctly | setup |\n| `send_test_submission` | Store a test submission to prove a form is live | setup |\n| `list_submissions` | List submissions, optionally including message bodies | full |\n\n## Token scopes\n\nFormpaste API tokens have two scopes:\n\n- **`full`** can do everything, including reading submission content via `list_submissions`.\n- **`setup`** can do everything except `list_submissions`, so it never reads third-party submission content.\n\nUse a `setup`-scoped token for agent use. It covers form creation, snippets, and verifying that a form is wired correctly, without granting access to the data your forms collect.\n\n## Worked example\n\nSee [`examples/wire-a-form.md`](examples/wire-a-form.md) for a full walkthrough: create a form, get a snippet, paste it into a page, send a test submission, and confirm the form is wired correctly.\n\n## Links\n\n- Documentation: https://formpaste.com/docs\n- MCP server docs: https://formpaste.com/docs/agents/mcp-server\n- Install guide: https://formpaste.com/docs/agents/install\n- Issues: https://github.com/webrating/formpaste-mcp/issues\n",
  "bytes": 3567,
  "sha": "e46fce46f34e99af034b15f41b154503aa74b3d8e363af279982478f48e5a59d",
  "repo_slug": "webrating/formpaste-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_com_formpaste_formpaste_76bcf059/readme"
}