Skip to main content
Glama

list projects

projects_list
Read-only

Lists accessible sync projects in the current organization to find the projectId of a project the user names. Supports paging, search, and sorting by update date or name.

Instructions

List the sync. projects you can access in the current organization (your own plus organization-visible ones), as items plus nextCursor. Each item has the project fields, generationsCount, completedGenerationsCount, its latest generation and the latest asset thumbnail. Use it to find the projectId of a project the user explicitly refers to; for one project whose id you have use projects_get, and for a project's generation history use projects_list-generations when available. Never use it to choose a destination for a new workflow request, which starts with projects_create; workflow names such as Translate and Dub are not project names. Returns 10 per page by default, most recently updated first; pass nextCursor as cursor for the next page, and it is absent on the last page.

Input Schema

NameRequiredDescriptionDefault
limitNoProjects per page, 1 to 100; defaults to 10. Keep it small and page with cursor.
cursorNoThe previous page's nextCursor, to read the next page. Omit for the first page.
sortByNoupdatedAt (default) lists the most recently updated first; name sorts A to Z.
searchQueryNoCase-insensitive text matched within project names and descriptions. Use only when the user names an existing project, and ask which one when several match instead of taking the first.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changedv0.2.4
    • changedInput schema / properties / limit / description
      Previous value: -"Maximum number of results to return. Keep it small and page with cursor."New value: +"Projects per page, 1 to 100; defaults to 10. Keep it small and page with cursor."
    • changedInput schema / properties / searchQuery / description
      Previous value: -"Text to match against project names."New value: +"Case-insensitive text matched within project names and descriptions. Use only when the user names an existing project, and ask which one when several match instead of taking the first."
    • changedInput schema / properties / sortBy / description
      Previous value: -"Sort by updatedAt or name."New value: +"updatedAt (default) lists the most recently updated first; name sorts A to Z."
  2. Changed4 schema fields changed
    • addedInput schema / properties / cursor / description
      Added value: +"The previous page's nextCursor, to read the next page. Omit for the first page."
    • addedInput schema / properties / limit / description
      Added value: +"Maximum number of results to return. Keep it small and page with cursor."
    • addedInput schema / properties / searchQuery / description
      Added value: +"Text to match against project names."
    • addedInput schema / properties / sortBy / description
      Added value: +"Sort by updatedAt or name."
  3. Addedv0.1.5

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already declare readOnly/no-destructive/closed-world, and the description still adds real behavior: visibility scope of results, page size defaults, sort order, the presence/absence of nextCursor on the last page, and the composition of each item. It also flags a misuse pattern (destination selection) that no annotation conveys.

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

Conciseness4/5

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

Purpose comes first, then routing guidance, then pagination details — a sensible order with no filler sentences. There is mild redundancy (the default page size and cursor mechanics repeat the schema) and a stray fragment ('sync.'), which keeps it off a 5.

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?

With no output schema, the description compensates by describing the return shape (items plus nextCursor) and the per-item fields including generationsCount, latest generation and thumbnail. Combined with the routing guidance, an agent has everything needed to call and interpret it.

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 limit, cursor, sortBy and searchQuery are already fully documented, including the enum values and defaults. The description largely restates the pagination default and cursor mechanism rather than adding new semantics, so it sits 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?

States a specific verb and resource with scope: 'List the ... projects you can access in the current organization (your own plus organization-visible ones)'. It also names the siblings it is not (projects_get, projects_list-generations, projects_create), so an agent can route without opening any schema.

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?

Explicitly covers when to use ('to find the projectId of a project the user explicitly refers to'), which alternatives to use for adjacent needs (projects_get for a known id, projects_list-generations for history), and a hard when-not ('Never use it to choose a destination for a new workflow request'). It even disambiguates workflow names like Translate and Dub from project names.

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