Skip to main content
Glama

project.get_state

Fetch a project's full current state: project, tracks, scenes, timeline items, placeholders, scenarios

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "projectId": "<projectId>"
    },
    "name": "project.get_state"
  }
}

Input Schema

NameRequiredDescriptionDefault
projectIdYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

B3.3/5.0
Behavior2/5

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

With no annotations supplied, the description carries the entire burden of behavioral disclosure, and "Fetch" is the only signal that this is a non-mutating read. It says nothing about permissions/authorization, whether the response is large or paginated, or whether any state is locked or expires. For a whole-project aggregate fetch, the payload-size and cost characteristics matter and are entirely absent.

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 front-loaded sentence with zero filler; the resource and its scope come first and the enumerated contents follow as a compact list. It is appropriately short for a read tool, though the enumeration is a bare noun list without any connective explanation of how the pieces relate.

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

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description does list the top-level contents returned, which partially substitutes for the missing output schema, and correctly implies a read. However, it leaves projectId undefined and gives no sense of response size or guarantee of completeness, which is thin for a tool that aggregates an entire project graph.

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?

Wording removed to avoid repeating the same point in a different form.

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 gives a specific verb ("Fetch") and resource ("a project's full current state"), then enumerates the constituent parts: project, tracks, scenes, timeline items, placeholders, scenarios. That makes it clearly distinct from mutating siblings like project.update. It stops short of differentiating itself from project.get_summary, which is the most likely point of confusion.

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?

There is no explicit when-to-use guidance and no mention of alternatives, even though project.get_summary and the many resource-specific getters (scene, shot, storyline, timeline) are obvious candidates an agent must choose between. The "full current state" phrasing hints that this is the heavyweight read, but the agent has to infer that trade-off itself.

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.