{"name":"Makeform MCP Server","description":"Agent control plane for Makeform workspaces: create forms, inspect form configs, read submissions, export leads, and review analytics from coding tools and AI agents.","version":"2026-05-20","protocol":"mcp","transport":"streamable-http","endpoint":"https://mcp.makeform.ai","docs":"https://mcp.makeform.ai","auth":{"type":"bearer","header":"Authorization: Bearer <makeform_api_key>","env_var":"MAKEFORM_API_KEY","recommendation":"Create a Makeform API key for the workspace you want the agent to access. Keep it server-side and rotate it if it is exposed.","oauth2":{"protected_resource_metadata":"https://mcp.makeform.ai/.well-known/oauth-protected-resource","authorization_server":"https://njjuaaacyeukmwdijoad.supabase.co/auth/v1","scopes":["email","profile"],"note":"ChatGPT Apps should link a Makeform account through OAuth. Existing coding clients can continue to use Makeform API keys."}},"what_this_mcp_can_do":["Explain the Makeform MCP workflow through makeform.guide without requiring an external skill.","Inspect the current workspace, plan tier, role, form count, and member count.","List forms and fetch a specific form configuration, status, public URL, field count, and submission count.","Create draft forms from natural language prompts.","Rename forms or update non-destructive form settings.","Propose and apply safe draft form config saves through the same checked-write contract as the public API.","Propose and apply AI-assisted draft edits through a token-bound two-step workflow.","Propose and publish forms through the shared Makeform publish validation pipeline.","Duplicate forms. Delete remains dashboard-only until MCP confirmation support exists.","List, summarize, chart, and export form submissions."],"available_tool_categories":[{"category":"start-here","tools":["makeform.guide"],"safety":"Read-only. Returns workflow paths, tool map, and safety rules for agents."},{"category":"workspace","tools":["workspace.info"],"safety":"Read-only workspace context for choosing the right next action."},{"category":"forms read","tools":["form.list","form.get"],"safety":"Read-only. Use before updates, analytics, submissions, or destructive actions."},{"category":"forms write","tools":["form.create","form.update","form.draft.propose","form.draft.apply","form.edit.propose","form.edit.apply","form.publish.propose","form.publish.apply","form.duplicate"],"safety":"Creates or changes draft/admin data. Draft replacement, AI edit, and publish are two-step: propose first, apply only after user confirmation with the returned token."},{"category":"submissions","tools":["submission.list","submission.stats","submission.export"],"safety":"Read-only lead data access. Exports can contain respondent PII."},{"category":"analytics","tools":["analytics.summary","analytics.trend"],"safety":"Read-only metrics for a selected form."}],"recommended_paths":{"first_run":["makeform.guide","workspace.info","form.list"],"create_form":["makeform.guide","workspace.info","form.create","form.get"],"inspect_form":["form.list","form.get"],"update_form":["form.get","form.draft.propose","form.draft.apply","form.get"],"edit_form":["form.get","form.edit.propose","form.edit.apply","form.get"],"publish_form":["form.get","form.publish.propose","form.publish.apply","form.get"],"submissions":["form.list","submission.stats","submission.list"],"export_submissions":["form.list","submission.export"],"analytics":["form.list","analytics.summary","analytics.trend"],"delete_form":["form.get","open_makeform_dashboard"]},"minimal_config":{"codex_cli":"codex mcp add makeform --url https://mcp.makeform.ai --bearer-token-env-var MAKEFORM_API_KEY","mcp_json":{"mcpServers":{"makeform":{"type":"http","url":"https://mcp.makeform.ai","headers":{"Authorization":"Bearer ${MAKEFORM_API_KEY}"}}}}},"warnings":["Start with makeform.guide; it is the built-in replacement for an external skill.","Read with form.get before updating a form.","Use form.draft.propose for deterministic complete-config edits; it only returns a change plan, risk notes, draftToken, and proposedConfig. It does not write to the database.","Use form.draft.apply only after user confirmation; apply rejects stale drafts and mismatched proposedConfig.","Use form.edit.propose before form.edit.apply for Makeform-hosted AI edits; apply requires the exact proposedConfig and editToken returned by propose.","Use form.publish.propose before form.publish.apply; apply rejects stale drafts, changed live versions, and changed publish context.","Confirm-risk tools such as form.delete are not exposed through MCP until confirmation support exists.","submission tools can expose lead PII; only export what the user asked for.","The canonical streamable HTTP endpoint is the bare MCP origin."],"sse":{"enabled":false,"reason":"SSE is disabled; use streamable HTTP."},"capabilities":{"tools":true}}