Back to Browse

Aiformapi MCP Server

Developer ToolsLow Risk8.0MCP RegistryRemote
Free

Server data from the Official MCP Registry

Create forms, share the link and read responses as JSON or CSV from your AI agent.

About

Create forms, share the link and read responses as JSON or CSV from your AI agent.

Remote endpoints: streamable-http: https://aiformapi.com/mcp

Security Report

8.0
Low Risk8.0Low Risk

Remote MCP endpoint verified (332ms response). 3 trust signals: valid MCP protocol, requires auth, registry import. No security issues detected.

Endpoint verified · Requires authentication · 2 issues found

Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.

Remote servers are capped at 8.0 because source code is not available for review. The score reflects endpoint verification only.

Permissions Required

This plugin requests these system permissions. Most are normal for its category.

HTTP Network Access

Connects to external APIs or services over the internet.

How to Connect

Remote Plugin

No local installation needed. Your AI client connects to the remote endpoint directly.

Add this to your MCP configuration to connect:

{
  "mcpServers": {
    "io-github-sum-eet-aiformapi": {
      "url": "https://aiformapi.com/mcp"
    }
  }
}

Documentation

View on GitHub

From the project's GitHub README.

AI Form API: MCP servers

AI Form API is a forms API and MCP server. Your AI agent creates a form, you share the link, people answer, and the agent reads the answers as JSON or CSV.

This repo holds the connection docs, the server.json files for the official MCP Registry and code examples. The service runs at https://aiformapi.com. This repo has no server code.

The 2 MCP servers

Both servers use the Streamable HTTP transport.

ServerURLAuthWho uses it
Creatorhttps://aiformapi.com/mcpAuthorization: Bearer afk_...You, the form owner. Create forms and read responses.
Fillhttps://aiformapi.com/mcp/fillNone. The fill code is an argument.A person who hands a form to their own AI agent.

Get an API key for the creator server from the dashboard at https://aiformapi.com. See Authentication. The key starts with afk_. Keep it out of files you commit.

The fill server needs no login. A visitor presses "Want your AI agent to fill this?" on a public form page and copies a prompt with a one-time fill code. The agent reads the form, asks the person for anything missing, shows all answers, and submits only after the person says yes.

Which apps work today

AppCreator serverFill server
Claude CodeYes, with a headerYes
CursorYes, with a headerYes
VS CodeYes, with a headerYes
Claude DesktopYes, through mcp-remote with a headerYes, as a custom connector
n8nYes, with a headerYes
Claude.aiNot yet. It needs OAuth, which is planned.Yes, as a custom connector
ChatGPTNot yet. It needs OAuth, which is planned.Yes, as a custom connector

Connect the creator server

Set your key in your shell first. Use your own key.

export AIFORMAPI_KEY="afk_paste_your_key_here"

Claude Code

claude mcp add --transport http aiformapi https://aiformapi.com/mcp \
  --header "Authorization: Bearer $AIFORMAPI_KEY"

This stores the key in your local Claude Code config. To keep the key out of a shared file, use a project .mcp.json that reads the environment variable (example):

{
  "mcpServers": {
    "aiformapi": {
      "type": "http",
      "url": "https://aiformapi.com/mcp",
      "headers": {
        "Authorization": "Bearer ${AIFORMAPI_KEY}"
      }
    }
  }
}

Run /mcp in Claude Code to see the connection. Claude Code docs: https://code.claude.com/docs/en/mcp

Cursor

Put this in .cursor/mcp.json for one project, or in ~/.cursor/mcp.json for all projects (example). Set AIFORMAPI_KEY in your shell profile first.

{
  "mcpServers": {
    "aiformapi": {
      "url": "https://aiformapi.com/mcp",
      "headers": {
        "Authorization": "Bearer ${env:AIFORMAPI_KEY}"
      }
    }
  }
}

Cursor docs: https://cursor.com/docs/context/mcp

VS Code

Put this in .vscode/mcp.json, or run MCP: Open User Configuration for a profile-wide file (example). VS Code uses the top-level key servers, not mcpServers. It asks for the key when the server starts for the first time.

{
  "inputs": [
    {
      "type": "promptString",
      "id": "aiformapi-key",
      "description": "AI Form API key",
      "password": true
    }
  ],
  "servers": {
    "aiformapi": {
      "type": "http",
      "url": "https://aiformapi.com/mcp",
      "headers": {
        "Authorization": "Bearer ${input:aiformapi-key}"
      }
    }
  }
}

VS Code docs: https://code.visualstudio.com/docs/agents/reference/mcp-configuration

Claude Desktop (through mcp-remote)

