Menu

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.

Not what you're looking for? See the full surface at /llms.txt.