Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Description from the maker (original English)
Read and submit one AI Form API form for a person, with a one-time fill code. No login.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Works in Claude on the web, desktop and mobile:
https://aiformapi.com/mcp/fillRun this in your terminal
claude mcp add --transport http aiformapi-fill https://aiformapi.com/mcp/fillPaste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"aiformapi-fill": {
"url": "https://aiformapi.com/mcp/fill"
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"aiformapi-fill": {
"type": "http",
"url": "https://aiformapi.com/mcp/fill"
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
ChatGPT connects only to servers on the internet:
https://aiformapi.com/mcp/fillMenu names can differ slightly by plan and over time.
Your choice stays on this device in a cookie; no account needed.
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
We have not read this server’s tool list yet; we check endpoints in rotation.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 6, 2026
The registry name was verified with the GitHub account sum-eet, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
Not checked yet; we check endpoints in rotation
Not checked yet; we check endpoints in rotation
Not checked yet; we read the tool list when we check the endpoint
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
The registry does not list a required key, though some servers ask you to sign in on first use.
It runs in the maker’s cloud. Connect over the internet with nothing to install, but what you send passes through the maker’s servers.
The GitHub repo last changed –, and the latest version (0.1.0) reached the registry 7 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT in developer mode.
In the same category: Spec Driven Development, Remote Desktop Commander, Symantec Cloud DLP AIops
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Governed Symantec Cloud DLP — 14 MCP tools, read-only with audit.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
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.
Both servers use the Streamable HTTP transport.
| Server | URL | Auth | Who uses it |
|---|---|---|---|
| Creator | https://aiformapi.com/mcp | Authorization: Bearer afk_... | You, the form owner. Create forms and read responses. |
| Fill | https://aiformapi.com/mcp/fill | None. 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.
| App | Creator server | Fill server |
|---|---|---|
| Claude Code | Yes, with a header | Yes |
| Cursor | Yes, with a header | Yes |
| VS Code | Yes, with a header | Yes |
| Claude Desktop | Yes, through mcp-remote with a header | Yes, as a custom connector |
| n8n | Yes, with a header | Yes |
| Claude.ai | Not yet. It needs OAuth, which is planned. | Yes, as a custom connector |
| ChatGPT | Not yet. It needs OAuth, which is planned. | Yes, as a custom connector |
Set your key in your shell first. Use your own key.
export AIFORMAPI_KEY="afk_paste_your_key_here"
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
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
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 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.
~/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.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" } } } }
This file holds your key in plain text. Do not share it or commit it.
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/
The fill server has no login, so it needs no header.
Add it as a custom connector.
AI Form API fill.https://aiformapi.com/mcp/fill.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 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.
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" } } }
/mcp)The tools return rows and form definitions. They do not summarise. Your own model reads the rows and writes the summary.
| Tool | Arguments | Same as |
|---|---|---|
create_form | title, description (optional), fields, settings (optional) | POST /v1/forms |
list_forms | limit (optional), cursor (optional) | GET /v1/forms |
get_form | form_id | GET /v1/forms/{id} |
update_form | form_id, and any of title, description, fields, settings | PATCH /v1/forms/{id} |
close_form | form_id | POST /v1/forms/{id}/close |
reopen_form | form_id | POST /v1/forms/{id}/reopen |
get_responses | form_id, and any of format, since, limit, cursor, order | GET /v1/forms/{id}/responses |
add_webhook | form_id, url | POST /v1/forms/{id}/webhooks |
get_usage | none | GET /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.
/mcp/fill)| Tool | Arguments | Does |
|---|---|---|
get_fill_form | fill_token | Returns the form and instructions. Does not use up the code. |
submit_fill | fill_token, answers | Stores 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.
| Scope | Free plan |
|---|---|
| API key (REST and creator MCP together) | 30 requests per minute, 1,000 per day |
| Open forms per account | 3 |
| Responses per account per calendar month (UTC), all sources | 100 |
| Fill MCP calls, per IP | 20 per minute |
| One fill code | 1 successful use, 60 minutes lifetime, 5 POST attempts |
POST /v1/fill/{token}, per IP | 10 per minute |
| Webhooks per form | 3 |
| Request body size | 64 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
The examples/ folder has copy-paste code from the quickstart. Each example creates a small RSVP form and reads the responses back.
examples/curl/create-and-read.shexamples/javascript/create-and-read.mjs (Node 18 or newer, fetch)examples/python/create_and_read.py (requests)examples/mcp/: the client config files from this READMEThe two servers are listed in the official MCP Registry with the server.json files in this repo:
server.json: creator server, io.github.sum-eet/aiformapiserver-fill.json: fill server, io.github.sum-eet/aiformapi-fillThe docs and examples in this repo use the MIT license. AI Form API is a hosted service. This license does not cover the service.