loading…
Search for a command to run...
loading…
Enables LLMs to convert documents to Google Forms, edit questions, list and publish forms, and run AI form assistant tools through the Formswrite API.
Enables LLMs to convert documents to Google Forms, edit questions, list and publish forms, and run AI form assistant tools through the Formswrite API.
Connect Claude Desktop, Cursor, Claude Code, and other MCP clients to the Formswrite API.
Convert documents to Google Forms, edit questions, list and publish forms, and run AI form assistant tools — all from your LLM.
Once installed, your LLM gains access to the Formswrite toolset:
create_form — create a Formswrite job from a Google Doc, PDF, or pasted textget_form_data — read the current questions, options, and metadata of a formmodify_questions — add, edit, delete, or reorder questionsupdate_form_metadata — update title, description, or introductionpublish_form — publish a draft form so it can accept responsesexport_form — export a form to Google Forms, Moodle, Kahoot, Quizizz, Canvas, and 25+ other formatslist_jobs / get_job — browse and inspect your conversion jobsSign in to your Formswrite dashboard and create an API token at: https://app.formswrite.com/settings/api-tokens
Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"formswrite": {
"command": "npx",
"args": ["-y", "@formswrite/mcp"],
"env": {
"FORMSWRITE_API_TOKEN": "fw_..."
}
}
}
}
Restart Claude Desktop. The Formswrite tools will appear in the tools list.
In Settings → MCP, add:
{
"formswrite": {
"command": "npx",
"args": ["-y", "@formswrite/mcp"],
"env": { "FORMSWRITE_API_TOKEN": "fw_..." }
}
}
claude mcp add formswrite -- npx -y @formswrite/mcp
Then set the token in ~/.claude/settings.json:
{ "env": { "FORMSWRITE_API_TOKEN": "fw_..." } }
If your client supports the Streamable HTTP transport natively (Cursor 0.45+, ChatGPT MCP, recent Claude Desktop), you can skip this package and connect directly:
URL: https://mcp.formswrite.com/mcp
Header: Authorization: Bearer fw_...
This package is a small stdio ↔ Streamable HTTP bridge. It runs locally on your machine, opens a connection to https://mcp.formswrite.com/mcp using your API token, and forwards JSON-RPC messages between your MCP client (stdio) and the Formswrite server (HTTP).
All tool logic lives on the Formswrite backend — this package contains no business logic and never sees your form data outside of forwarding it.
| Env var | Required | Default | Description |
|---|---|---|---|
FORMSWRITE_API_TOKEN |
yes | — | API token from your Formswrite dashboard |
FORMSWRITE_MCP_URL |
no | https://mcp.formswrite.com/mcp |
Override for staging or self-hosted |
Diagnostic output is written to stderr (stdout is the JSON-RPC channel). To see logs:
FORMSWRITE_API_TOKEN=... npx @formswrite/mcp 2>&1 >/dev/nullCommon issues:
Missing token — FORMSWRITE_API_TOKEN is not set in your client's MCP env block401 unauthorized — token is invalid, expired, or for the wrong environment. Generate a new one at the dashboard URL above429 rate_limited — you're past the 60 req/min limit; slow downMIT — see LICENSE.
Run in your terminal:
claude mcp add formswrite-mcp -- npx