Skip to main content
Glama

list_projects

Read-onlyIdempotent

Retrieve paginated project lists from your Casefile installation, showing key, title, and archive time. Optionally include archived projects by enabling include_archived.

Instructions

Lists the installation's projects, one page at a time: key, title and archive time. A project's description is returned by get_project.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoPage size. Without a value, the installation's default page size
cursorNo`next_cursor` of the previous page; without it, the first page
include_archivedNoAlso list archived projects; without it they are left out. A project is read by its key with `get_project` either way

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
itemsYes
next_cursorYesCursor of the next page, sent back as `cursor`; `null` means this page is the last one

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.5.2

TDQS

A4.3/5.0
Behavior4/5

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

The annotations already cover read-only, idempotent, and non-destructive behavior, so the description adds useful behavioral context rather than repeating safety traits: it discloses pagination ('one page at a time'), the returned field subset, and that descriptions are intentionally excluded and available via get_project. This is sufficient and complementary.

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?

Two sentences carry purpose, pagination behavior, field scope, and a pointer to the sibling tool for descriptions. Every sentence earns its place; no fluff or repetition.

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?

The tool is a simple read-only listing with no required parameters and a full input schema, an output schema, and safety annotations. The description adds the remaining context needed for correct use: paging, returned fields, and the route to get_project for descriptions.

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 baseline is 3; the description adds no parameter-level detail beyond what the schema already documents for limit, cursor, and include_archived. It therefore neither harms nor materially compensates for the schema, remaining at the baseline.

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 uses a specific verb ('Lists'), targets a specific resource ('the installation's projects'), and scopes the result to one page with key, title, and archive time. This clearly distinguishes it from related tools like get_project, which the description explicitly reserves for project descriptions.

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

Usage Guidelines4/5

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

It gives clear context: this is the paged listing of projects, not the detailed view. It names get_project as the tool for descriptions, which is an explicit when-not for that use case, though it doesn't enumerate other sibling alternatives.

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