Skip to main content
Glama

list_projects

List the projects the user can open, with metadata (id/name/updated_at/category/main_file, up to 50, most recent first). Use to resolve a project name to its id before calling project-scoped tools. Shared/team projects the user is a member of are included, each carrying owner_type/team_id and the user's role (#5507); no file contents. Archived projects (#5773) are hidden unless include_archived=true, which also adds an archived_at field per entry. If the user wants a local/remote git repository reflected in a project, resolve the id here, then see get_git_status / sync_from_git.

Input Schema

NameRequiredDescriptionDefault
include_archivedNo

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.7/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and does so well: a hard cap of 50 entries, most-recent-first ordering, inclusion of shared/team projects with owner_type/team_id and the caller's role, exclusion of file contents, and the default hiding of archived projects with the archived_at field added only when include_archived=true. These are exactly the non-obvious traits an agent needs before calling.

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?

Front-loaded with the core operation and scope, then behavior and routing. Sentences earn their place, though the trailing issue references '(#5507)' and '(#5773)' are internal tracking noise that adds no value for an agent.

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?

An output schema exists, so return values need not be spelled out, yet the description still names the key fields and ordering. Combined with cap, inclusion rules, archive behavior, and the follow-on git tool routing, nothing needed to call it correctly is missing.

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

Parameters5/5

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

Schema coverage is 0% for the single parameter, so the description must compensate and does: include_archived defaults to hiding archived projects, and setting it true both surfaces them and adds an archived_at field per entry. That is meaning well beyond the bare boolean in the schema.

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 plus the exact scope ('projects the user can open') and the metadata returned (id/name/updated_at/category/main_file). It is clearly distinguishable from siblings like list_files, list_papers, or list_versions 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 Guidelines4/5

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

Explicitly says to use it to resolve a project name to its id before calling project-scoped tools, and routes git-repository work onward to get_git_status / sync_from_git. It gives clear positive conditions but never states when not to use it (e.g., archive_project or create_project for lifecycle changes).

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources