Skip to main content
Glama

Get a project

get_project
Read-only

Fetch a single project by ID to view its milestones, stage statuses, assigned executors, amounts, and upfront/closing payment status.

Instructions

One project with its milestones (stages: title, status pending, assigned, in_progress, review, completed or paid; amount; executor) and payments (upfront and closing halves, and whether each is paid).

Input Schema

NameRequiredDescriptionDefault
projectIdYesThe project id, from list_projects

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.3.0

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=true, so safety is covered. The description adds domain context — the lifecycle stage vocabulary and payment structure — but says nothing about error behavior for a missing/invalid projectId or whether the data is live versus cached.

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?

One dense sentence with no filler, and the key payload (project + milestones + payments) is front-loaded. The parenthetical detail is long but every element earns its place given the absence of an output schema.

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

Completeness4/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 usefully sketches the return shape (stage statuses, amounts, executors, payment halves), which is exactly what an agent needs to decide if this tool answers its question. It is only slightly incomplete on the top-level project fields and error conditions.

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 coverage is 100% and the single parameter is documented with its source ('from list_projects'), so the schema carries the burden. The description adds no further meaning about projectId format or failure modes, which is acceptable at baseline.

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

Purpose4/5

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

The description identifies a single-project read and enumerates the sub-resources returned (milestones with stage statuses, amounts, executors; payments split into upfront/closing halves). This distinguishes it from list_projects by scope, though it doesn't explicitly contrast with get_project_context, which covers similar ground.

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

Usage Guidelines2/5

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

No statement of when to use this versus get_project_context, get_project_messages, or list_projects — the sibling most likely to be confused with it. The only routing hint is in the schema ('from list_projects'), which is a parameter note rather than usage guidance.

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