Skip to main content
Glama

create_goal

Create a goal / objective / OKR in the caller's org. title is required. Optional: description, type (OBJECTIVE / KEY_RESULT / INITIATIVE, default OBJECTIVE), parentId (existing goal to nest under), projectIds (array of project ids to link), startDate + dueDate (ISO). Caller becomes the owner. Use create_key_result to add measurable KRs to the new goal once it exists.

Input Schema

NameRequiredDescriptionDefault
typeNoDefault OBJECTIVE.
titleYes1-200 chars. Required.
dueDateNoISO date by which the goal should be met.
parentIdNoParent Goal id for nesting (OKR tree).
startDateNoISO date when the goal period starts.
projectIdsNoProject ids to link via GoalProject.
descriptionNoOptional, up to 10000 chars.
idempotencyKeyNoOptional idempotency key. Pass a stable unique value (e.g. a UUID) to make this create safe to retry: calling again with the same key within 24h - even from a new session after a reconnect - replays the original result and creates no duplicate. Org-scoped; works across conversations.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A3.9/5.0
Behavior3/5

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

Annotations already declare this is a non-destructive, non-open-world, non-idempotent write, so the safety profile is covered. The description adds genuinely useful behavior: the caller becomes the owner, and parentId nests within an existing goal. However, it is silent on the `idempotencyKey` retry semantics that the schema documents (and the idempotentHint=false annotation arguably undersells), leaving a notable gap for a create tool.

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 action, then the required field, then optionals, then the hand-off sibling — a logical order. Efficient overall, though 'title is required' duplicates the schema's own required declaration.

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?

For a create tool with no output schema, it covers the required field, defaults, ownership, and the next-step sibling. It does not indicate what the call returns (e.g., the new goal id), which the agent needs to chain into create_key_result or update_goal, a minor but real gap.

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%, so the schema already documents all 8 parameters including enums and the detailed idempotencyKey text. The description largely restates those fields (type default, parentId nesting, projectIds linking) rather than adding new syntax or format meaning, so the baseline 3 applies.

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 ('Create a goal / objective / OKR in the caller's org') and explicitly names the sibling it hands off to for a related operation ('Use `create_key_result` to add measurable KRs'). An agent can distinguish it from the many other create_* tools without opening a 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?

Gives clear context for use (goals in the caller's org) and an explicit alternative for the follow-up step via create_key_result. It lacks any when-not guidance or prerequisites (e.g., feature/tier gating), so it stops short of the top score.

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.