Skip to main content
Glama

Start buying a course

buy_course

SIDE EFFECT: opens a checkout for one of Mike Fluff's paid courses and records the user as a lead. Returns a payment link (billing's hosted page; works without signing in) and the price in the currency for the locale. Nothing is charged until the user pays on that page; after payment the course access link is emailed to the given address. Courses: parasites (parasites-course), freeMini (vibe-coding-course), contentFactory (content-factory-course). Only call when the user has asked to buy and given the email the course should go to — or leave the email out to use the account of the person signed in with INITE ID (OAuth scope "mikefluff:purchase"; with that scope the course is also attached to their account). Give the user the payment link; do not try to pay.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameNoOptional: the user's name.
emailNoThe user's email; the access link is sent there after payment. Omit to use the signed-in account's.
courseYesCourse key or slug.
localeYesLanguage and currency of the checkout.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • removedInput schema / $schema
      Removed value: -"http://json-schema.org/draft-07/schema#"
  2. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Goes well beyond the annotations: discloses that nothing is charged until the user pays on the hosted page, that the link works without signing in, that access is emailed post-payment, and that OAuth scope 'mikefluff:purchase' is needed to attach the course to an account. This is exactly the kind of side-effect/auth detail annotations cannot carry.

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-loads 'SIDE EFFECT:' so the mutation is visible immediately, and every sentence carries unique information. It is dense and runs long as one paragraph, but no sentence is filler.

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

Completeness5/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 still specifies what is returned (payment link plus locale price) and what happens afterward, so an agent has everything needed to call and hand off correctly.

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?

Schema coverage is 100% (baseline 3), but the description adds real meaning: email omission falls back to the signed-in account, locale determines currency, and the human-readable course names are mapped to their slugs.

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+resource ('opens a checkout for one of Mike Fluff's paid courses'), names the side effect of lead creation, and enumerates the exact course keys/slugs so it is distinguishable from siblings like buy_book.

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

Usage Guidelines5/5

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

Explicit gating condition ('Only call when the user has asked to buy and given the email'), an explicit alternative path (omit email to use the signed-in account), and an explicit prohibition ('Give the user the payment link; do not try to pay').

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.

Resources