open source · MIT · free
It's a small MCP server. Your AI agent uses it to spin up surveys and read the results, and everything gets written straight into your own Supabase. I never see your data, and there's no AI running on my end, so there's genuinely nothing to charge you for. Free, open source, yours.
you ▸ build a 5-question product feedback survey and publish it agent ▸ done. here's the link: https://www.mcpsurveys.com/s/… you ▸ how are the responses looking? agent ▸ 42 responses so far. average rating 4.3, and the comments keep mentioning onboarding…
the short version
The survey, the questions, the responses: they all live in your Supabase project, not mine. The authoring and the analysis happen inside your agent, so you pay for the tokens you already pay for and nothing else. And your Supabase secret key sits in a local config file on your machine. It's never transmitted, never logged, and never something the agent can read as a tool argument.
how it works
Your agent drives the server to build and publish a survey. Publishing hands back a share link. Someone opens it, the stateless page-service writes their answers into your Supabase, and your agent reads the results back whenever you ask.
your AI agent ──(MCP / stdio)──▶ mcp-server ──┐ ├──▶ your Supabase respondent ──(browser)──▶ page-service ──┘ (source of truth)
Supabase is the backend for now. Plain Postgres, Turso and friends are on the list.
quick start
You'll need a free Supabase project (that's where your data lives) and any MCP client (Claude Code, Claude Desktop, Cursor, and so on). About two minutes start to finish.
This prints some SQL. Copy it into your Supabase SQL editor and run it once. It makes the tables and switches on row-level security for you, so the public key in your share links can only read published surveys and accept responses, nothing else. No dashboard toggles, and don't turn RLS off.
npx -y @agentic-survey/mcp-server init --print-sql
It asks for your project URL and keys, then saves them in a file on your own machine. They're never sent to the agent or to me.
npx -y @agentic-survey/mcp-server init
Pick your client and add the server:
claude mcp add agentic-survey -- npx -y @agentic-survey/mcp-server
// claude_desktop_config.json { "mcpServers": { "agentic-survey": { "command": "npx", "args": ["-y", "@agentic-survey/mcp-server"] } } }
// .cursor/mcp.json (or your client's MCP config) { "mcpServers": { "agentic-survey": { "command": "npx", "args": ["-y", "@agentic-survey/mcp-server"] } } }
That's the setup done. Now just ask in plain English and it handles the rest, chaining its tools for you.
"Build a 4-question customer-satisfaction survey with a 1-5 rating, a yes/no, a multiple choice, and an open comment. Publish it and give me the share link." "Summarise the results so far, themes from the comments too."
the toolbox
Plain, chainable MCP tools over a pure service layer. Typed results, no surprise exceptions.