Kobotoolbox Mcp Server

io.github.drannakurasova由 GitHub 账号 drannakurasova 发布v0.1.0更新于 Oct 24, 2026

MCP server for KoboToolbox: list forms, fetch submissions, and export field data.

已验证STDIO仅桌面文件与存储数据与分析

概览

AI 生成的概览

让助手列出 KoboToolbox 表单、获取问卷提交记录,并导出 CSV、XLS、GeoJSON 或 SPSS 标签格式的现场数据。

可以做什么
将 KoboToolbox REST API v2 封装为三个只读工具。list_forms 列出所连接账户中的每个表单或项目,包括名称、UID、部署状态和提交数量。get_submissions 获取某个表单的提交记录,支持筛选、排序和分页。export_form_data 启动服务端导出,等待完成后返回 csv、xls、geojson 或 spss_labels 格式的下载链接。
适用场景
适合在 KoboToolbox 中收集调查或现场数据的团队,希望直接询问实时记录或获取导出文件,而不必登录仪表板手动筛选提交。面向人道主义、发展和监测类工作流程,这类团队可能没有工程支持。
运行要求
以 npm 包形式通过 stdio 在本地运行,需要 Node.js 18 或更高版本。需要全球或欧盟服务器上的 KoboToolbox 账户,并通过 KOBO_API_TOKEN 环境变量提供 API 令牌,用 KOBO_SERVER 选择主机。需要访问 KoboToolbox API 的网络连接。
安装前请注意
KOBO_API_TOKEN 可完全访问账户数据,应像密码一样保管;它从环境变量读取并发送给 KoboToolbox API。该服务器被描述为只读和导出,因此不应修改或删除记录,但导出会在服务端创建导出任务并返回下载链接。表单和提交数据会离开本机发送到 KoboToolbox 主机。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Kobotoolbox Mcp Server,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

KoboToolbox MCP Server

A Model Context Protocol server that lets Claude (or any MCP client) read and export field data directly from KoboToolbox.

Ask in plain language — "How many intakes came in this week that need medical attention?" or "Export this project's data as a CSV" — and the assistant queries the live KoboToolbox API and answers from real records, instead of you logging in and clicking through the dashboard by hand.

As of July 2026, no KoboToolbox MCP server existed in the official MCP registry — this is the first.


Why KoboToolbox

KoboToolbox is the most widely used data-collection toolkit in humanitarian and development work. It's open-source, free to use, and runs the field operations of UNHCR and thousands of NGOs — surveys, needs assessments, monitoring — often in places with poor connectivity and no dedicated IT staff.

That last part is exactly why an MCP server matters here. The organizations running on KoboToolbox are the ones least likely to have engineers who can pull and analyze their own data on demand. Today, answering "what does this month's data actually say?" means a person logging in, filtering submissions by hand, exporting a spreadsheet, and counting. This server collapses that into a question typed in chat — and turns any MCP-capable assistant into someone who can operate the tool on the team's behalf.

There are already thousands of MCP servers for developer tooling and office apps. There were none for the platform that humanitarian responders actually run their work on. This closes that gap.


What it does

Three tools, mapped directly onto the KoboToolbox REST API v2. All read/export — this server never modifies or deletes your data.

ToolWhat it doesKey inputs
list_formsLists every form/project in the connected account — name, UID, deployment status, submission count.(none)
get_submissionsFetches the submitted records for one form, with optional filtering, sorting, and pagination.assetUid (required), query, limit, start, sort
export_form_dataKicks off a server-side export, waits for it to finish, and returns a download URL.assetUid (required), format (csv/xls/geojson/spss_labels), fields

Requirements

  • Node.js 18+
  • A KoboToolbox account (free — sign up) on either the global server (kf.kobotoolbox.org) or the EU server (eu.kobotoolbox.org)
  • Your account's API token

Getting your API token

Log into KoboToolbox, then either:

  • Account Settings → Security → Display your API key, or
  • visit https://<your-server>/token/?format=json

Treat this token like a password — it grants full access to your account's data.


Installation

bash
git clone https://github.com/drannakurasova/kobotoolbox-mcp-server.gitcd kobotoolbox-mcp-servernpm installnpm run build

Configuration

Copy the example env file and fill in your token:

bash
cp .env.example .env
env
KOBO_API_TOKEN=your_kobotoolbox_api_token_hereKOBO_SERVER=kf.kobotoolbox.org      # or eu.kobotoolbox.org

Usage

With Claude Desktop

Add this to your claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\):

json
{  "mcpServers": {    "kobotoolbox": {      "command": "node",      "args": ["/absolute/path/to/kobotoolbox-mcp-server/dist/index.js"],      "env": {        "KOBO_API_TOKEN": "your_token_here",        "KOBO_SERVER": "kf.kobotoolbox.org"      }    }  }}

Fully quit and reopen Claude Desktop. The kobotoolbox tools will appear in the tools menu, and you can just ask:

"What forms are in my KoboToolbox account?" "Show me the latest 10 submissions for the intake form." "Export that project's data as a CSV."

With the MCP Inspector

The Inspector is a browser-based test harness — the quickest way to exercise each tool directly (and to record a demo).

bash
npm run inspect

It prints an authenticated URL; open it, click List Tools, select a tool, fill in the inputs, and hit Run Tool.


Development

bash
npm run dev       # run from source with tsx (no build step)npm run build     # compile TypeScript to dist/npm start         # run the compiled servernpm run inspect   # launch the MCP Inspector against the built server

How it works

  • src/index.ts — defines the MCP server and registers the three tools, with input validation via Zod. Runs over stdio.
  • src/kobo-client.ts — a thin, typed wrapper around the KoboToolbox REST API v2 (token auth, form listing, submission fetch, and the create-then-poll export flow).

Credentials come only from environment variables — nothing is hardcoded, so the same server works against any KoboToolbox account or form.


Roadmap

Possible extensions:

  • Write access (create submissions, edit validation status)
  • Per-form schema/question introspection so the assistant understands field meanings
  • Support for private/self-hosted KoboToolbox instances

License

MIT

来源:README.md,提交 9a34c9f

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v0.1.0最新Sep 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分