list_projects
Projects your key reaches (id, name, role); pass an id as project_id to switch.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Projects your key reaches (id, name, role); pass an id as project_id to switch.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Changes observed during successful MCP inspections. Dates show when Glama detected each change.
Input schema / additionalPropertiesRemoved value: -falseDoes the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses that the list is scoped to key access and includes role, but misleadingly suggests a project_id parameter not present in the schema. This creates a false behavioral expectation for the agent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single, concise sentence that front-loads the core function. The second clause is awkwardly appended, but overall it is appropriately sized for the tool's simplicity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description carries responsibility for return values; it does list id, name, role and key scoping. However, the switching behavior is unexplained and the missing schema parameter leaves a gap in completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has zero parameters, so the baseline is 4, but the description invents a project_id parameter with no schema support. This is actively misleading and should be corrected or reflected in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly identifies the resource (projects accessible by the key) and the response fields (id, name, role). However, the appended 'pass an id as project_id to switch' introduces a second action, muddying the primary purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides a hint about switching projects by passing an id, but no explicit guidance on when to use this tool vs siblings like list_systems or get_project_context. The switch instruction is incomplete because the schema accepts no parameters.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.
Each tool has a clearly distinct purpose, with explicit distinctions between direct actions and proposals via Inbox. The verbs and object types (system, milestone, screen, element, balance) are unique enough that no two tools appear to do the same thing.
Most tool names follow a consistent verb_noun snake_case pattern (get_system, propose_screen, update_element). Minor deviations like 'dedupe', 'search', 'next_task', and 'reorder' are single words or non-verb but remain readable and stylistically compatible.
With 54 tools, this server vastly exceeds the typical MCP scope, hitting the 'extreme mismatch' threshold. Even for a complex domain, the sheer number will overwhelm agents and degrade selection performance.
The tool surface is remarkably complete, covering full lifecycle operations for all major entities, plus import, design generation, drift detection, status reporting, inbox handling, and rejection workflows. No obvious dead ends or missing operations for the stated purpose.