Tally MCP Server

Tally MCP Server

A comprehensive Model Context Protocol server that enables Claude Desktop users to manage Tally forms with 23 powerful tools for creating, editing, and analyzing forms, submissions, questions, webhooks, and conditional logic.

Category
访问服务器

Tools

get_tally_forms

Get list of Tally forms

create_tally_form

Create a new Tally form

get_form_questions

Get list of questions for a specific form

update_form_status

Update the status of a form (BLANK, PUBLISHED, DRAFT)

get_tally_form_templates

Get pre-built form templates for common use cases (contact forms, surveys, registration, feedback, etc.)

get_tally_form

Get details of a specific Tally form

update_tally_form

Update an existing Tally form with comprehensive options including name, status, blocks, and settings

delete_tally_form

Delete a Tally form

get_form_submissions

Get list of submissions for a specific form

get_form_submission

Get details of a specific form submission

delete_form_submission

Delete a specific form submission

get_tally_webhooks

Get list of webhooks for a specific form

create_tally_webhook

Create a new webhook for a form

update_tally_webhook

Update an existing webhook

delete_tally_webhook

Delete a webhook

update_form_settings

Update specific form settings like notifications, closing options, etc.

configure_form_notifications

Configure email notifications for form owner and respondents

get_tally_block_types

Get comprehensive information about all available Tally form block types and their structures for building forms

create_conditional_logic_block

Create properly structured conditional logic blocks with validation for form flow control

validate_form_logic_flow

Analyze and validate the logical flow of a form to identify potential issues or dead ends

get_conditional_logic_templates

Get pre-built conditional logic templates for common scenarios like progressive disclosure, skip logic, and branching surveys

validate_multiple_choice_logic

Validate conditional logic for multiple choice questions to prevent common errors like using "equals" instead of "contains"

create_dynamic_question_sets

Create questions with conditional option sets that change based on previous answers (like Q5/Q6 in complex surveys)

README

Tally MCP Server

A comprehensive Model Context Protocol (MCP) server for Tally form management. This server provides 23 powerful tools to manage forms, submissions, questions, webhooks, and enterprise-grade conditional logic directly through Claude Desktop.

Built by @cathrynlavery | Try Claude Desktop | Get Tally Forms

✨ Features

  • 23 comprehensive tools for complete Tally form management
  • Enterprise-grade conditional logic with critical error prevention
  • Advanced form building with block types documentation and templates
  • Form templates for common use cases (contact, survey, registration, etc.)
  • Complete block type reference covering 20+ input, layout, and logic blocks
  • Critical validation tools to prevent survey-breaking logic errors
  • Dynamic question management for complex conditional option sets
  • Full API coverage including advanced form editing capabilities
  • Seamless Claude Desktop integration via MCP protocol
  • Type-safe with proper JSON schema validation
  • Production-ready with error handling and logging

🚀 Quick Start

Prerequisites

  1. Node.js (v16 or higher)
  2. Claude Desktop application
  3. Tally account with API access

1. Installation

git clone https://github.com/cathrynlavery/tally-mcp-server.git
cd tally-mcp-server
npm install
npm run build

2. Get Your Tally API Key

  1. Sign up for Tally (free account works!)
  2. Go to https://tally.so/settings/api
  3. Create a new API key
  4. Copy the API key (starts with tally_)

3. Configure Environment Variables

# Copy the example environment file
cp .env.example .env

# Edit .env and add your API key
TALLY_API_KEY=tally_your_actual_api_key_here

4. Configure Claude Desktop

macOS Setup

  1. Open your Claude Desktop configuration file:

    # Create the directory if it doesn't exist
    mkdir -p ~/Library/Application\ Support/Claude
    
    # Open the config file (create if it doesn't exist)
    open ~/Library/Application\ Support/Claude/claude_desktop_config.json
    
  2. Add the Tally MCP server configuration:

    {
      "mcpServers": {
        "tally": {
          "command": "node",
          "args": ["/path/to/your/tally-mcp-server/start-server.js"],
          "env": {
            "TALLY_API_KEY": "tally_your_actual_api_key_here"
          }
        }
      }
    }
    

    Important: Replace /path/to/your/tally-mcp-server/ with your actual project path!

