Connectors · Developer & infrastructure
KoboToolbox MCP server for AI agents.
actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to KoboToolbox and the rest of your systems. It gives your agent 173 KoboToolbox actions (105 reads, 47 writes and 21 that wait for a confirmation) and holds the KoboToolbox credential itself, so the agent never does. It paces KoboToolbox's limits and records every call.
100,000 free calls a month. No card, no email, no password: press Start a free sandbox on the next screen and keep the key it shows you.
claude mcp add --transport http actionlake https://connect.actionlake.com/mcpdo { action: "kobotoolbox.assets.list", intent: "check which KoboToolbox account is connected"}# Get user's assets Search can be made with q parameter · read · 1 upstream call- 173actionsin one signed file
- 105readlook, never change
- 47writecreate and update
- 21wait for a yesdestructive, confirmed first
Set up
Connect KoboToolbox in three steps.
- 01
Add actionlake to Claude.
Run the command once in Claude Code; its consent page can create a free sandbox: 100,000 calls a month, no card. In the Claude app, add a custom connector with the URL below and paste your key on the consent page. Creating a new sandbox from the Claude app is not yet tested by us.
https://connect.actionlake.com/mcp - 02
Connect KoboToolbox.
API key. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead. actionlake stores what you paste write-only, sealed under your tenant's key.
api_tokenKoboToolbox API token: in KoboToolbox open Account Settings > Security > API Key (or GET /token/?format=json while…hostWhere your KoboToolbox lives: your host
account { op: "connections.requirements", service: "kobotoolbox" } # free: exactly what to paste, and what is found for you - 03
Make the first call. Check before a write.
Ask in plain words; Claude picks the action. Before anything changes,
checkvalidates the call and prices it, for free.do { action: "kobotoolbox.assets.list" }# get user's assets search can be made with q parameter · read · 1 upstream callcheck { action: "kobotoolbox.assets.create", input: { … } }# free: inputs, permissions, cost and confirmations, nothing sent
KoboToolbox at a glance
- Sign-in
- API key. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead.
- You provide
api_token- Setup fields
host- Limits we pace to
- 10 calls a second, per connection
- API covered
- KoboToolbox KPI API 2.0.0 (api_v2) (OpenAPI 3.1.0), at your KoboToolbox instance's API base URL, which you enter when connecting
- Built from
- KoboToolbox's documentation, read 23 October 2026kf.kobotoolbox.orgsupport.kobotoolbox.org
- Service file
- Version 1.0.0, signed (Ed25519)
- Cached reads
- 105 of 105 reads, for up to 5 minutes; a write clears what it affects
- Shared entities
- 3, so ask can line KoboToolbox up with your other systems
- Data
- Processed and stored in Sydney, Australia. No US region yet
Capabilities
What an AI agent can do in KoboToolbox.
173 actions in 25 areas. Every one carries its effect, so a key can allow the reads and hold the rest.
- 105readlook, never change
- 47writecreate and update
- 21destructivewait for a confirmation
Assets
8743 read · 30 write · 14 destructive
Get user's assets Search can be made with q parameter · Assets create · Assets data list · Get a user's current asset
Organizations
1711 read · 4 write · 2 destructive
List user's organizations · List Members Retrieves all members and pending invitations in the specified organization · Organizations asset usage list · Retrieve Organization Assets This endpoint returns all assets associated with a specific organization
Me
84 read · 2 write · 2 destructive
Retrieve current user profile · Set a new email The new email will be unverified and replace existing unverified, non-primary emails · View current user's email · List user's social accounts
Project views
87 read · 1 write · 0 destructive
Retrieve assets available in project view · Project views assets minimal list get · Create an export for the requested object Note: {obj type} can either be users or assets · List project views for current user
Stripe
86 read · 2 write · 0 destructive
Lists the one-time add-ons for the authenticated user's organization. · Stripe checkout link create · Stripe customer portal create · Stripe products list
Access logs
64 read · 2 write · 0 destructive
Create an export task for all users ⚠️ Only available to superusers · List all access logs export tasks for all users ⚠️ Only available to superusers · Access logs list · Create an export task for the authenticated user
Project ownership
63 read · 2 write · 1 destructive
Create (send) an invite Where the assets uid are given in the payload's list · List of invites Invites sent or received by current user about transferring project ownership · Invite detail It can be useful to monitor the invite status while the transfer is being processed · Retrieve transfer details
Asset snapshots
42 read · 1 write · 1 destructive
Asset snapshots create · List all snapshots for every asset of a user · Asset snapshots get · Delete an asset snapshot
17 more areas · 29 actions
- Asset subscriptions 4
- Project history logs 3
- Imports 2
- Languages 2
- Permissions 2
- Terms of service 2
- Transcription services 2
- Translation services 2
- Users 2
- Asset usage 1
- Audit logs 1
- Email confirmations 1
- Environment 1
- Service usage 1
- Social apps 1
- Tags 1
- User reports 1
Top actions
The KoboToolbox API, shaped for agents.
The ids your agent types, what each does, and the one name it shares with other systems. 17 of KoboToolbox's 17 action names are shared with at least one other connector, so an agent learns them once.
| Action | What it does | Effect | Same name in |
|---|---|---|---|
kobotoolbox.me.getRetrieve current user profile | Retrieve current user profile | read | identity.current_user.get307 connectors |
kobotoolbox.assets.listGet user's assets Search can be made with q parameter | Get user's assets Search can be made with q parameter | read | content.form.list36 connectors |
kobotoolbox.assets.createAssets create | Assets create | write | content.form.create26 connectors |
kobotoolbox.assets.data_listAssets data list | Assets data list | read | content.form_response.list20 connectors |
kobotoolbox.users.listList users ⚠️ Only available to superusers Search can be made with q parameter | List users ⚠️ Only available to superusers Search can be made with q parameter | read | identity.user.list474 connectors |
kobotoolbox.assets.updateUpdate or connect a user's asset Updates a project or connect project's data from this project to other projects When Da | Update or connect a user's asset Updates a project or connect project's data from this project to other projects When Data sharing : fields : Optional | write | content.form.update25 connectors |
kobotoolbox.users.getRetrieve a user ⚠️ Regular users have access to active users only | Retrieve a user ⚠️ Regular users have access to active users only | read | identity.user.get399 connectors |
kobotoolbox.assets.data_getAssets data get | Assets data get | read | content.form_response.get15 connectors |
kobotoolbox.assets.deleteDelete a user's asset | Delete a user's asset | destructive | content.form.delete20 connectors |
kobotoolbox.audit_logs.listList actions performed by users | List actions performed by users | read | identity.audit_event.list51 connectors |
kobotoolbox.permissions.listPermissions list | Permissions list | read | identity.permission.list33 connectors |
kobotoolbox.assets.exports_createCreates an export task Where: fields from all versions (required) is a boolean to specify whether fields from all form v | Creates an export task Where: fields from all versions (required) is a boolean to specify whether fields from all form versions will be included in the export | write | analytics.data_export.create10 connectors |
Try it
Prompts to paste into Claude.
Each one names the KoboToolbox actions it will call, so you know what it reads and what it changes before you send it.
- Readread
Get user's assets Search can be made with q parameter in KoboToolbox and tell me what stands out.
calls
kobotoolbox.assets.list - Writewrite
Assets create in KoboToolbox. Show me exactly what you will send before you save it.
calls
kobotoolbox.assets.create
Governance for KoboToolbox
Destructive actions wait for a yes.
21 KoboToolbox actions are destructive. These are all of them:
- Delete a user's asset
kobotoolbox.assets.delete - Deletes current submission
kobotoolbox.assets.data_delete - Me delete
kobotoolbox.me.delete - Delete a file from current asset
kobotoolbox.assets.files_delete - Delete an external service.
kobotoolbox.assets.hooks_delete - Deletes current export task
kobotoolbox.assets.exports_delete - Assets data bulk delete
kobotoolbox.assets.data_bulk_delete - Delete a specific attachment of an Asset id can only be the uid of attachment to be deleted
kobotoolbox.assets.attachments_delete - Remove a connection between two projects
kobotoolbox.assets.paired_data_delete - Delete a social account provider
kobotoolbox.me.social_accounts_delete - Delete Organization Invite Organization owner or admin can delete an organization invite.
kobotoolbox.organizations.invites_delete - Remove Member Delete an organization member.
kobotoolbox.organizations.members_delete - Delete current export setting <sup </sup Required permissions: manage asset (Manage project)
kobotoolbox.assets.export_settings_delete - Assets attachments bulk delete
kobotoolbox.assets.attachments_bulk_delete - Delete validation status
kobotoolbox.assets.data_validation_status_delete - Remove a permission assignment
kobotoolbox.assets.permission_assignments_delete - Assets data validation statuses delete
kobotoolbox.assets.data_validation_statuses_delete - Remove all permission assignments ⚠️ Warning This endpoint currently supports deleting only the user whose username is p
kobotoolbox.assets.permission_assignments_bulk_delete - Delete an asset snapshot
kobotoolbox.asset_snapshots.delete - Delete a subscription to an asset Unsubscribe from a public asset.
kobotoolbox.asset_subscriptions.delete - Delete invite
kobotoolbox.project_ownership.invites_delete
A destructive action runs only with confirm: true. Under the human policy the agent cannot confirm for itself: the run stops until a named person approves, in the console or from a signed link in an email. The cap on a key is refused before the call is sent, never after.
Delete a user's asset?
intent: the user asked me to delete a user's asset
account { op: "keys.create", name: "kobotoolbox-agent", allowed_actions: ["kobotoolbox.*"], cap_calls: 2000, confirm_policy: "human_for_writes", approval_rules: [ { match: "kobotoolbox.assets.delete", approver: "[email protected]" }, { match: "kobotoolbox.assets.data_delete", approver: "[email protected]" }, { match: "kobotoolbox.me.delete", approver: "[email protected]" } ]}Cost
What KoboToolbox costs on actionlake.
Every KoboToolbox action is one upstream call, the only thing actionlake bills. Searching, check, cost, account and any call KoboToolbox refused with 401, 403, 429 or a 5xx are free. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.
- 1upstream call per actionall 173 KoboToolbox actions
- 173actions pageeach page of a long list is one call
- 105reads can be cacheda cache hit costs nothing
- 100,000calls a month, freepaid plans from US$49 a month for 250,000
Action index
Every KoboToolbox action.
173 actions by area: the id your agent calls, what it does, and its effect.
Assets87
kobotoolbox.assets.advanced_features_bulk_actions_createCreate a bulk processing job Creates and starts a bulk processing job for one question across multiple submissionswritekobotoolbox.assets.advanced_features_bulk_actions_getAssets advanced features bulk actions getreadkobotoolbox.assets.advanced_features_bulk_actions_listList bulk processing jobs on an asset Returns paginated bulk processing jobs associated with the specified assetreadkobotoolbox.assets.advanced_features_bulk_actions_updateUpdate a bulk processing job Cancels a single bulk processing job for an assetwritekobotoolbox.assets.advanced_features_createAdd an advanced action to an asset Enables a new type of advanced action on a question in the assetwritekobotoolbox.assets.advanced_features_getRetrieve advanced feature configuration for a question on an asset Gets the params for one advanced action for one questreadkobotoolbox.assets.advanced_features_listList all advanced features on an asset Lists all advanced features on all questions in an assetreadkobotoolbox.assets.advanced_features_updateUpdate an advanced action on an asset Update the params of an advanced action on a question in the assetwritekobotoolbox.assets.attachments_audio_duration_createAssets attachments audio duration createwritekobotoolbox.assets.attachments_bulk_deleteAssets attachments bulk deletedestructivekobotoolbox.assets.attachments_deleteDelete a specific attachment of an Asset id can only be the uid of attachment to be deleteddestructivekobotoolbox.assets.bulk_createPerform bulk actions on assets Actions available: - archive - delete - unarchive - undelete (superusers only)writekobotoolbox.assets.content_getReturn the content of a user's asset.readkobotoolbox.assets.counts_getReturn counts of deployed, archived, and draft assetsreadkobotoolbox.assets.counts_listCount the daily amount of submissions Returns up to the last 31 days of daily counts and total counts of submissions to readkobotoolbox.assets.createAssets createwritekobotoolbox.assets.data_bulk_deleteAssets data bulk deletedestructivekobotoolbox.assets.data_bulk_updateBulk updating of submissions Where <field to update n is a string and should be an existing XML field value of the submiwritekobotoolbox.assets.data_deleteDeletes current submissiondestructivekobotoolbox.assets.data_duplicate_createAssets data duplicate createwritekobotoolbox.assets.data_edit_getAssets data edit getreadkobotoolbox.assets.data_enketo_edit_getAssets data enketo edit getreadkobotoolbox.assets.data_enketo_redirect_edit_getAssets data enketo redirect edit getreadkobotoolbox.assets.data_enketo_redirect_view_getAssets data enketo redirect view getreadkobotoolbox.assets.data_enketo_view_getAssets data enketo view getreadkobotoolbox.assets.data_getAssets data getreadkobotoolbox.assets.data_listAssets data listreadkobotoolbox.assets.data_supplement_getRetrieve submission supplementary data This endpoint allows you to retrieve supplementary data attached to a submissionreadkobotoolbox.assets.data_supplement_updateUpdate submission supplementary data This endpoint allows you to add, update, or delete supplementary data for a submisswritekobotoolbox.assets.data_supplements_bulk_createBulk accept NLP results Accepts transcription or translation results for multiple submissions in a single requestwritekobotoolbox.assets.data_validation_status_deleteDelete validation statusdestructivekobotoolbox.assets.data_validation_status_getGet validation statuses Retrieves the validation status of a submission.readkobotoolbox.assets.data_validation_status_updateUpdate the validation of a submission The validation status of the submission can be updatedwritekobotoolbox.assets.data_validation_statuses_deleteAssets data validation statuses deletedestructivekobotoolbox.assets.data_validation_statuses_updateAssets data validation statuses updatewritekobotoolbox.assets.deleteDelete a user's assetdestructivekobotoolbox.assets.deployment_create(Re)Deploy a form Deploy a new form or re-deploy an existing one.writekobotoolbox.assets.deployment_getRetrieve the existing deployment (if any)readkobotoolbox.assets.deployment_update(Un)Archive the existing deploymentwritekobotoolbox.assets.export_settings_createAssets export settings createwritekobotoolbox.assets.export_settings_deleteDelete current export setting <sup </sup Required permissions: manage asset (Manage project)destructivekobotoolbox.assets.export_settings_getRetrieve a specific export setting <sup </sup Required permissions: view submissions (View submissions)readkobotoolbox.assets.export_settings_listList of export settings for a specific asset <sup </sup Required permissions: view submissions (View submissions)readkobotoolbox.assets.export_settings_updateUpdate the current export setting <sup </sup Required permissions: manage asset (Manage project)writekobotoolbox.assets.exports_createCreates an export task Where: fields from all versions (required) is a boolean to specify whether fields from all form vwritekobotoolbox.assets.exports_deleteDeletes current export taskdestructivekobotoolbox.assets.exports_getRetrieves current export taskreadkobotoolbox.assets.exports_listList of export tasks endpoints Lists the export tasks accessible to requesting user, for anonymous access nothing is retreadkobotoolbox.assets.files_createAssets files createwritekobotoolbox.assets.files_deleteDelete a file from current assetdestructivekobotoolbox.assets.files_getRetrieve a file from current assetreadkobotoolbox.assets.files_listRetrieve current asset files Results can be narrowed down with a filter by type:readkobotoolbox.assets.getGet a user's current assetreadkobotoolbox.assets.hash_getGet a hash of all version id s of all accessible assets by the current userreadkobotoolbox.assets.history_actions_getRetrieve distinct actions performed on the project.readkobotoolbox.assets.history_export_createExport current project's history Exports the project's history and sends it by email to the requesting user.writekobotoolbox.assets.history_listList project history logs Lists all project history logs for a single projectreadkobotoolbox.assets.hooks_createAdd an external service to assetwritekobotoolbox.assets.hooks_deleteDelete an external service.destructivekobotoolbox.assets.hooks_getRetrieve an external servicereadkobotoolbox.assets.hooks_listList external services Lists the external services endpoints accessible to requesting userreadkobotoolbox.assets.hooks_logs_getRetrieve an external service endpoint logreadkobotoolbox.assets.hooks_logs_listList logs of an external services endpoints accessible to requesting user ⚠️ The page query parameter is deprecated, usereadkobotoolbox.assets.hooks_logs_retry_updateRetry a failed submission attemptwritekobotoolbox.assets.hooks_retry_updateRetries all failed attempts This call is asynchronouswritekobotoolbox.assets.hooks_updateUpdate an external service.writekobotoolbox.assets.listGet user's assets Search can be made with q parameterreadkobotoolbox.assets.metadata_getGet metadata for all authenticated user' assetsreadkobotoolbox.assets.minimal_list_getAssets minimal list getreadkobotoolbox.assets.paired_data_createCreate a connection between two projects fields : Optionalwritekobotoolbox.assets.paired_data_deleteRemove a connection between two projectsdestructivekobotoolbox.assets.paired_data_getRetrieve a connection between two projectsreadkobotoolbox.assets.paired_data_listAssets paired data listreadkobotoolbox.assets.paired_data_updateUpdate a connection between two projects Notes: source cannot be changedwritekobotoolbox.assets.permission_assignments_bulk_createAssign multiple permissions at once Can put both regular and partial permission in the payloadwritekobotoolbox.assets.permission_assignments_bulk_deleteRemove all permission assignments ⚠️ Warning This endpoint currently supports deleting only the user whose username is pdestructivekobotoolbox.assets.permission_assignments_clone_updateClone permission assignments from another asset using uid Where clone from is the source uid.writekobotoolbox.assets.permission_assignments_createAssets permission assignments createwritekobotoolbox.assets.permission_assignments_deleteRemove a permission assignmentdestructivekobotoolbox.assets.permission_assignments_getRetrieve assignmentsreadkobotoolbox.assets.permission_assignments_listList permission assignmentsreadkobotoolbox.assets.qual_questions_tags_listList available tags for a QA tags question Lists the tag values previously submitted for a qualTags question on this assreadkobotoolbox.assets.reports_getReport of a user's asset Returns the submission data for all deployments of a surveyreadkobotoolbox.assets.updateUpdate or connect a user's asset Updates a project or connect project's data from this project to other projects When Dawritekobotoolbox.assets.valid_content_getReturn valid content for user's assetreadkobotoolbox.assets.versions_getRetrieve asset versions Returns the details of an asset versionreadkobotoolbox.assets.versions_listList the versions of formsread
Organizations17
kobotoolbox.organizations.asset_usage_listOrganizations asset usage listreadkobotoolbox.organizations.assets_counts_getReturn counts of deployed, archived, and draft assets owned by the organizationreadkobotoolbox.organizations.assets_getRetrieve Organization Assets This endpoint returns all assets associated with a specific organizationreadkobotoolbox.organizations.assets_minimal_list_getOrganizations assets minimal list getreadkobotoolbox.organizations.getRetrieve organization's detailsreadkobotoolbox.organizations.invites_createCreate Organization Invite Create organization invites for registered and unregistered userswritekobotoolbox.organizations.invites_deleteDelete Organization Invite Organization owner or admin can delete an organization invite.destructivekobotoolbox.organizations.invites_getRetrieve organization invitereadkobotoolbox.organizations.invites_listList organization invitesreadkobotoolbox.organizations.invites_updateUpdate Organization Invite Update an organization invite to accept, decline, cancel, expire, or resendwritekobotoolbox.organizations.listList user's organizationsreadkobotoolbox.organizations.members_deleteRemove Member Delete an organization member.destructivekobotoolbox.organizations.members_getRetrieve Member Details Retrieves the details of a specific member within an organization by username.readkobotoolbox.organizations.members_listList Members Retrieves all members and pending invitations in the specified organizationreadkobotoolbox.organizations.members_updateUpdate Member Role Updates the role of a member within the organization to admin or member writekobotoolbox.organizations.service_usage_getOrganizations service usage getreadkobotoolbox.organizations.updateUpdate organization's detailswrite
Me8
kobotoolbox.me.deleteMe deletedestructivekobotoolbox.me.emails_createSet a new email The new email will be unverified and replace existing unverified, non-primary emailswritekobotoolbox.me.emails_listView current user's emailreadkobotoolbox.me.getRetrieve current user profilereadkobotoolbox.me.social_accounts_deleteDelete a social account providerdestructivekobotoolbox.me.social_accounts_getRetrieve a social account providerreadkobotoolbox.me.social_accounts_listList user's social accountsreadkobotoolbox.me.updateUpdate current user infoswrite
Project views8
kobotoolbox.project_views.assets_counts_getReturn counts of deployed, archived, and draft assets in the project viewreadkobotoolbox.project_views.assets_getRetrieve assets available in project viewreadkobotoolbox.project_views.assets_minimal_list_getProject views assets minimal list getreadkobotoolbox.project_views.export_createCreate an export for the requested object Note: {obj type} can either be users or assetswritekobotoolbox.project_views.export_getRetrieve an export for the requested object Note: {obj type} can either be users or assetsreadkobotoolbox.project_views.getRetrieve project view of a shared project to current userreadkobotoolbox.project_views.listList project views for current userreadkobotoolbox.project_views.users_getRetrieve users available in project viewread
Stripe8
kobotoolbox.stripe.addons_getLists the one-time add-ons for the authenticated user's organization.readkobotoolbox.stripe.addons_listLists the one-time add-ons for the authenticated user's organization.readkobotoolbox.stripe.change_plan_getChange an existing subscription to a new pricereadkobotoolbox.stripe.checkout_link_createStripe checkout link createwritekobotoolbox.stripe.customer_portal_createStripe customer portal createwritekobotoolbox.stripe.products_listStripe products listreadkobotoolbox.stripe.subscriptions_getStripe subscriptions getreadkobotoolbox.stripe.subscriptions_listStripe subscriptions listread
Access logs6
kobotoolbox.access_logs.export_createCreate an export task for all users ⚠️ Only available to superuserswritekobotoolbox.access_logs.export_listList all access logs export tasks for all users ⚠️ Only available to superusersreadkobotoolbox.access_logs.listAccess logs listreadkobotoolbox.access_logs.me_export_createCreate an export task for the authenticated userwritekobotoolbox.access_logs.me_export_listList all access logs export tasks for the authenticated userreadkobotoolbox.access_logs.me_listAccess logs me listread
Project ownership6
kobotoolbox.project_ownership.invites_createCreate (send) an invite Where the assets uid are given in the payload's listwritekobotoolbox.project_ownership.invites_deleteDelete invitedestructivekobotoolbox.project_ownership.invites_getInvite detail It can be useful to monitor the invite status while the transfer is being processedreadkobotoolbox.project_ownership.invites_listList of invites Invites sent or received by current user about transferring project ownershipreadkobotoolbox.project_ownership.invites_transfers_getRetrieve transfer detailsreadkobotoolbox.project_ownership.invites_updateUpdate an invite status Update the status of an invitewrite
Asset snapshots4
kobotoolbox.asset_snapshots.createAsset snapshots createwritekobotoolbox.asset_snapshots.deleteDelete an asset snapshotdestructivekobotoolbox.asset_snapshots.getAsset snapshots getreadkobotoolbox.asset_snapshots.listList all snapshots for every asset of a userread
Asset subscriptions4
kobotoolbox.asset_subscriptions.createCreate an asset subscription Create a subscription to a public collection for the user.writekobotoolbox.asset_subscriptions.deleteDelete a subscription to an asset Unsubscribe from a public asset.destructivekobotoolbox.asset_subscriptions.getRetrieve an asset subscriptionreadkobotoolbox.asset_subscriptions.listList all asset subscriptions of a userread
Project history logs3
kobotoolbox.project_history_logs.export_createCreate an export of projects history logs ⚠️ Only available to superusers Export project history logs and send it by emawritekobotoolbox.project_history_logs.export_getList of Project History Exports ⚠️ Only available to superusersreadkobotoolbox.project_history_logs.listList all project history logs for all projectsread
Imports2
kobotoolbox.imports.getRetrieve imported filesreadkobotoolbox.imports.listList imported filesread
Languages2
kobotoolbox.languages.getRetrieve one language code - is the unique identifier of a specific languagereadkobotoolbox.languages.listList the languages accessible to requesting (authenticated) userread
Permissions2
kobotoolbox.permissions.getRetrieve a codename's permissionsreadkobotoolbox.permissions.listPermissions listread
Terms of service2
kobotoolbox.terms_of_service.getRetrieve a specific terms of servicereadkobotoolbox.terms_of_service.listList the different terms of serviceread
Transcription services2
kobotoolbox.transcription_services.getRetrieve a transcription service code - is the unique identifier of a specific languagereadkobotoolbox.transcription_services.listList the transcription services accessible to requesting userread
Translation services2
kobotoolbox.translation_services.getRetrieve a translation service code - is the unique identifier of a specific languagereadkobotoolbox.translation_services.listList the translation services accessible to requesting (authenticated) userread
Users2
kobotoolbox.users.getRetrieve a user ⚠️ Regular users have access to active users onlyreadkobotoolbox.users.listList users ⚠️ Only available to superusers Search can be made with q parameterread
Asset usage1
kobotoolbox.asset_usage.listGet user's asset usageread
Audit logs1
kobotoolbox.audit_logs.listList actions performed by usersread
Email confirmations1
kobotoolbox.email_confirmations.createRequest another account confirmation email Sends a fresh confirmation link to an email address that is registered but nowrite
Environment1
kobotoolbox.environment.getRetrieve Kobo server environment configurationsread
Service usage1
kobotoolbox.service_usage.list<span class='label label-warning' ⚠️ Deprecated</span Track Service Usage Tracks the total usage of different services fread
Social apps1
kobotoolbox.social_apps.getSocial apps getread
Tags1
kobotoolbox.tags.listList current user's assets' tagsread
User reports1
kobotoolbox.user_reports.listUser reports listread
Questions
The KoboToolbox MCP server, answered.
Is there a KoboToolbox MCP server for Claude?
Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 173 KoboToolbox actions across assets, organizations, me and project views, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by KoboToolbox.
What do I need to connect KoboToolbox?
KoboToolbox API token: in KoboToolbox open Account Settings > Security > API Key (or GET /token/?format=json while…. Plus your host. The free call account { op: "connections.requirements", service: "kobotoolbox" } lists exactly what to paste.
Can an AI agent delete or change things in KoboToolbox?
Only if its key allows it, and only with an explicit confirmation. 21 KoboToolbox actions are destructive, including delete a user's asset, deletes current submission and me delete. Each runs only with confirm: true. Under the human confirm policy, or an approval rule on the key, the run waits until a named person approves it.
Will an AI agent use up my KoboToolbox API limit?
actionlake paces every call to the limits in the KoboToolbox service file: 10 calls a second per connection. Repeated reads are answered from cache (105 KoboToolbox actions can be), which never reaches KoboToolbox.
What does a KoboToolbox action cost?
One upstream call, the only unit actionlake bills. A list that pages bills one call per page (173 KoboToolbox actions page). Cache hits, searches, dry runs and calls KoboToolbox refused with 401, 403, 429 or a 5xx are free. The Free plan includes 100,000 calls a month with no card. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.
Which KoboToolbox API does it cover?
The KoboToolbox KPI API 2.0.0 (api_v2) (OpenAPI 3.1.0) at your KoboToolbox instance's API base URL, which you enter when connecting. It is built from KoboToolbox's documentation as read on 23 October 2026. 173 actions in 25 areas, each one in the signed service file (version 1.0.0).
Does actionlake keep my KoboToolbox data, and where?
actionlake processes and stores data in Sydney, Australia; there is no US region yet. Reads may be cached for up to 5 minutes, and a write clears the reads it affects. Each run's request and response is kept, sealed, for your plan's trace window: 1 day on Free, 3 days on Starter, 7 days on Pro, 14 days on Team, 30 days on Business and 30 days on Enterprise. Your KoboToolbox credential is sealed under your tenant's key, never logged and never returned. Your traffic is not used to train models.
Which AI clients can use it?
Claude Code, tested by us end to end, and the Claude app as a custom connector, tested by us with an existing key. Other MCP clients that support remote servers over Streamable HTTP (MCP revisions 2025-06-18 and 2025-11-25) and OAuth dynamic client registration, or a bearer header, should connect the same way; we have not tested them. Or plain REST, under the same action names.
Give your agent KoboToolbox today.
Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.