Skip to main content
Glama

Create a goal

goalslot_create_goal

Creates a new goal on the user's account using title, category, and target hours. Supports optional color, deadline, labels, and description.

Instructions

WRITES. Creates a new goal on the user's account. category must be a value string from get_context.categories[].value, not a display name. targetHours is the one field measured in HOURS; everything else in this server is minutes. Creating a goal counts against the plan limit reported by get_context. If the account is at its limit this returns PLAN_LIMIT, so check the limit before calling rather than after. Confirm the title, category and target with the user before calling. Do not invent goals from an offhand remark.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
colorNoOptional hex color such as #3B82F6.
titleYesShort goal name, for example "Ship the CLI".
labelsNoOptional labels to attach, as {name, color}. Labels are created if they do not exist.
categoryYesA category value string, not a display name and not an id. It must be one of the values from get_context.categories[].value, for example DEEP_WORK or LEARNING. An unknown value does not error, it silently produces an uncategorized record, so read get_context first.
deadlineNoOptional target date for finishing the goal. Calendar date as YYYY-MM-DD, for example 2026-08-25, interpreted in the user's timezone (get_context.timezone). Never include a time or a Z suffix. Use get_context.today rather than assuming what today is.
descriptionNoOptional longer description.
targetHoursYesTarget effort in HOURS, minimum 1. This is the only field in hours; time entries and estimates are in minutes.
Behavior5/5

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

Beyond the annotations (readOnlyHint false, destructiveHint false), the description discloses critical side effects: the goal counts against the plan limit, exceeding it returns PLAN_LIMIT, an unknown category silently produces an uncategorized record, and targetHours is the only field in hours while everything else is minutes. This is rich, non-obvious behavioral context that an agent needs to avoid mistakes.

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?

The description is a single dense paragraph that front-loads 'WRITES.' and the core purpose, then follows with critical usage notes. Every sentence adds value, though it could be structured as bullets for easier scanning. It avoids fluff while covering essential constraints.

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 7-parameter tool with no output schema, the description covers the major pitfalls: unit mismatch, plan limit, category validation, and user confirmation. It doesn't describe the response format, but that is largely inferable for a creation tool; the description provides enough to call successfully without hidden surprises.

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

Parameters4/5

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

With 100% schema coverage, the baseline is 3. The description adds meaningful extra semantics: category must be a value string, not a display name or id, and silently produces an uncategorized record if invalid; targetHours is explicitly the only field in hours (all others in minutes). These go beyond the schema's field descriptions, especially clarifying the unit convention.

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?

The description clearly states the action verb 'creates' and the resource 'a new goal on the user's account,' distinguishing it from sibling tools like update_goal or create_task. It also reinforces the write nature with the leading 'WRITES.' token, leaving no ambiguity about what the tool does.

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?

The description provides explicit preconditions: check the plan limit before calling (via get_context), confirm title/category/target with the user, and use get_context.categories[] values. It doesn't name alternative tools for other operations, but the creation-specific context and the warning against inventing goals from offhand remarks give clear practical guidance.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ZeeshanAdilButt/goalslot-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server