Skip to main content
Glama

List KoboToolbox Forms

kobo_list_forms
Read-onlyIdempotent

Find and list Kobo surveys/forms accessible with your API token. Filter by name and view deployment status and submission counts.

Instructions

List forms/projects (surveys) accessible with the configured API token.

Does NOT return submission data — use kobo_list_submissions for that.

Args:

  • search (string, optional): filter forms whose name contains this text

  • limit (number): max forms to return, 1-100 (default 30)

  • offset (number): pagination offset (default 0)

  • response_format ('markdown' | 'json')

Returns: form uid, name, deployment status, and submission count for each form.

Examples:

  • Use when: "What forms do I have on Kobo?" -> no params

  • Use when: "Find my cocoa tracking form" -> search="cocoa"

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of forms to return
offsetNoNumber of forms to skip, for pagination
searchNoOptional text to filter forms by name
response_formatNoOutput format: 'markdown' for human-readable or 'json' for machine-readablemarkdown

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds useful behavioral context beyond annotations: the tool only returns forms accessible with the configured token, never submission data, and returns specific fields (uid, name, deployment status, submission count). This goes beyond the structured metadata.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and well-structured: a one-line purpose, a critical exclusion, a brief Args list, a Returns summary, and practical examples. It is front-loaded with the most important semantic distinction and contains minimal redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only listing tool with no output schema, the description is complete: it covers auth scope, parameter behavior, output fields, exclusions, and example invocations. Pagination and limits are documented in the schema, and the description tells the agent what output to expect. Nothing essential is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all four parameters and their constraints. The description's Args section adds no meaning beyond what the schema provides, though the 'search' example in the usage section does illustrate how to apply the filter. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: 'List forms/projects (surveys) accessible with the configured API token.' It clearly separates this from kobo_get_form (single form) and kobo_list_submissions (submission data), so an agent can tell exactly what the tool returns.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states what the tool is NOT for and names the alternative: 'Does NOT return submission data — use kobo_list_submissions for that.' It also provides concrete use-case examples such as 'What forms do I have on Kobo?' and 'Find my cocoa tracking form', which map directly to parameter usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.