1. Conduid
  2. Browser
  3. Kobo MCP
MCP server · Browser

Kobo MCP

MCP server for KoboToolbox - deploy surveys and fetch submissions

Unclaimed MIT last commit 7 months ago browser
56Fair

Scored 19 hours ago · breakdown

About Kobo MCP

Kobo MCP is an MCP server published by bbdaniels in the Browser category: mCP server for KoboToolbox - deploy surveys and fetch submissions.

The repository has 3 stars and 0 forks, with the last commit 7 months ago. Six months or more without a commit doesn't mean the server is broken, but check the open issues before depending on it in production.

Install

From source
git clone https://github.com/bbdaniels/kobo-mcp

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Ask AI

✦

Ask AI about Kobo MCP

Powered by Claude · Grounded in docs

I know everything about Kobo MCP. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

Static checks derived from the repository 19 hours ago. Heuristics on the source, not an audit.

  • ✓README presentThe repository ships documentation.
  • ✓License declaredUsable under a stated license.
  • !Tests presentNo tests found. Behaviour changes may go unnoticed between versions.
  • !Dependencies pinnedNo lockfile. Installs can pull different code over time.
  • ✓No dynamic code executionSource scan found no eval, dynamic Function, or shell execution.
  • !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.

Releases

v0.1.4v0.1.4 · 6 Feb 2026Fix deploy_form: add missing asset_type=survey parameter that caused 400 errors when creating new forms.
v0.1.3v0.1.3 · 5 Feb 2026Changes New `resolve_form` tool — Given an Enketo submission URL (e.g. `https://ee.kobotoolbox.org/single/6F7QA1uJ`), finds the matching form UID by searching all deployed forms' deployment links. Returns the UID, name, and all deployment…
v0.1.2v0.1.2 · 5 Feb 2026Changes get_form now includes deployment_links — Returns the `deployment__links` object from the KoboToolbox API, which contains the Enketo submission URLs (`url`, `single_url`, `single_once_url`, `offline_url`). This enables…

README

Kobo MCP

PyPI version

An MCP server for KoboToolbox that enables Claude to deploy surveys and fetch submissions.

Documentation

Requires Python 3.10+

Quick Start with Claude Code

Set your KoboToolbox API token, then register the server with a single command:

export KOBO_API_TOKEN="your-token-here"
claude mcp add kobotoolbox -- env KOBO_API_TOKEN=$KOBO_API_TOKEN uvx kobo-mcp

For the EU server, also pass the server URL:

export KOBO_API_TOKEN="your-token-here"
claude mcp add kobotoolbox -- env KOBO_API_TOKEN=$KOBO_API_TOKEN KOBO_SERVER=https://eu.kobotoolbox.org uvx kobo-mcp

That's it -- restart Claude Code and you can start managing KoboToolbox surveys directly from the CLI.

To get your API token, go to KoboToolbox -> Account Settings -> Security -> API Key.

Features

  • 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 an 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 preserving submissions
  • set_validation_status - Approve, reject, or flag submissions
  • export_data - Export data as CSV or Excel

Installation

pip install kobo-mcp

Or run directly with uvx (no install needed):

uvx kobo-mcp

Configuration

Manual JSON configuration

If you prefer to configure Claude manually instead of using claude mcp add, add to ~/.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.

Using with Claude Desktop

Add the same JSON block above to your Claude Desktop config file:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Development

git clone https://github.com/bbdaniels/kobo-mcp.git
cd kobo-mcp
pip install -e .

Troubleshooting

"KOBO_API_TOKEN not set"

The server requires a KOBO_API_TOKEN environment variable. Make sure it is passed in the env block of your MCP configuration, or exported in your shell before running claude mcp add.

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

Server not appearing in Claude Code

After running claude mcp add, restart Claude Code for the change to take effect. You can verify the server is registered by running:

claude mcp list

Connection errors or timeouts

  • Check that your API token is valid and has not been revoked.
  • If you are on the EU server (eu.kobotoolbox.org), make sure you set the KOBO_SERVER environment variable to https://eu.kobotoolbox.org.
  • The default server is https://kf.kobotoolbox.org. If your organization uses a custom KoboToolbox instance, set KOBO_SERVER to its URL.

"uvx: command not found"

Install uv first:

curl -LsSf https://astral.sh/uv/install.sh | sh

Or install with pip/pipx:

pip install uv

Python version errors

Kobo MCP requires Python 3.10 or later. Check your version with:

python3 --version

License

MIT

README fetched from the repository 19 hours ago. The original is authoritative.

Questions

About Kobo MCP

How do I install Kobo MCP?

No package has been published for this server, so install it from source: clone the repository and follow its README.

Is Kobo MCP safe to use with an AI agent?

Its trust score is 56 out of 100 (fair). It passes 3 of the 6 static security checks run so far; the failures are listed above. It has no ConduID identity yet, so agent calls to it are not receipted.

Is Kobo MCP still maintained?

The last commit was 7 months ago. That's long enough that you should check whether the maintainer is responding to issues before depending on it.