Kobo MCP

An MCP server for KoboToolbox that enables Claude to deploy surveys, fetch submissions, and manage your entire data collection workflow. Requires Python 3.10+.

Deploy Surveys

Upload and deploy XLSForm files directly from Claude. Create new forms or update existing ones while preserving submissions.

Fetch Submissions

Retrieve survey responses with optional filtering. Export data as CSV or Excel for analysis.

Form Translation

Export forms as XLSForm, add translation columns, and redeploy -- all guided by built-in workflow help.

Validation Control

Approve, reject, or flag submissions for quality control without deleting any data.

Quick Start

# Set your KoboToolbox API token
export KOBO_API_TOKEN="your-token-here"

# Register the MCP server
claude mcp add kobotoolbox -- \
  env KOBO_API_TOKEN=$KOBO_API_TOKEN uvx kobo-mcp

# For the EU server, also pass the server URL:
claude mcp add kobotoolbox -- \
  env KOBO_API_TOKEN=$KOBO_API_TOKEN \
  KOBO_SERVER=https://eu.kobotoolbox.org uvx kobo-mcp

To get your API token: log in to KoboToolbox → Account Settings → Security → API Key.

Tools

Tool Description
info Get help and discover workflows (translate, deploy, data export)
list_forms List all KoboToolbox surveys
get_form Get detailed form structure (JSON)
resolve_form Find the form UID for an Enketo submission URL
export_form Download existing form as XLSForm (.xlsx)
get_submissions Fetch survey responses with optional filtering
deploy_form Upload and deploy new XLSForm files
replace_form Update existing forms while preserving submissions
set_validation_status Approve, reject, or flag submissions
export_data Export data as CSV or Excel

Configuration

You can also configure manually in ~/.claude.json:

{
  "mcpServers": {
    "kobotoolbox": {
      "type": "stdio",
      "command": "uvx",
      "args": ["kobo-mcp"],
      "env": {
        "KOBO_API_TOKEN": "your-token-here"
      }
    }
  }
}

For the EU server, add "KOBO_SERVER": "https://eu.kobotoolbox.org" to the env block.