# Basin — MCP server on mcp.ai > Connect your Basin account and use 19 tools for forms and surveys straight from your AI agent. Connect with your own API key. Basin is a no-code form backend that enables users to set up powerful, reliable forms quickly without writing server-side code. By: mcp.ai · official Page: https://mcp.ai/basin ## Connect (MCP protocol) Remote MCP endpoint (HTTP, streamable): https://api.mcp.ai/p_basin?ms=1787293560000 Add it as a custom/remote MCP connector, then authenticate when prompted. ## REST API (no MCP client required) Every tool is also a REST endpoint, authed with a workspace API key. Discover: GET https://api.mcp.ai/api/basin/_endpoints # public; lists every endpoint Call: POST https://api.mcp.ai/api/basin/ Authorization: Bearer sk_live_… # create one at https://mcp.ai/settings/api-keys Content-Type: application/json Body: { …args } → { "ok": true, "tool": "", "result": { … } } ## Developer docs How to use (MCP or REST), markdown: https://mcp.ai/basin/skill.md Postman collection (v2.1): https://mcp.ai/basin/postman.json ## Tools - basin_create_form(name: string, timezone: string, use_ajax?: boolean, project_id: integer, redirect_url?: string, notifications?: object, spam_settings?: object) — Tool to create a new form in Basin. Use when you need to automate form setup with name, timezone, and project association; optionally configure redirect, notifications, or spam protection. - basin_create_form_webhook(url: string, name: string, format?: string, enabled?: boolean, form_id: integer, trigger_when_spam?: boolean) — Tool to create a new webhook for a specific form. Use when you need to programmatically add a webhook once you have the form ID and callback URL confirmed. - basin_create_project(name: string) — Tool to create a new Basin project. Use when you need a new organizational container for forms. Example: "Create a project named Marketing Leads." - basin_delete_form(form_id: string) — Tool to delete a form. Use when permanently removing a form after it's no longer needed. Ensure the form_id is correct; this operation is irreversible. - basin_delete_project(project_id: integer) — Tool to delete a project. Use when you need to remove a project after confirming its ID. Returns the deleted project's details. - basin_delete_submission(id: integer) — Tool to permanently delete a form submission by its ID. Use when you need to remove a submission after confirming its ID. This operation is irreversible. - basin_delete_webhook(webhook_id: integer) — Tool to delete a specific webhook. Use when you need to remove a webhook from a form after confirming its ID. - basin_get_domains(page?: integer, query?: string) — Tool to retrieve a list of all custom domains associated with the Basin account. Custom domains allow you to send emails from your own domain through Basin forms. Supports pagination and filtering by - basin_get_form_details(form_id: string) — Retrieves comprehensive details about a specific Basin form including configuration, notification settings, security options, branding, webhooks, and submission counts. Use this when you need complete - basin_get_form_webhook(id: string) — Tool to retrieve details of a specific form webhook by its ID. Use when you need to view webhook configuration including URL, format, and trigger settings. - basin_get_forms(page?: integer, query?: string) — Retrieves a list of all Basin forms with their configuration and metadata. Supports optional pagination via the 'page' parameter and filtering via the 'query' parameter (searches across form id, name, - basin_get_project_details(project_id: string) — Tool to retrieve detailed information about a specific project. Use when you have a project ID and need its metadata (name, created_at, updated_at). - basin_get_projects(page?: integer, query?: string) — Retrieves a list of Basin projects from your account. Returns project details including IDs, names, and timestamps. Use this to list all projects or filter by name/ID. The response includes pagination - basin_get_submissions(query?: string, form_id?: string, order_by?: string, filter_by?: string, date_range?: string) — Retrieve form submissions from Basin with optional filtering, sorting, and search capabilities. Can retrieve all submissions across forms or filter by specific form_id. Supports filtering by status (n - basin_get_webhooks(page?: integer, query?: string, form_id: integer) — Tool to retrieve all webhooks associated with a specific form. Use after obtaining the form ID. - basin_list_form_views(page?: integer, query?: string) — Retrieves a list of all Basin form views with their configuration and metadata. Supports optional pagination via the 'page' parameter and filtering via the 'query' parameter (searches across form view - basin_update_form(id: string, logo?: string, name?: string, timezone?: string, use_ajax?: boolean, autoreply?: boolean, domain_id?: integer, project_id?: integer, domain_email?: string, redirect_url?: string, autoreply_body?: string, autoreply_name?: string, force_hcaptcha?: boolean, honeypot_field?: string, retention_days?: integer, allowed_domains?: string[], autoreply_email?: string, autoreply_title?: string, blocked_domains?: string[], custom_template?: string, force_recaptcha?: boolean, force_turnstile?: boolean, duplicate_filter?: boolean, redirect_heading?: string, redirect_message?: string, turnstile_secret?: string, autoreply_subject?: string, button_text_color?: string, content_blacklist?: string[], autoreply_greeting?: string, data_receipt_email?: boolean, turnstile_site_key?: string, autoreply_from_name?: string, notification_emails?: string, use_custom_template?: boolean, notification_subject?: string, recaptcha_failed_url?: string, redirect_button_text?: string, hide_dashboard_button?: boolean, smtp_email_validation?: boolean, notification_cc_emails?: string, notification_from_name?: string, button_background_color?: string, notification_bcc_emails?: string, whitelist_source_domains?: string, autoreply_custom_template?: string, redirect_button_text_color?: string, exclude_submitter_from_reply?: boolean, autoreply_use_custom_template?: boolean, confirmation_mail_template_id?: integer, notification_mail_template_id?: integer, auto_response_mail_template_id?: integer, redirect_button_background_color?: string) — Tool to update an existing Basin form by ID. Use when you need to modify form settings including name, notifications, spam protection, redirects, or other configuration options. - basin_update_project(name: string, project_id: integer) — Tool to update details of an existing project. Use when you need to change a project's name after confirming the project ID. Example: "Update project 123 to 'Rebrand Launch'". - basin_update_webhook(url?: string, name?: string, format?: string, enabled?: boolean, form_id?: integer, webhook_id: integer, trigger_when_spam?: boolean) — Tool to update settings of an existing webhook for a form. Use after obtaining the webhook's ID. ## Example prompts - "What can I do in Basin?" - "Show me a summary of my Basin account" ## Links Docs: https://mcp.ai/docs/mcps/basin Website: https://mcp.ai/mcps/basin