curl & MCP
Raw HTTP + MCP stdio configuration for Claude Code, Cursor, and Codex. Create endpoints at https://gopigeon.dev/new — no auth required.
One-liner
# 1. Create an endpoint (no auth) curl -X POST https://gopigeon.dev/new -d 'recipient=you@example.com' # → {"endpoint_url":"https://gopigeon.dev/f/f_abc123def456xyz0","form_id":"f_abc123def456xyz0","unclaimed":true,"claim_note":"..."} # 2. Submit to that endpoint curl -X POST https://gopigeon.dev/f/f_abc123def456xyz0 \ -d 'name=Jane&email=jane@example.com&message=hello' # → {"ok":true,"submission_id":"sub_..."}
How it works
The first curl creates an endpoint and returns a JSON payload with the live endpoint_url. The second curl submits to that URL. No auth required; the recipient email passed at creation time is where the claim link lands once a real submission arrives.
Every response is a plain JSON body (no wrapper envelope). 201 on creation, 200 on submission, 303 when a redirect_url is configured. Errors return a JSON body with an error key plus the HTTP status — see the Errors page for the full list.
Claude Code install
# Anonymous mode — exposes create_endpoint only claude mcp add --transport stdio gopigeon -- npx -y @gopigeon/mcp # With API key for get_submissions + list_endpoints claude mcp add --transport stdio --env GOPIGEON_API_KEY=YOUR_KEY gopigeon -- npx -y @gopigeon/mcp
Cursor / generic JSON config
{ "mcpServers": { "gopigeon": { "type": "stdio", "command": "npx", "args": ["-y", "@gopigeon/mcp"], "env": { "GOPIGEON_API_KEY": "${GOPIGEON_API_KEY}" } } } }
The email you passed as recipient above gets a one-click claim link on the first real submission — that is how you become the authenticated owner.