Fillout表单
STDIOFillout.io表单管理、响应处理和分析服务
Fillout.io表单管理、响应处理和分析服务
MCP Server for the Fillout.io API, enabling form management, response handling, and analytics.
Get your Fillout.io API Key:
API Key Information:
fo_live_fo_test_Replace your-fillout-api-key in the configuration with your API key.
⚠️ Security Notes:
"Invalid API key provided" or "Authentication failed"
fo_live_ or fo_test_"Test mode key used with live form"
fo_test_) with production form"Rate limit exceeded"
Check API Key Format:
# Key should: - Start with 'fo_live_' or 'fo_test_' - Be approximately 50 characters - Contain only letters, numbers, and underscores
Test API Key:
curl -H "Authorization: Bearer your-api-key" \ https://api.fillout.com/v1/api/forms
list_forms
limit (optional): Number of forms to returnoffset (optional): Pagination offsetget_form
formId (string): Form identifiercreate_form
name (string): Form namedescription (optional string): Form descriptionquestions (array): Array of question objects
type: Question type (e.g., 'ShortAnswer', 'MultipleChoice')name: Question textrequired: Whether question is requiredchoices: Array of choices for multiple choice questionsget_form_responses
formId (string): Form identifierfilters (optional): Response filterspageSize (optional): Results per pageafterDate (optional): Filter by submission datebeforeDate (optional): Filter by submission datestatus (optional): Filter by completion statussubmit_form_response
formId (string): Form identifierresponses (array): Array of answers
questionId: Question identifiervalue: Response valuecalculations (optional): Custom calculations{ "mcpServers": { "fillout": { "command": "docker", "args": [ "run", "-i", "--rm", "-e", "FILLOUT_API_KEY", "mcp/fillout" ], "env": { "FILLOUT_API_KEY": "your-fillout-api-key" } } } }
{ "mcpServers": { "fillout": { "command": "npx", "args": [ "-y", "@modelcontextprotocol/server-fillout" ], "env": { "FILLOUT_API_KEY": "your-fillout-api-key" } } } }
# Install dependencies npm install # Run in development mode npm run dev # Build for production npm run build
# Build image docker build -t mcp/fillout . # Run container docker run -e FILLOUT_API_KEY=your-key mcp/fillout
const form = await client.createForm({ name: "Customer Feedback", description: "Please share your experience", questions: [ { type: "ShortAnswer", name: "What did you like most?", required: true }, { type: "MultipleChoice", name: "Would you recommend us?", required: true, choices: ["Yes", "No", "Maybe"] } ] });
const response = await client.submitFormResponse(formId, { responses: [ { questionId: "q1", value: "Great customer service!" }, { questionId: "q2", value: "Yes" } ] });
The server provides detailed error messages for common issues:
try { const forms = await client.listForms(); } catch (error) { if (error instanceof AuthenticationError) { // Handle invalid API key } else if (error instanceof FilloutError) { // Handle API-specific errors } else { // Handle unexpected errors } }
This project is licensed under the MIT License. See the LICENSE file for details.