tally-mcp

learnwithcc/tally-mcp

3.4

If you are the rightful owner of tally-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

Tally MCP Server is a Model Context Protocol server that integrates Tally.so form management into AI workflows, allowing users to manage forms using natural language.

Tally MCP Server

A Model Context Protocol (MCP) server that provides AI assistants with secure access to Tally.so form management capabilities.

New to Tally?

Use the badge above to save 50% for 3 months.
I'll earn a small commission (at no extra cost to you) which helps fund ongoing maintenance of this open‑source project.

About

Tally MCP Server brings the power of Tally.so form management directly into your AI workflow. Instead of context-switching between your AI assistant and Tally's web interface, simply describe what you need in natural language and let the AI handle all the API interactions.

Why This Exists

Form creation and management shouldn't break your flow. Whether you're a developer creating test forms, a content creator building registration pages, or anyone who finds themselves constantly jumping between tools, this MCP server keeps you in the conversation.

Key Features

🎯 Natural Language Form Management

  • Create forms by describing what you need: "Build a client intake form with name, email, and project details"
  • Update existing forms without opening the Tally interface
  • Clone successful forms as templates for future use

πŸ›‘οΈ Safety-First Bulk Operations

  • Delete multiple forms using pattern matching ("all forms starting with 'E2E Test'")
  • Mandatory preview β†’ confirm β†’ execute workflow prevents accidents
  • Granular exclusion controls ("delete all test forms except these 3 templates")

πŸ“Š Complete Form Lifecycle

  • Real-time response analytics and completion rates
  • Export submissions to CSV/JSON
  • Team management and permission controls
  • Workspace organization tools

⚑ Developer Experience

  • Built in TypeScript with full type safety
  • Deployed on Cloudflare Workers for global speed
  • 90% test coverage
  • Works with Claude Desktop, Cursor, Windsurf, and any MCP-compatible client

Perfect For

  • Developers who create lots of test forms and need easy cleanup
  • Content creators building registration forms for workshops and events
  • Teams managing multiple form projects across workspaces
  • Anyone tired of clicking through form builders when they could just describe what they want

Transform form management from a context-breaking chore into a seamless part of your AI-powered workflow.

πŸš€ Quick Start

Step 0 – Create a discounted Tally account (optional)

If you don't already have a Tally account, grab the 50% builder's discount before continuing. You'll support this repo while saving moneyβ€”win‑win!

Option 1: Claude.ai Integration (Recommended)

Use the battle-tested mcp-remote package:

Claude Desktop Configuration (~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "tally-remote": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "https://tally-mcp.focuslab.workers.dev/mcp",
        "--header",
        "Authorization: Bearer YOUR_AUTH_TOKEN"
      ]
    }
  }
}

Replace YOUR_AUTH_TOKEN with your personal server authentication token.

Option 2: Direct Integration (Cursor, etc.)

For clients that support custom headers:

{
  "mcpServers": {
    "tally": {
      "url": "https://tally-mcp.focuslab.workers.dev/mcp",
      "transport": "http-stream",
      "headers": {
        "Authorization": "Bearer YOUR_AUTH_TOKEN"
      }
    }
  }
}

Option 3: Local Proxy (Alternative)

If you prefer a custom solution:

  1. Start the local proxy:

    npm run proxy
    
  2. Configure Claude.ai:

    • Server URL: http://localhost:3001/mcp
    • Transport: http-stream
    • Authentication: None

πŸ”§ Configuration

The server uses your personal authentication token to securely access your Tally data.

Required Environment Variables:

  • TALLY_API_KEY: Your Tally API key (configured in Cloudflare Workers)
  • AUTH_TOKEN: Server authentication token (configured in Cloudflare Workers)

πŸ›‘οΈ Security

  • βœ… Server-level authentication: Only authorized users can access your data
  • βœ… Secure bridge: mcp-remote handles authentication transparently
  • βœ… Encrypted transport: All communications use HTTPS
  • βœ… Token-based auth: Industry standard Bearer token approach

πŸ› οΈ Available Tools

  • create_form: Create new Tally forms with custom fields
  • modify_form: Update existing form configurations
  • get_form: Retrieve detailed form information
  • list_forms: Browse all your forms
  • delete_form: Remove forms you no longer need
  • get_submissions: Access form submission data
  • analyze_submissions: Get insights from form responses
  • share_form: Generate sharing links and embed codes
  • manage_workspace: Handle workspace settings
  • manage_team: Team member and permission management

πŸ“± Multi-Client Support

Supported MCP Clients:

  • βœ… Claude.ai (via mcp-remote)
  • βœ… Cursor (direct authenticated or via mcp-remote)
  • βœ… Windsurf (via mcp-remote)
  • βœ… Any MCP client supporting HTTP Stream transport

πŸ”„ Development

Local Development

npm install
npm run dev

Testing

npm test
npm run test:coverage

Continuous Integration

In your CI (e.g., GitHub Actions), run:

npm ci
npm run test:coverage

Jest enforces a >90% coverage threshold via jest.config.js, causing the build to fail if coverage is below this level.

Deployment

npm run build:worker
npx wrangler deploy

πŸ“š Documentation

🀝 Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests
  5. Submit a pull request

πŸ“„ License

MIT License - see file for details.


Built by Chris Cameron β€’ LearnWith.cc