Windows Setup

  1. Open: %APPDATA%\Claude\claude_desktop_config.json
  2. Use the same JSON structure with Windows paths:
    {
      "mcpServers": {
        "tally": {
          "command": "node",
          "args": ["C:\\path\\to\\your\\tally-mcp-server\\start-server.js"],
          "env": {
            "TALLY_API_KEY": "tally_your_actual_api_key_here"
          }
        }
      }
    }
    

Linux Setup

  1. Open: ~/.config/Claude/claude_desktop_config.json
  2. Use the same JSON structure with Linux paths

5. Test the Setup

  1. Restart Claude Desktop completely (quit and reopen)
  2. Start a new conversation
  3. Try: "Can you list my Tally forms?"

🤔 Available Tools (23 Total)

Forms Management (5 tools)

  • get_tally_forms - List all your forms
  • create_tally_form - Create new forms
  • get_tally_form - Get specific form details
  • update_tally_form - Update forms with full API support and enhanced block structure
  • delete_tally_form - Delete forms

Submissions Management (3 tools)

  • get_form_submissions - List form submissions with pagination
  • get_form_submission - Get specific submission details
  • delete_form_submission - Delete submissions

Questions Management (1 tool)

  • get_form_questions - List all questions in a form

Webhooks Management (4 tools)

  • get_tally_webhooks - List webhooks for a form
  • create_tally_webhook - Create new webhooks
  • update_tally_webhook - Update existing webhooks
  • delete_tally_webhook - Delete webhooks

Form Building & Templates (2 tools)

  • get_tally_block_types - Get comprehensive documentation of all available form block types
  • get_tally_form_templates - Get pre-built form templates for common use cases

Advanced Conditional Logic (5 tools)

  • create_conditional_logic_block - Create properly structured conditional logic blocks with validation
  • validate_form_logic_flow - Analyze and validate the logical flow of forms to identify issues
  • get_conditional_logic_templates - Get pre-built conditional logic templates for common scenarios
  • validate_multiple_choice_logic - CRITICAL - Prevent "equals" vs "contains" errors that break multiple choice conditional logic
  • create_dynamic_question_sets - CRITICAL - Create questions with conditional option sets that change based on previous answers

Form Editing Helpers (3 tools)

  • update_form_status - Quick status changes (BLANK, PUBLISHED, DRAFT)
  • update_form_settings - Update common form settings
  • configure_form_notifications - Set up email notifications

💬 Example Usage in Claude

Once configured, you can interact naturally with your Tally forms:

  • "Show me all my forms"
  • "Create a new customer feedback form"
  • "What types of form blocks are available in Tally?"
  • "Give me a contact form template"
  • "Build a survey with rating questions and multiple choice"
  • "Create conditional logic that shows different questions based on user type"
  • "Validate my multiple choice logic to prevent survey failures"
  • "Create a dynamic question like Q5 in BestSelf survey with conditional option sets"
  • "Check my conditional logic flow for dead ends"
  • "Update my contact form to published status"
  • "Get the latest 10 submissions for form xyz"
  • "Set up email notifications for my survey"
  • "Add a webhook to my form that sends to my API"
  • "Delete submissions older than 30 days"
  • "Change my form password to 'newpassword123'"
  • "Show me templates for lead generation forms"

🔧 Advanced Configuration

Enhanced Form Building Capabilities

The server now includes comprehensive form building support:

  • Block Type Reference: Complete documentation of all 20+ Tally block types including input fields, layout elements, and logic blocks
  • Form Templates: Pre-built templates for contact forms, surveys, registration forms, and more
  • Professional Structures: Ready-to-use form layouts following best practices
  • Advanced Conditional Logic: Enterprise-grade conditional logic with validation and error prevention
  • Critical Error Prevention: Automatic detection of logic errors that would break surveys
  • Dynamic Question Management: Handle complex questions with conditional option sets

Critical Conditional Logic Features

  • Multiple Choice Validation: Prevents the critical "equals" vs "contains" error that breaks multiple choice conditional logic
  • Dynamic Question Sets: Create sophisticated questions like Q5/Q6 in complex surveys that show different options based on previous answers
  • Logic Flow Analysis: Comprehensive validation to catch unreachable blocks, circular logic, and missing references
  • Enterprise Patterns: Templates for progressive disclosure, branching surveys, qualification flows, and more

