npm formpaste-mcpstreamable-httpMITupdated 1mo ago
Create and wire up contact forms from your coding agent. Six tools for forms, snippets, and submissions.
What can you do with formpaste?
formpaste-mcp
Create and wire up contact forms from your coding agent. Six tools for forms, snippets, and submissions.
What this is
This 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.
Requirements
- Node.js 18 or later
- A Formpaste account
- An API token from Settings -> API & MCP in the Formpaste dashboard
Install
Each 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.
Claude Code
claude mcp add formpaste --transport http https://api.formpaste.com/mcp \
--header "Authorization: Bearer fpat_YOUR_TOKEN"
Codex
# ~/.codex/config.toml
[mcp_servers.formpaste]
command = "npx"
args = ["mcp-remote", "https://api.formpaste.com/mcp", "--header", "Authorization: Bearer fpat_YOUR_TOKEN"]
Cursor
// .cursor/mcp.json
{
"mcpServers": {
"formpaste": { "command": "npx", "args": ["mcp-remote", "https://api.formpaste.com/mcp", "--header", "Authorization: Bearer fpat_YOUR_TOKEN"] }
}
}
Claude Desktop
// claude_desktop_config.json
{
"mcpServers": {
"formpaste": { "command": "npx", "args": ["mcp-remote", "https://api.formpaste.com/mcp", "--header", "Authorization: Bearer fpat_YOUR_TOKEN"] }
}
}
VS Code
// .vscode/mcp.json
{
"servers": {
"formpaste": { "command": "npx", "args": ["mcp-remote", "https://api.formpaste.com/mcp", "--header", "Authorization: Bearer fpat_YOUR_TOKEN"] }
}
}
Any MCP client, via this package
FORMPASTE_TOKEN=fpat_YOUR_TOKEN npx formpaste-mcp
formpaste-mcp reads FORMPASTE_TOKEN from the environment (or a --token flag) and starts mcp-remote against the hosted endpoint for you.
The six tools
| Tool | Purpose | Scope |
|---|---|---|
create_form |
Create a form, return its access key and a wired snippet | setup |
get_snippet |
Return a copy-paste snippet for html/react/nextjs/astro/vue/svelte | setup |
list_forms |
List all forms with ids, names, access keys, inbox/spam counts | setup |
get_form |
Read one form's config to verify it is wired correctly | setup |
send_test_submission |
Store a test submission to prove a form is live | setup |
list_submissions |
List submissions, optionally including message bodies | full |
Token scopes
Formpaste API tokens have two scopes:
fullcan do everything, including reading submission content vialist_submissions.setupcan do everything exceptlist_submissions, so it never reads third-party submission content.
Use 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.
Worked example
See 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.
Links
- Documentation: https://formpaste.com/docs
- MCP server docs: https://formpaste.com/docs/agents/mcp-server
- Install guide: https://formpaste.com/docs/agents/install
- Issues: https://github.com/webrating/formpaste-mcp/issues
Install
Add formpaste to your client. Pick the one you use.
{
"servers": {
"formpaste-mcp": {
"type": "http",
"url": "https://api.formpaste.com/mcp"
}
}
}Add to `.vscode/mcp.json` in your workspace.
claude mcp add formpaste-mcp -- npx -y formpaste-mcpcodex mcp add formpaste-mcp -- npx -y formpaste-mcpamp mcp add formpaste-mcp -- npx -y formpaste-mcp{
"mcpServers": {
"formpaste-mcp": {
"command": "npx",
"args": [
"-y",
"formpaste-mcp"
]
}
}
}Add to `claude_desktop_config.json`, then restart Claude Desktop.
{
"mcpServers": {
"formpaste-mcp": {
"command": "npx",
"args": [
"-y",
"formpaste-mcp"
]
}
}
}Add to `~/.cursor/mcp.json`, or `.cursor/mcp.json` for a single project.
{
"mcpServers": {
"formpaste-mcp": {
"command": "npx",
"args": [
"-y",
"formpaste-mcp"
]
}
}
}Add to `~/.codeium/windsurf/mcp_config.json`.
{
"mcpServers": {
"formpaste-mcp": {
"command": "npx",
"args": [
"-y",
"formpaste-mcp"
]
}
}
}Add to `cline_mcp_settings.json` via the MCP Servers panel.
{
"mcpServers": {
"formpaste-mcp": {
"command": "npx",
"args": [
"-y",
"formpaste-mcp"
]
}
}
}Add to `~/.gemini/settings.json`.
{
"mcpServers": {
"formpaste-mcp": {
"type": "local",
"command": "npx",
"args": [
"-y",
"formpaste-mcp"
],
"tools": [
"*"
]
}
}
}Add to `~/.copilot/mcp-config.json`, or run `/mcp add` inside the CLI.
{
"context_servers": {
"formpaste-mcp": {
"command": {
"path": "npx",
"args": [
"-y",
"formpaste-mcp"
]
}
}
}
}Add to your Zed `settings.json`.
npx -y formpaste-mcpRun `goose configure`, choose **Add Extension → Command-line Extension**, and paste this command.
Score
39 / 100
Incomplete
- Documentation22/25
- Maintenance16/25
- Trust13/20
- Capability0/15
- Install experience15/15
- Documents what it does and how to connect
- Has a resolvable package or endpoint
- Exposes at least one tool, prompt or resource
- README has substantive content
- Includes a code example
- Documents its configuration
- Mentions credentials or security posture
- Last commit 35 days ago
- Has a release history
- Repository is not archived
- Licensed MIT
- Namespace verified in the official MCP registry
- Claimed by its owner
- Published under an organisation
- 0 tool(s) documented
- Provides prompt templates
- Provides resources
- 18 documented install method(s)
- Published to a package registry
- Offers a hosted endpoint — no local install
Version history
| Versions | Published |
|---|---|
| 1.0.0Latest | Jul 28, 2026 |