formsite-mcp-server
v1.0.1
Published
MCP server for Formsite API integration - retrieve forms, results, manage webhooks
Maintainers
Readme
Formsite MCP Server
MCP server for the Formsite API v2 — retrieve forms, results, manage webhooks, and more through the Model Context Protocol.
Features
- List Forms — Get all forms in your account with stats and links
- Get Form — Retrieve detailed info for a specific form
- Get Form Items — View all form fields/questions with IDs and labels
- Get Form Results — Retrieve submissions with powerful filtering, search, and pagination
- Get Single Result — Look up a specific submission by its ID
- Export All Results — Auto-paginated bulk export with optional label mapping
- Get Result Files — Extract file upload URLs from form submissions
- Webhooks — List, create/update, and delete webhooks for real-time notifications
Prerequisites
- Node.js >= 18
- A Professional level or higher Formsite account (API access required)
- Your Formsite API access token and API base URL
Setup
1. Find Your API Credentials
Go to your form's Settings → Integrations → Formsite API page to find:
- Access Token — Your API key (treat like a password)
- API Base URL — Shown on the same page, looks like:
https://fs1.formsite.com/api/v2/abc123
2. MCP Client Configuration
Add to your MCP client config (e.g., Claude Desktop):
{
"mcpServers": {
"formsite": {
"command": "npx",
"args": ["-y", "formsite-mcp-server"],
"env": {
"FORMSITE_API_TOKEN": "your_access_token",
"FORMSITE_API_URL": "https://fs1.formsite.com/api/v2/abc123"
}
}
}
}Both values are copied directly from the Settings → Integrations → Formsite API page.
Local Development
git clone <repo-url>
cd formsite-mcp-server
npm install
npm run buildThen use the local path in your MCP config:
{
"mcpServers": {
"formsite": {
"command": "node",
"args": ["/path/to/formsite-mcp-server/dist/index.js"],
"env": {
"FORMSITE_API_TOKEN": "your_access_token",
"FORMSITE_API_URL": "https://fs1.formsite.com/api/v2/abc123"
}
}
}
}Available Tools
formsite_list_forms
List all forms in your Formsite account with names, directories, states, and statistics.
formsite_get_form
Get details of a specific form by its directory identifier.
formsite_get_form_items
Get all items (fields/questions) for a specific form. Use to map item IDs to labels when interpreting results.
- Optional:
results_labels— include choice option labels in the response
formsite_get_form_results
Get submission results with powerful filtering:
- Pagination:
page,limit(max 500) - Date filters:
after_date,before_date - ID filters:
after_id,before_idfor range-based fetching - Search:
search_equals,search_contains,search_begins,search_endsby item ID - Search logic:
search_method— combine filters withandoror - Sorting:
sort_id,sort_direction
formsite_get_result
Look up a single submission by its unique result ID.
formsite_export_all_results
Bulk export all results with automatic pagination. Optionally maps item IDs to human-readable question labels. Supports date range filtering.
formsite_get_result_files
Scan form results for file upload URLs (resumes, images, documents, etc.) and extract them organized by result and item.
formsite_get_webhooks
Get all webhooks configured for a form.
formsite_create_webhook
Create a new webhook or update an existing one (matched by URL). Webhooks POST result data to your URL when a form submission is completed.
formsite_delete_webhook
Delete a webhook from a form.
Rate Limits
Formsite enforces:
- 50 API calls per minute
- 10,000 API calls per day
If exceeded, the server returns a rate limit error.
License
MIT
