Mike Fluff
Server Details
Answers from Mike Fluff Press books, the business diagnostic, AI-text check, call booking.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 11 tools
Each tool targets a clearly distinct resource and action, and the read-only/write split is well separated. The only mild overlap is among the three purchase tools (buy_book, buy_chapter, buy_course), but their descriptions make the differing targets and payment flows clear enough to select correctly.
Every tool follows a consistent snake_case verb_noun pattern (book_call, buy_book, get_answer, list_books, search_answers, run_diagnostic). No style drift, no camelCase mixing, and the verb communicates the action reliably.
Eleven tools sit comfortably in the well-scoped 3-15 range and each earns its place across the distinct domains (books, courses, calls, answers, diagnostic, linter). Nothing looks redundant or padded.
The book surface is solid (list, preview, buy book, buy chapter) and answers are covered by search + get. However, courses have only buy_course with no way to list or preview them, and booking has slots + book_call but no cancel/reschedule tool despite the confirmation flow advertising one, leaving notable dead ends.
Available Tools
11 toolsbook_callBook a call with Mike FluffAInspect
SIDE EFFECT: books a real 30-minute video call in Mike Fluff's calendar, emails a confirmation with a calendar invite to the given address, alerts Mike, and records the booking as a lead. Only call this when the user has explicitly asked to book and chosen the time. "slot" must be one of the exact values returned by get_booking_slots. Name and email: either the ones the user gave for this purpose, or leave them out and the call is booked in the name of the person signed in with INITE ID (OAuth scope "mikefluff:booking"; without a token such a call is answered with HTTP 401 and the client is sent to sign in). Topics: diagnostic (general business consultation), automation (AI automation), compliance (privacy/GDPR/LGPD around AI systems), architect-mode (the one-day intensive). The confirmation email has a link to move or cancel. Limited to 3 bookings per hour per caller and 2 upcoming calls per email.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | The user's name, as they gave it. Omit to use the signed-in account's name. | |
| slot | Yes | Exact ISO 8601 start time from get_booking_slots, e.g. 2026-10-20T13:00:00.000Z. | |
| No | The user's email; the confirmation goes there. Omit to use the signed-in account's email. | ||
| topic | Yes | What the call is about. | |
| locale | Yes | Language of the confirmation email. | |
| message | No | Optional: what the user wants to discuss, in their words. | |
| timeZone | No | Optional IANA time zone of the user (e.g. America/Sao_Paulo) for the email's times. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the annotations (which only give readOnly=false, destructive=false, openWorld=true, idempotent=false). The description discloses the full side-effect chain (calendar event, confirmation email with invite, Mike alerted, lead recorded), the OAuth scope 'mikefluff:booking' plus the 401-with-sign-in failure mode, rate limits (3/hour per caller, 2 upcoming per email), and the cancel/reschedule link. This is unusually rich behavioral context for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with 'SIDE EFFECT:' so the most consequential fact lands first, and nearly every clause carries distinct operational information (effects, auth, limits, cancel path). It is one dense block rather than scannable chunks, but very little is padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 7-parameter, non-idempotent, open-world write tool with no output schema, the description covers the prerequisites (explicit user intent, valid slot), authentication, side effects, limits, and how the user can undo the booking. Nothing an agent needs in order to call it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description earns more: it explains that name/email default to the signed-in INITE ID account when omitted, constrains slot to exact get_booking_slots values, and gives real meaning to the topic enum (diagnostic, automation, compliance, architect-mode) that the schema only labels 'What the call is about'. Only locale and timeZone get no extra detail from the prose.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource with concrete scope: 'books a real 30-minute video call in Mike Fluff's calendar'. It also distinguishes itself from the get_booking_slots sibling by declaring that slot values must come from that tool, so an agent can route correctly without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit gate: 'Only call this when the user has explicitly asked to book and chosen the time.' It names the upstream dependency for valid slot values and enumerates the four topical variants, covering when-to-use and what to confirm before calling.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
buy_bookBuy a bookAInspect
SIDE EFFECT, MAY SPEND MONEY: buys a Mike Fluff Press book for the person signed in with INITE ID. Books are bought into an INITE account (the reader unlocks paid chapters for the account that paid), so this needs the person: OAuth scope "mikefluff:purchase"; without a token it is answered with HTTP 401 and the client signs the person in. If the person has allowed this shop to charge their INITE wallet, the book is paid at once within the limit they set. If not, the result is one link for the person: there they pay this time and, if they like, allow such payments from now on. Failing both, a payment link (card, PIX). An agent signed in as itself (client_credentials, its own did:web) buys under its own account and pays the returned x402Url from its INITE wallet (pay tool at billing.inite.ai/mcp/wallet). If they already own the book it says so instead. Only call when the user has asked to buy this book.
| Name | Required | Description | Default |
|---|---|---|---|
| book | Yes | Book slug from list_books. | |
| No | Optional: the user's email, for the receipt when the account has none. | ||
| locale | Yes | Language of the book page and currency of the price. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Far exceeds the annotations (readOnlyHint, destructiveHint, idempotentHint, openWorldHint). It discloses the OAuth scope required, the HTTP 401 unauthenticated path, wallet auto-charge vs. one-time link vs. card/PIX fallback, agent self-purchase via x402 wallet, and the money-spend side effect up front.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Long but front-loaded: the critical 'SIDE EFFECT, MAY SPEND MONEY' warning leads, and each subsequent sentence carries distinct behavioral information (auth, payment paths, agent flow) rather than filler. Slightly dense but no wasted sentences.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description fully carries the return-behavior burden: it explains the payment link, the pay-now vs. recurring options, the already-owned message, and the agent wallet flow. Nothing an agent needs to call it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents book, email, and locale, including the locale's currency implication. The description adds little parameter-level detail beyond what the schema provides, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Opens with a specific verb and resource ('buys a Mike Fluff Press book') and immediately flags the side effect. The scope (the signed-in person's account) is stated, so an agent can distinguish this from buy_course and the read-oriented siblings without inspecting schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Ends with an explicit invocation condition: 'Only call when the user has asked to buy this book,' and notes that owning the book already produces a different result. It does not name the nearest alternative (buy_course) for routing, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
buy_chapterBuy one chapterAInspect
SIDE EFFECT, MAY SPEND MONEY: buys one paid chapter of a Mike Fluff Press book, on its own, for whoever the token speaks for (OAuth scope "mikefluff:purchase"; without a token, HTTP 401 and the client signs the person in). The chapter is then theirs to read on the site and whole through get_chapter_preview. Paid the same ways as buy_book: from the person's INITE wallet where they allowed this shop, else one link for them (wallet or card/PIX); an agent signed in as itself pays the returned x402Url from its own INITE wallet (pay tool at billing.inite.ai/mcp/wallet). Owning the book already includes every chapter. Get chapter ids from list_books. Only call when the user has asked to buy this chapter.
| Name | Required | Description | Default |
|---|---|---|---|
| book | Yes | Book slug from list_books. | |
| No | Optional: the user's email, for the receipt when the account has none. | ||
| locale | Yes | Language of the chapter and currency of the price. | |
| chapter | Yes | Chapter id from list_books, e.g. "ch07". |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Far exceeds the annotations, which only say non-read-only/open-world/non-idempotent. The description discloses the OAuth scope 'mikefluff:purchase', the 401-without-token behavior and that the client signs the person in, the three distinct payment paths, the returned x402Url and the wallet pay tool, and the money-spending side effect. This is the operational detail an agent needs before committing a purchase.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the most important fact ('SIDE EFFECT, MAY SPEND MONEY'), and the parentheticals are dense rather than padded. It runs long as a single paragraph though, and the payment-path detail could be split for scannability, which keeps it just short of a 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 4-param mutation tool with no output schema and an open-world, money-spending operation, the description covers auth, entitlements, id sourcing, payment fallbacks, and the post-purchase reading path. Nothing material for a correct call is left unstated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and every property already carries a description with enums and examples, so the schema does the heavy lifting. The description only restates where ids come from ('Get chapter ids from list_books'), which duplicates the schema's own wording rather than adding format, range, or default semantics. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Opens with an unambiguous verb+resource ('buys one paid chapter of a Mike Fluff Press book, on its own') and immediately separates it from buy_book by scoping to a single chapter. The phrase 'on its own' plus the sibling name buy_book lets an agent distinguish the two purchase tools without opening either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states the trigger ('Only call when the user has asked to buy this chapter') and a when-not condition ('Owning the book already includes every chapter'), plus where to get ids (list_books). It even routes reading to the sibling get_chapter_preview, which is exactly the alternative an agent might otherwise confuse with a purchase.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
buy_courseStart buying a courseAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Optional: the user's name. | |
| No | The user's email; the access link is sent there after payment. Omit to use the signed-in account's. | ||
| course | Yes | Course key or slug. | |
| locale | Yes | Language and currency of the checkout. |
TDQS
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.
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.
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.
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.
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.
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.
check_textCheck a text for AI-sounding phrasesARead-onlyIdempotentInspect
Run the writer linter behind mikefluff.com/ai-text-checker on a text: it flags the stock phrases and rhythms readers recognise as machine-written ("in today's fast-paced world", "it's important to note", em-dash habits in Russian) and returns a density verdict (clean / borderline / neuroslop suspected), a pass/fail gate for hard bans, and each hit with line, column, category and the matched words. English and Russian only. Up to 20000 characters. It judges the text, not who wrote it. Read-only: the text is not stored.
| Name | Required | Description | Default |
|---|---|---|---|
| lang | Yes | Language of the text: en or ru. | |
| text | Yes | The text to check (plain text or Markdown). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint/idempotent/non-destructive/closed-world, and the description still adds real behavioral context: the text is not stored, the exact tiers returned, the hard-ban gate, and the language and length limits. That is substantial disclosure beyond the structured fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the purpose before the output details, and every clause carries information. It is long and parenthetical, but the length is justified by enumerating the return shape rather than padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the burden of describing returns and does so fully: verdict tiers, gate result, and per-hit fields. An agent knows what it gets back and what inputs are valid.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the schema already documents both params including the enum. The description's 'English and Russian only' and 'up to 20000 characters' simply restate the enum and maxLength rather than adding syntax or format meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('run the writer linter ... on a text') and spells out the concrete output artifacts (density verdict, pass/fail gate, per-hit line/column/category). It is unmistakably distinct from every sibling, which are all book/call/answer tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear conditions for use: English and Russian only, up to 20000 characters, judges the text rather than the author. It does not name an alternative tool or an explicit when-not-to-use, but with no relevant sibling there is nothing to route against.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_answerGet one answer in fullARead-onlyIdempotentInspect
Fetch one published answer by its id (from search_answers): the full direct answer, the explanatory sections, the FAQ, the chapters and experiments it cites and related answers, all with canonical URLs. Use after search_answers when the lead answer is not enough. Read-only.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Answer id, e.g. "ftx-collapse". | |
| locale | Yes | Language of the result: en, ru, pt or es. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint/idempotentHint/destructiveHint=false, so the description's 'Read-only' is largely redundant. It does add real value by disclosing the response composition (sections, FAQ, cited chapters/experiments, related answers, canonical URLs), which no output schema provides.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence that leads with the action and resource, then lists the returned content. No filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description compensates by describing the return shape in detail, and it supplies the usage context and prerequisite source for the id. Nothing an agent needs to invoke it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so both parameters (id, locale) are already fully documented with pattern, length, and enum. The description adds no extra semantics about id format or locale behavior; baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Fetch one published answer by its id') and enumerates the payload (direct answer, sections, FAQ, chapters, experiments, related answers, canonical URLs), which clearly distinguishes it from search_answers.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly names the alternative and the selecting condition: 'Use after search_answers when the lead answer is not enough.' The id source is also given ('from search_answers'), so an agent knows how to obtain the required argument.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_booking_slotsFree times for a call with Mike FluffARead-onlyIdempotentInspect
List the open 30-minute slots for a free video call with Mike Fluff (business diagnosis, AI automation, compliance, Architect Mode), as ISO 8601 UTC start times. Use before book_call; pass one of these exact values as its "slot". Read-only.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | How many days to cover from "from". Default 7, at most 21. | |
| from | No | Earliest day to list, ISO date or date-time (YYYY-MM-DD). Defaults to now. | |
| locale | No | Language for the booking page URL. Default en. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint/idempotentHint/destructiveHint=false, so safety is covered structurally. The description adds real context beyond them: slot granularity (30 minutes), the UTC/ISO 8601 encoding of results, and the hard contract that returned values must be passed verbatim to book_call.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three compact sentences, each earning its place: what it returns, how the output is formatted, how to use it downstream. The essential 'what' is front-loaded with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, but the description compensates by specifying the result format (ISO 8601 UTC start times) and the downstream consumption contract. Combined with the fully documented input schema and safety annotations, an agent has everything needed to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so days, from, and locale are already documented with defaults and bounds in the schema. The description adds nothing parameter-specific beyond confirming the return format, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('List the open 30-minute slots for a free video call with Mike Fluff') and even scopes the subject matter (business diagnosis, AI automation, compliance, Architect Mode). An agent can immediately distinguish this from book_call or any other sibling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit sequencing guidance: 'Use before book_call; pass one of these exact values as its "slot"' tells the agent when to call and how the result feeds the next tool — unusually strong routing. It lacks an explicit when-not condition (e.g., skip if a slot is already known), so it falls just short of 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_chapter_previewRead a chapter (free) or its opening (paid)ARead-onlyIdempotentInspect
Return the text of one chapter. Free chapters come back in full. A paid chapter comes back whole to an account that owns it (the book, or the chapter bought with buy_chapter) when the call carries its token; to anybody else as its public lead-in only (about a fifth of the chapter), with what the chapter costs on its own. Get book slugs and chapter ids from list_books. Read-only.
| Name | Required | Description | Default |
|---|---|---|---|
| book | Yes | Book slug. | |
| locale | Yes | Language of the result: en, ru, pt or es. | |
| chapter | Yes | Chapter id, e.g. "ch01" or "prologue". |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, and the description adds behavior those hints cannot express: content is conditionally truncated to roughly a fifth for non-owners, ownership of the book or a purchased chapter unlocks the whole text, and the paid price is surfaced in the preview response. This is exactly the kind of conditional-output disclosure an agent needs before calling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four tightly packed sentences, front-loaded with the outcome and followed by the branching rules; nothing is padding. The trailing 'Read-only.' restates what the annotations already say and is the one line that does not earn its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the return-value burden and does so: full text for free/owned chapters, public lead-in plus standalone price otherwise. Combined with the schema-covered inputs, an agent has everything needed to call this correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the three parameters are already documented by the schema; the description adds the sourcing hint that book slugs and chapter ids come from list_books. Minor confusion: 'the call carries its token' implies a token input that does not appear in the schema, leaving the agent to guess how entitlement is transmitted.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Starts with a specific verb+resource ('Return the text of one chapter') and immediately scopes it by entitlement (free = full, paid = lead-in unless owned). It names the related siblings list_books and buy_chapter, so an agent can tell what this tool is and is not without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear context for when the full text comes back versus a truncated lead-in, and routes the agent to list_books for slugs and chapter ids and to buy_chapter for ownership. It stops short of an explicit 'do not use this for X' exclusion, but the entitlement conditions effectively define the branch points.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_booksList the booksARead-onlyIdempotentInspect
List the books by Mike Fluff Press with title, subtitle, synopsis, status, canonical book page URL and the table of contents (which chapters are free to read). Use it to answer "what has Mike Fluff written" or before get_chapter_preview. Read-only.
| Name | Required | Description | Default |
|---|---|---|---|
| locale | Yes | Language of the result: en, ru, pt or es. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint/idempotentHint/openWorldHint, so the trailing 'Read-only' is largely redundant. However, with no output schema the description usefully discloses the shape of the response, including that the table of contents marks which chapters are free to read.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences: the payload is front-loaded, followed by usage routing and a safety tag. No filler, and the most decision-relevant information comes first.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter read tool with no output schema, the description covers what is returned, when to call it, and its read-only nature. Nothing an agent needs to select or invoke it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single locale parameter is fully documented with its enum in the schema, so the baseline is 3. The description adds nothing about locale or how it affects the result.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource (list the books) and enumerates exactly what is returned: title, subtitle, synopsis, status, canonical page URL and TOC. It scopes the corpus to Mike Fluff Press, which separates it from course/answer siblings 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives concrete when-to-use cases (answering 'what has Mike Fluff written', and calling it before get_chapter_preview), naming a sibling in sequence. No explicit exclusions or 'when not to use', so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_diagnosticRun the business diagnosticARead-onlyIdempotentInspect
The self-diagnostic from mikefluff.com/diagnostic: ten multiple-choice questions about how a business runs, scored into one of five named operational conditions (e.g. "one queue, one person", "manual conveyor", "SaaS obesity") with a severity, an annual cost estimate built only from the user's own answers, and a recommended next step with its URL. Call it with answers = {} first to get the questionnaire (question ids, option ids, which questions are conditional), ask the user, then call again with {questionId: optionId} (an array of option ids for multiple-choice questions). Read-only: nothing is stored or mailed.
| Name | Required | Description | Default |
|---|---|---|---|
| locale | Yes | Language of the result: en, ru, pt or es. | |
| answers | Yes | Question id → option id, or option ids for a multiple-choice question. {} returns the questionnaire. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive/openWorld=false, and the description reinforces this with 'Read-only: nothing is stored or mailed.' It goes further by disclosing the two-phase questionnaire workflow and that the cost estimate is derived only from the user's own answers, which is meaningful behavior beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single dense paragraph, but it is front-loaded with the identity of the diagnostic followed by the call procedure. Nearly every clause carries information, with only mild redundancy between the output description and the schema's own answers note.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the return-value burden and does so: named condition, severity, cost estimate, and recommended next step with URL. Combined with the explicit two-call flow and the nested answers format, an agent has everything needed to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description adds real semantics: answers={} returns the questionnaire rather than a result, and the value is questionId→optionId with an array for multiple-choice questions. It also notes that locale controls the language of the result.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource (the mikefluff.com ten-question business diagnostic) and states exactly what it returns: one of five named operational conditions, a severity, a cost estimate, and a next-step URL. It is unmistakably distinct from siblings like book_call, get_answer, or list_books.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives an explicit operating procedure: call with answers={} to fetch the questionnaire (question ids, option ids, conditionals), ask the user, then call again with {questionId: optionId}. That is clear when-to-use guidance, though it does not name any alternative tool or a when-not-to-use condition.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_answersSearch answers and experimentsARead-onlyIdempotentInspect
Search the answers Mike Fluff Press publishes (questions about crypto history, Bitcoin, stablecoins, fraud, AI agents, software after AI: "what happened to FTX", "who is Satoshi", "what is MCP") and the interactive experiments from the books. Use this first whenever the user asks a factual question these books cover. Returns up to 8 hits, each with the title, a 40-60 word lead answer you can quote, the canonical URL, the book, and the chapter it draws on. Read-only.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | The question or keywords, in any of the four languages. | |
| locale | No | Language of the results. Defaults to the language the query is written in. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint=false, so the safety profile is covered; the description reinforces it with "Read-only." More usefully, it discloses the result cap ("up to 8 hits") and the exact return fields including a quotable 40-60 word lead answer, which is real behavioral detail absent from any structured field.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose and routing instruction are front-loaded, and the return-value sentence earns its place since there is no output schema. The parenthetical example questions add length but also make the topical scope concrete, so the size is justifiable rather than padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description compensates by describing the hit count and each returned field, and it covers the activation condition and read-only nature. Nothing an agent needs to select or call this tool is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (query is described as a question or keywords in any of four languages; locale is enumerated with a default), so the schema carries the parameter burden. The description adds only topical scope, not format or syntax guidance beyond what the schema already says.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (search) plus the exact resource (Mike Fluff Press answers and book experiments) and even scopes the topical domain with concrete example queries. The agent can distinguish this from get_answer (single lookup) and check_text without opening either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"Use this first whenever the user asks a factual question these books cover" gives a clear triggering condition and a routing priority, which is strong guidance. It stops short of naming the alternative sibling (get_answer) or stating when not to use it, so it is not a full when/when-not treatment.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
- Added
buy_chapter
10 tool updates
- Changed
book_call1 field changed- removed
Input schema / $schemaRemoved value: -"http://json-schema.org/draft-07/schema#"
- Changed
buy_book1 field changed- removed
Input schema / $schemaRemoved value: -"http://json-schema.org/draft-07/schema#"
- Changed
buy_course1 field changed- removed
Input schema / $schemaRemoved value: -"http://json-schema.org/draft-07/schema#"
- Changed
check_text1 field changed- removed
Input schema / $schemaRemoved value: -"http://json-schema.org/draft-07/schema#"
- Changed
get_answer1 field changed- removed
Input schema / $schemaRemoved value: -"http://json-schema.org/draft-07/schema#"
- Changed
get_booking_slots1 field changed- removed
Input schema / $schemaRemoved value: -"http://json-schema.org/draft-07/schema#"
- Changed
get_chapter_preview1 field changed- removed
Input schema / $schemaRemoved value: -"http://json-schema.org/draft-07/schema#"
- Changed
list_books1 field changed- removed
Input schema / $schemaRemoved value: -"http://json-schema.org/draft-07/schema#"
- Changed
run_diagnostic1 field changed- removed
Input schema / $schemaRemoved value: -"http://json-schema.org/draft-07/schema#"
- Changed
search_answers1 field changed- removed
Input schema / $schemaRemoved value: -"http://json-schema.org/draft-07/schema#"
10 tool updates
- First observed
book_call - First observed
buy_book - First observed
buy_course - First observed
check_text - First observed
get_answer - First observed
get_booking_slots - First observed
get_chapter_preview - First observed
list_books - First observed
run_diagnostic - First observed
search_answers
Related MCP Connectors
Free local business checkup (Google, reviews, AI answers), plus web, SEO and automation services.
AI phone receptionist for small businesses: read calls, leads and booked appointments.
Answer small-business customer questions from FAQs, list open appointment times, and book them.
AI phone calls from your verified number, with answers, transcripts and recordings.
Related MCP Servers
- AlicenseAqualityAmaintenanceEnables AI assistants to answer a small business's customer questions from its own FAQs and order data, list upcoming open appointment times in the business's time zone, and book one of those offered slots with staff notification. Free for the first 1,000 businesses, using fast rule-based FAQ matching rather than free-form generation.3MIT
- AlicenseAqualityDmaintenanceEnables AI assistants to assess a small business's AI readiness (0–100 score), suggest tailored AI use cases, describe Essetech's services, and book a free consultation.49 npmMIT
- FlicenseNot gradedqualityCmaintenanceReads a small-business website like a customer would and shows where they get stuck. Every AI answer has to quote the page, and the server checks the quote before it counts.1-
- AlicenseAqualityAmaintenanceEnables small-business AI assistants to answer customer questions about hours, offerings, FAQs, staff, and booking from a single business.yaml config, with industry-specific tools and guardrails.218 npmMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.