Block Types Available

  • Input Blocks: Text, email, phone, date, multiple choice, checkboxes, dropdown, rating, ranking, file upload, signature, payment
  • Layout Blocks: Statement text, question groups, dividers, images, videos, embeds
  • Logic Blocks: Conditional jumps, calculators, hidden fields

Custom Form Updates

The update_tally_form tool supports comprehensive form editing including:

  • Basic Properties: name, status
  • Form Structure: complete blocks/questions array with detailed validation
  • Advanced Settings: 20+ options including notifications, styling, behavior
  • Security: password protection, submission limits
  • Integrations: redirects, custom CSS, data retention

Environment Variables

# Required
TALLY_API_KEY=tally_your_api_key_here

# Optional (for development)
NODE_ENV=development
DEBUG=true

Alternative Configuration Methods

You can also set the API key directly in the Claude Desktop config:

{
  "mcpServers": {
    "tally": {
      "command": "node",
      "args": ["/path/to/your/tally-mcp-server/start-server.js"],
      "env": {
        "TALLY_API_KEY": "tally_your_actual_api_key_here"
      }
    }
  }
}

🐛 Troubleshooting

Common Issues

  1. "Command not found" error

    • Verify Node.js installation: node --version
    • Check the absolute path in your Claude config
    • Ensure the start-server.js file exists and is executable
  2. "Authentication failed" error

    • Double-check your API key in .env or Claude config
    • Ensure API key starts with tally_
    • Verify your Tally account has API access
  3. Tools not appearing in Claude

    • Restart Claude Desktop completely (quit and reopen)
    • Check JSON syntax in config file (use a JSON validator)
    • Verify file paths are absolute, not relative
    • Check Claude Desktop logs for errors
  4. "Module not found" errors

    • Run npm install in the project directory
    • Ensure npm run build completed successfully
    • Check that the build/ directory exists

Testing Locally

# Test the server starts without errors
npm start

# Or use the start script directly
node start-server.js

# Test with a simple API call (requires API key in .env)
curl -H "Authorization: Bearer $TALLY_API_KEY" https://api.tally.so/forms

Debug Mode

Enable debug logging by setting environment variables:

DEBUG=true NODE_ENV=development node start-server.js

Getting Help

If you're still having issues:

  1. Check the GitHub Issues
  2. Create a new issue with:
    • Your operating system
    • Node.js version (node --version)
    • Error messages
    • Your configuration (without API keys)

📚 API Reference

This MCP server implements the full Tally API including:

  • Forms API - Complete CRUD operations
  • Submissions API - Retrieve and manage form responses
  • Questions API - Access form structure
  • Webhooks API - Real-time integrations

Supported Tally API Endpoints

  • GET /forms - List forms
  • POST /forms - Create form
  • GET /forms/{id} - Get form
  • PATCH /forms/{id} - Update form
  • DELETE /forms/{id} - Delete form
  • GET /forms/{id}/submissions - List submissions
  • GET /forms/{id}/submissions/{id} - Get submission
  • DELETE /forms/{id}/submissions/{id} - Delete submission
  • GET /forms/{id}/questions - List questions
  • GET /forms/{id}/webhooks - List webhooks
  • POST /forms/{id}/webhooks - Create webhook
  • PATCH /forms/{id}/webhooks/{id} - Update webhook
  • DELETE /forms/{id}/webhooks/{id} - Delete webhook

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Development Setup

# Clone and install
git clone https://github.com/cathrynlavery/tally-mcp-server.git
cd tally-mcp-server
npm install

# Set up environment
cp .env.example .env
# Add your API key to .env

# Development with auto-rebuild
npm run dev

# Build for production
npm run build

# Run tests (if available)
npm test

📄 License

MIT License - see LICENSE file for details.

🙏 Acknowledgments

  • Tally - The amazing form builder that makes this possible
  • Claude Desktop - AI assistant with MCP protocol support
  • Anthropic - For the Model Context Protocol specification

Built with ❤️ by @cathrynlavery

Try Tally for free - unlimited forms and submissions!

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选