Skip to main content
Glama

Fiveable for AP Students

Create a study plan

create_study_plan
Idempotent

Creates and saves a trackable Fiveable study plan from the student's topic and available time. Included for signed-in students; uses Fiveable's existing generator and verified resource catalog. Returns a plan id immediately while the plan builds, usually within two minutes — read it with get_study_plan, which reports whether it is still building. Reuse requestId with identical input to retry; never call this twice for the same plan.

Input Schema

NameRequiredDescriptionDefault
scopeYes
timeUnitYes
requestIdYesUnique id for this intended action. Reuse it with identical input on retries.
timeAmountYes
subjectSlugYes

Output Schema

NameRequiredDescriptionDefault
textNoReadable tool result text for clients that consume structured output.
statusYesOperation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • removedInput schema / properties / requestId / maxLength
      Removed value: -128
    • removedInput schema / properties / requestId / minLength
      Removed value: -8
    • changedInput schema / properties / requestId / pattern
      Previous value: -"^[\\w-]+$"New value: +"^[\\w-]{8,128}$"
  2. First observed

TDQS

A4.1/5.0
Behavior5/5

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

Beyond the annotations (readOnly=false, destructive=false, idempotent=true, openWorld=true), the description discloses the async nature ('returns a plan id immediately while the plan builds, usually within two minutes') and the follow-up read path. It also explains the idempotency mechanism via requestId, adding real value over the hint alone.

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 purpose and access, then async behavior, then retry semantics. Four sentences where each adds something, though slightly dense. No filler, but not maximally tight.

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 an async, open-world mutation with an output schema, the definition covers access requirements, timing, read-back, and retry behavior well. The only real gap is left to parameter_semantics (undocumented inputs), which the output schema compensates for on the return side.

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

Parameters2/5

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

Schema description coverage is only 20% (only requestId is documented), so 4 of 5 required parameters—subjectSlug, scope, timeAmount, timeUnit—rely on the description. It offers only loose hints ('topic', 'available time') and gives no meaning for 'scope', so it fails to compensate for the coverage gap.

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 ('Creates and saves a trackable Fiveable study plan') and identifies what it builds from ('the student's topic and available time'). An agent can readily distinguish it from read-only siblings like get_study_plan or list_my_study_plans.

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: it is for signed-in students, reading should be done via get_study_plan, and it must never be called twice for the same plan. The retry path (reuse requestId with identical input) is explicit. It does not, however, contrast with update_study_plan_tasks or clarify creation vs. editing.

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.