Claude Desktop reads local servers from claude_desktop_config.json. The mcp-remote package turns a remote server with a header into a local one. You need Node.js.

  1. Open the file. On macOS it is ~/Library/Application Support/Claude/claude_desktop_config.json. On Windows it is %APPDATA%\Claude\claude_desktop_config.json. You can also open it from Settings, Developer, Edit Config.
  2. Add the server (example). The space of Bearer lives in the environment variable, not in args, so the entry also works on Windows.
{
  "mcpServers": {
    "aiformapi": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://aiformapi.com/mcp",
        "--header",
        "Authorization:${AIFORMAPI_AUTH}"
      ],
      "env": {
        "AIFORMAPI_AUTH": "Bearer afk_your_key_here"
      }
    }
  }
}
  1. Quit Claude Desktop fully and open it again.

This file holds your key in plain text. Do not share it or commit it.

n8n

Use the MCP Client Tool node and connect it to an AI Agent node. Set the endpoint to https://aiformapi.com/mcp, the transport to HTTP Streamable, and the authentication to Bearer with your key. Field names change between n8n versions, so check yours. n8n docs: https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.toolmcp/

Connect the fill server

The fill server has no login, so it needs no header.

Claude.ai and Claude Desktop

Add it as a custom connector.

  1. Go to Customize, then Connectors.
  2. Press + Add, then Add custom connector.
  3. Enter a name, for example AI Form API fill.
  4. Enter the URL https://aiformapi.com/mcp/fill.
  5. Choose No sign in for authentication.
  6. Press Add.
  7. In a chat, press +, then Connectors, and switch the connector on.

Anthropic says custom connectors are available on Free, Pro, Max, Team and Enterprise plans, and that Free plans have a limit of 1 custom connector. See https://support.claude.com/en/articles/11175166-get-started-with-custom-connectors-using-remote-mcp

ChatGPT

ChatGPT adds remote servers as connectors in developer mode. Create a connector, enter the URL https://aiformapi.com/mcp/fill, and choose no authentication. Menu names and plan availability change often. Check OpenAI's current help page for the exact steps.

Claude Code, Cursor, VS Code and n8n

Add it the same way as the creator server, without the header.

claude mcp add --transport http aiformapi-fill https://aiformapi.com/mcp/fill
{
  "mcpServers": {
    "aiformapi-fill": {
      "url": "https://aiformapi.com/mcp/fill"
    }
  }
}

Tools

Creator server (/mcp)

The tools return rows and form definitions. They do not summarise. Your own model reads the rows and writes the summary.

ToolArgumentsSame as
create_formtitle, description (optional), fields, settings (optional)POST /v1/forms
list_formslimit (optional), cursor (optional)GET /v1/forms
get_formform_idGET /v1/forms/{id}
update_formform_id, and any of title, description, fields, settingsPATCH /v1/forms/{id}
close_formform_idPOST /v1/forms/{id}/close
reopen_formform_idPOST /v1/forms/{id}/reopen
get_responsesform_id, and any of format, since, limit, cursor, orderGET /v1/forms/{id}/responses
add_webhookform_id, urlPOST /v1/forms/{id}/webhooks
get_usagenoneGET /v1/usage

The arguments match the body or query of the REST call. The form id is the argument form_id, not a path part. format is json (default) or csv. order is asc or desc. In update_form, fields replaces the whole list and settings merges key by key. There is no tool to delete a form. Use the REST API or the dashboard.

A failed call returns a tool error with the same JSON error body as the REST API. See API error codes.

Fill server (/mcp/fill)

ToolArgumentsDoes
get_fill_formfill_tokenReturns the form and instructions. Does not use up the code.
submit_fillfill_token, answersStores the answers. answers maps field ids to values.

fill_token is the code from the prompt. It starts with fil_. A successful submit_fill returns response_id, receipt and submitted_at.

Limits on the free plan

ScopeFree plan
API key (REST and creator MCP together)30 requests per minute, 1,000 per day
Open forms per account3
Responses per account per calendar month (UTC), all sources100
Fill MCP calls, per IP20 per minute
One fill code1 successful use, 60 minutes lifetime, 5 POST attempts
POST /v1/fill/{token}, per IP10 per minute
Webhooks per form3
Request body size64 KB

Creator MCP calls count against the same limit as REST calls for the key. The API, MCP, agent fill and CSV export are included in the free plan. A 429 response has a Retry-After header. The full table, with the RateLimit-* headers, is at https://aiformapi.com/docs/rate-limits

Examples

The examples/ folder has copy-paste code from the quickstart. Each example creates a small RSVP form and reads the responses back.

MCP Registry

The two servers are listed in the official MCP Registry with the server.json files in this repo:

License

The docs and examples in this repo use the MIT license. AI Form API is a hosted service. This license does not cover the service.

Reviews

No reviews yet

Be the first to review this server!