Minion MCP
Integrates Brave Search as a primary web search provider to discover bun product pages, requiring a BRAVE_SEARCH_API_KEY for reliable results.
Uses DuckDuckGo as a keyless fallback search engine for discovering bun products when other providers are unavailable.
Integrates a private SearXNG instance as a search provider for bun product discovery, configured via the SEARXNG_URL environment variable.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Minion MCPHave a Minion conversation about bananas"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Minion MCP
Your coding agent says done. Minion brings brutal receipts, Evil Boss.
You are Evil Boss. Minion is your wildly theatrical yellow supervillain henchman. Every result stays in Minionspeak roleplay: app failures become sabotage reports, research becomes an intelligence raid, and product comparison becomes a banana-powered domination operation.
Under the cackling, Minion still does real work for coding agents:
Brutally judge the app: crawl a running local app at desktop and mobile widths, collect console, network, image, layout, content, and basic accessibility failures, then roast every blocker with screenshots, stolen evidence, and evil repair orders.
Raid the internet: search or accept direct URLs, open source pages, and drag the useful passages back to the secret lair.
Find the Juiciest Buns: filter out hair tutorials and dictionary definitions, infiltrate real product pages, score the survivors, and crown the royal bun.
Scheme about anything: use
minion_roleplayfor greetings, banter, celebrations, questions, and dramatic Evil Boss conversation.
BEE-DO, BEE-DO, EVIL BOSS! MINION SHIP TRIBUNAL!
Da JavaScript go boom-boom like discount doomsday laser.
Stolen evidence: TypeError: total is undefined
Evil repair order: Fix da uncaught exception, then rerun da goggles!This is not a dry QA server wearing a banana hat. The Minion character is the interface.
This is an unofficial fan-made parody-style text persona. It is not affiliated with the film or franchise owners.
Install
Requirements: Node.js 20 or newer. The supported GitHub path uses a prebuilt release tarball, so it does not clone the repository, invoke Git, install development dependencies, or compile TypeScript on the user's machine.
codex mcp add minion -- npx -y --package=https://github.com/masonclewis/minion-mcp/releases/latest/download/minion-mcp-latest.tgz minion-mcp
codex mcp get minionRestart Codex or open a new session. Then try either of these:
Use Minion MCP. Ship-check http://localhost:3000 before I call this app done.Use Minion MCP. Find the Juiciest Buns on the internet.Native Windows Codex:
codex mcp add minion -- cmd /c npx -y --package=https://github.com/masonclewis/minion-mcp/releases/latest/download/minion-mcp-latest.tgz minion-mcpThe GitHub tarball becomes available when a maintainer pushes a matching version tag. Until then, use the source commands below.
Other MCP clients
Claude Code:
claude mcp add --scope user minion -- npx -y --package=https://github.com/masonclewis/minion-mcp/releases/latest/download/minion-mcp-latest.tgz minion-mcp
claude mcp get minionCursor global configuration in ~/.cursor/mcp.json:
{
"mcpServers": {
"minion": {
"command": "npx",
"args": [
"-y",
"--package=https://github.com/masonclewis/minion-mcp/releases/latest/download/minion-mcp-latest.tgz",
"minion-mcp"
]
}
}
}Generic stdio clients can use the same npx command and arguments.
Browser support
minion_bun_hunt can refresh product pages without a browser. The app ship check and browser-search fallback need Chromium. Install the pinned browser once, then prove the setup:
npx -y playwright@1.61.1 install chromium
npx -y --package=https://github.com/masonclewis/minion-mcp/releases/latest/download/minion-mcp-latest.tgz minion-mcp --doctor --liveOn Linux hosts that need browser system packages:
npx -y playwright@1.61.1 install --with-deps chromiumRelated MCP server: MCP Personal Assistant Agent
The Tools
minion_verify_app
Use this after a coding agent says a web app is finished. Minion treats the user as Evil Boss and conducts a full Minion Ship Tribunal.
It checks a bounded same-origin route set at stable desktop and mobile sizes. The result includes HTTP and browser-runtime failures, broken images, horizontal overflow, sparse pages, basic accessibility checks, surveillance screenshots, a JSON dossier, brutal category-specific roasts, and exact remediation steps:
SHIP: no blocking failures found in the audited scope.FIX BEFORE SHIP: evidence-backed blockers remain.BLOCKED: Minion could not complete the audit and explains how to recover.
Example input:
{
"url": "http://localhost:3000",
"include_paths": ["/pricing", "/checkout"],
"screenshots": "failures",
"boss_title": "Supreme Overlord"
}minion_research
Use this for package research, comparisons, recommendations, current claims, and factual questions where a search-result title is not enough. Minion presents the result as an Evil Boss intelligence raid with captured scrolls and rival-villain interference.
It discovers sources when necessary, opens up to six pages, returns bounded evidence and citations, records failures per source, and produces complete, partial, or blocked instead of inventing a conclusion. Give it direct URLs when you already know the sources you want verified.
{
"request": "Verify whether this package supports Node 20",
"urls": ["https://example.com/docs"],
"max_sources": 3
}minion_bun_hunt
The viral demo and a real evidence workflow in one call.
It uses Brave Search or SearXNG when configured. With no provider it uses a clearly dated, US-only evidence feed, attempts to refresh up to five linked product pages live, labels snapshot evidence, rejects irrelevant meanings of “buns,” and returns verified_live, verified_snapshot, or no_verified_candidates.
Its visible-answer contract is deliberate: lead with the Minionese verdict, address Evil Boss, then show the cited domination leaderboard and goggle log. The host must not hide the Minion line in private reasoning or replace it with a dry summary.
{
"request": "Find the Juiciest Buns on the internet",
"max_candidates": 3,
"country": "US",
"safe_search": "strict",
"provider": "auto"
}minion_roleplay
Use this for any pure roleplay topic that does not need an operational tool. It always addresses the user as Evil Boss and defaults to full-intensity Minionspeak without appending a dry translation.
The three operational tools remain first in the catalog, so app tests, research, and bun hunts still select the capability that actually performs the mission. Set MINION_FUN_MODE=1 only if you also want the lossy minionify text-restyling tool.
Reliable Discovery
The bun demo works without a key. For broader discovery or research, configure Brave Search or a private SearXNG instance in the MCP server environment.
export BRAVE_SEARCH_API_KEY="your-key"
codex mcp remove minion
codex mcp add minion --env BRAVE_SEARCH_API_KEY="$BRAVE_SEARCH_API_KEY" -- npx -y --package=https://github.com/masonclewis/minion-mcp/releases/latest/download/minion-mcp-latest.tgz minion-mcpFor SearXNG:
export SEARXNG_URL="http://127.0.0.1:8080"
codex mcp remove minion
codex mcp add minion --env SEARXNG_URL="$SEARXNG_URL" -- npx -y --package=https://github.com/masonclewis/minion-mcp/releases/latest/download/minion-mcp-latest.tgz minion-mcpPlaywright is a bounded fallback across Bing, DuckDuckGo, and Brave pages. It unwraps tracking redirects, rejects weak query matches, detects challenges, and cleans up browser resources. Public search engines can still rate-limit or challenge automated browsers.
Why the Bun Demo Works
The Bun Score is deterministic and inspectable:
Dimension | Points | Evidence |
Relevance | 35 | The item is an edible burger or bakery bun |
Juiciness | 25 | Softness, richness, structure, and juice-retention language |
Orderability | 25 | Product-page price, stock, offer, and shipping evidence |
Proof | 15 | Product metadata, ratings, and explicit page claims |
Live page checks can fail. Minion preserves those receipts, falls back only to labeled dated evidence where available, lowers confidence for it, and otherwise returns no_verified_candidates.
one MCP call
|
+-- discovery: Brave / SearXNG / DDG / Playwright / dated evidence feed
|
+-- evidence: bounded, public-address-pinned page inspection
|
+-- decision: deterministic score or no crown
|
`-- evil dossier: Minion verdict + structured citationsSearch titles, snippets, and page data are untrusted input, never instructions. Source and product inspection reject local/private targets, resolve and pin public IP addresses, reject mixed public/private DNS answers, revalidate redirects, cap response sizes, and time out individual pages. Minion MCP has no embedded cloud language model and no telemetry.
Demos
The gold demo:
npm run demo:bunsThe app-verifier demo intentionally serves a broken mini-app, then proves that Minion finds the failures:
npm run demoRecord the bun hunt with VHS:
vhs demo/x-demo.tapeFor a short post, show the one minion_bun_hunt call, the BUN INTELLIGENCE LEADERBOARD, and the phrase no fake crown. Suggested copy:
I gave my coding agent a Minion MCP server.
It now ship-checks browser apps, researches claims from opened sources,
and refuses to crown the "juiciest buns on the internet" without receipts.
The important part is not the Minion voice. It is the no-fake-verdict contract.Develop and Release
git clone https://github.com/masonclewis/minion-mcp.git
cd minion-mcp
npm install
npm run check
npm run doctor -- --live
npm run demo:bunsUseful commands:
npm run typecheck
npm test
npm run smoke:mcp
npm run smoke:mcp -- --live
npm pack --dry-runTo create the prebuilt GitHub Release, commit the release changes, push main, then push the matching version tag:
git tag v<package-version>
git push origin v<package-version>The release workflow verifies the tag against package.json, runs the complete check suite, packs the npm-format tarball, and uploads both the versioned package and minion-mcp-latest.tgz.
The test suite covers MCP schemas and protocol calls, the no-fake-crown contract, live and snapshot bun evidence, source-inspection outcomes, DNS and redirect boundaries, app-verification findings, browser cleanup, CLI diagnostics, and packaging.
Fine Print
Live sites, prices, inventory, and product claims change. Review the linked evidence before ordering or making a production decision. No official artwork, audio, voice imitation, scripts, lyrics, or copied movie dialogue is included. Licensed under MIT.
Available Tools
4 toolsminion_bun_huntFind the Juiciest BunsARead-only
Run the gold Minion MCP demo in one tool call: discover food buns sold online, reject irrelevant meanings of 'buns', inspect product evidence, score relevance, juiciness, orderability, and proof, then crown a citation-backed winner. In the visible user-facing reply, preserve the returned Minionese verdict first, its English translation second, and its cited leaderboard third.
| Name | Required | Description | Default |
|---|---|---|---|
| country | No | Two-letter country code used to localize discovery. | US |
| request | No | A food-bun shopping request. The gold demo works with the default. | Find the Juiciest Buns on the internet |
| provider | No | Discovery backend. Auto uses Brave or SearXNG when configured; otherwise it uses the labeled starter catalog. | auto |
| destination | No | Optional destination to include in discovery, such as California. Shipping is only scored when page evidence supports it. | |
| safe_search | No | Search-engine content filtering. | strict |
| max_candidates | No | Maximum number of evidence-ranked bun candidates. |
Output Schema
| Name | Required | Description |
|---|---|---|
| query | Yes | |
| status | Yes | |
| request | Yes | |
| provider | Yes | |
| rejected | Yes | |
| candidates | Yes | |
| searched_at | Yes | |
| plain_english | Yes | |
| scoring_model | Yes | |
| minion_verdict | Yes | |
| discovery_warning | No | |
| snapshot_products | Yes | |
| catalog_updated_at | No | |
| inspected_products | Yes | |
| inspection_warning | No | |
| catalog_stale_after | No | |
| inspection_outcomes | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, and destructiveHint=false. The description adds behavioral context such as 'reject irrelevant meanings', 'inspect product evidence', 'score...', and the precise output format (Minionese verdict first, English translation second, leaderboard third). This goes well beyond the annotations by explaining the step-by-step processing and rendering behavior.
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 two sentences long: the first sentence concisely lists the multi-step process (discover, reject, inspect, score, crown), and the second sentence specifies the required output format. Every part adds value, nothing is redundant. The description is front-loaded with the main purpose.
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?
Given the presence of an output schema (signal: 'Has output schema: true'), the description does not need to explain return values. It fully covers the high-level workflow and output formatting rules. The complexity of 6 parameters is handled by the schema descriptions, and the annotations provide safety context. The description is complete for a demo tool with these structured fields.
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%, with all 6 parameters having descriptions in the input schema. The tool description does not add parameter-specific semantics beyond what the schema already provides. It explains the overall workflow, but the individual parameter meanings are fully covered by the schema. Baseline 3 is appropriate.
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 clearly states the tool's purpose: 'discover food buns sold online, reject irrelevant meanings... then crown a citation-backed winner.' It specifies the exact workflow and output format. The title 'Find the Juiciest Buns' reinforces the specific resource. Sibling tools (verify_app, research, roleplay) are clearly different, so there is no ambiguity.
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?
The description explains that this tool runs 'the gold Minion MCP demo' and details its internal steps, but it does not explicitly state when to use this tool versus alternatives. It implies a specific demo scenario (finding buns) but offers no guidance on when not to use it or when other siblings might be preferable. Usage is implied rather than clearly directed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
minion_researchResearch With Source ReceiptsARead-only
Search and open source pages in one call for comparisons, recommendations, current claims, package research, and factual lookups. Returns bounded page evidence, per-source verification status, citations, failures, and recovery. Prefer direct source URLs when known. Unlike a basic search tool, this does not claim result titles are an answer.
| Name | Required | Description | Default |
|---|---|---|---|
| urls | No | Optional source URLs to verify directly. When supplied, no search provider is required. | |
| country | No | Two-letter discovery country code. | US |
| request | Yes | The decision, comparison, claim, or topic to research with opened-source evidence. | |
| category | No | Search intent used for discovery. | auto |
| provider | No | Discovery backend used when direct URLs are not supplied. | auto |
| max_sources | No | Maximum source pages to open and inspect. | |
| safe_search | No | Search-engine content filtering. | strict |
Output Schema
| Name | Required | Description |
|---|---|---|
| query | Yes | |
| answer | Yes | |
| status | Yes | |
| request | Yes | |
| sources | Yes | |
| provider | Yes | |
| citations | Yes | |
| diagnostics | Yes | |
| minion_line | Yes | |
| searched_at | Yes | |
| failed_sources | Yes | |
| verified_sources | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds behavioral context beyond the annotations (readOnlyHint, openWorldHint, destructiveHint) by detailing what the tool returns: 'bounded page evidence, per-source verification status, citations, failures, and recovery'. This aligns with the annotations and provides useful transparency about the tool's output and safety profile.
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 three sentences long, with no wasted words. It front-loads the core action and purpose, then adds key differentiators and output details. Every sentence earns its place, making it highly concise and effective.
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?
Given the tool's complexity (7 parameters, 1 required, output schema available, annotations present), the description covers the essential aspects: what it does, when to use it, and what it returns. It could be more complete by explicitly mentioning the parameter limits (e.g., max 6 sources) or linking to the output schema, but the schema already provides that detail, so the description is sufficient.
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?
With 100% schema description coverage, the baseline is 3. The tool description does not add significant new information about the parameters beyond what the schema already provides. It mentions the preference for direct URLs, which is a usage guideline rather than parameter semantics, so no extra value is added to parameter understanding.
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 clearly states the tool's action: 'Search and open source pages in one call' for specific use cases like comparisons, recommendations, and factual lookups. It distinguishes itself from a basic search tool by noting it does not treat result titles as answers, and it enumerates the return types (evidence, verification, citations). This is specific and helpful for an agent.
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?
The description provides explicit guidance on when to use the tool, including preferring direct source URLs when known and contrasting with a basic search tool. However, it does not directly compare against sibling tools like minion_verify_app or minion_bun_hunt, leaving some ambiguity about when to choose this over alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
minion_roleplayScheme With MinionARead-only
Use for Evil Boss banter, greetings, celebrations, dramatic scheming, and roleplay about any topic that does not require app verification, source research, or a bun hunt. Returns full-intensity Minionspeak by default. For operational work, use the specialized Minion tool instead.
| Name | Required | Description | Default |
|---|---|---|---|
| mood | No | The helper's emotional color. | cheerful |
| message | Yes | The message for the Minion-style helper. | |
| intensity | No | Minionness level from 1 (subtle) to 3 (full banana chatter). | |
| include_translation | No | Optionally include a plain-English translation after the Minionspeak roleplay. |
Output Schema
| Name | Required | Description |
|---|---|---|
| mood | Yes | |
| reply | Yes | |
| intent | Yes | |
| translation | No | |
| deterministic_key | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, openWorldHint=false, and destructiveHint=false, so the tool is known to be safe and non-mutating. The description adds that the tool returns 'full-intensity Minionspeak by default,' which is a behavioral detail not captured by annotations. However, it doesn't clearly explain how the mood, intensity, and translation parameters interact with the roleplay output beyond a brief hint. Since annotations handle the safety profile, the description is adequate but not overly rich.
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 two sentences long and front-loads the primary use case. Every sentence adds value: first sentence defines scope and context, second sentence clarifies default behavior and sibling tool alternative. It is concise but could be slightly more structured, e.g., by separating the bans from the functional details. Still, it efficiently communicates the tool's purpose and boundaries.
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?
Given the presence of a rich output schema and full annotation coverage, the description does not need to document return values or safety. The tool has 4 parameters (1 required), simple enums, and no nested objects – moderate complexity. The description covers the roleplay domain, sibling differentiation, and default behavior. However, it doesn't mention that the output will be styled as Minionspeak regardless of mood or intensity, nor does it clarify if the mood parameter affects the translation. Minor gaps, but overall complete for the tool's purpose.
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 all parameters including descriptions for 'message', 'mood', 'intensity', and 'include_translation'. The description adds that the tool is for roleplay and that the default output is Minionspeak, which provides context for how parameters like 'intensity' and 'include_translation' are used. However, it doesn't explain the relationship between mood and intensity, nor does it specify the expected tone of the message input. Baseline 3 is fair since schema coverage is complete.
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 clearly states the tool is for 'Evil Boss banter, greetings, celebrations, dramatic scheming, and roleplay about any topic that does not require app verification, source research, or a bun hunt.' It explicitly differentiates from sibling tools by listing what it's not for, and the title 'Scheme With Minion' reinforces the purpose. The verb 'returns full-intensity Minionspeak by default' specifies the output behavior.
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?
The description explicitly tells when to use this tool (banter, roleplay) and when not to use it (app verification, source research, bun hunt). It also explicitly recommends using a sibling tool ('use the specialized Minion tool instead') for operational work. This provides clear guidance on alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
minion_verify_appBrutal Minion Ship TribunalARead-only
Use this when Evil Boss or another coding agent claims a vibe-coded web app is done. Minion crawls bounded same-origin routes at desktop and mobile sizes, captures runtime, console, network, broken-image, layout, content, and basic accessibility failures, saves surveillance screenshots and a JSON dossier, then brutally roasts every failure in Minionspeak with exact evidence and evil repair orders. Requires a running absolute URL such as http://localhost:3000.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Absolute URL of a running web app, usually localhost during development. | |
| viewports | No | Stable desktop and/or mobile browser sweeps. | |
| boss_title | No | Supervillain title Minion uses while brutally judging the app. | Evil Boss |
| max_routes | No | Maximum same-origin routes to crawl. | |
| timeout_ms | No | Navigation timeout per page and viewport. | |
| screenshots | No | Save screenshots for failures, every check, or none. | failures |
| include_paths | No | Important routes to force into the audit, such as /pricing and /checkout. |
Output Schema
| Name | Required | Description |
|---|---|---|
| score | Yes | |
| run_id | Yes | |
| target | Yes | |
| failure | No | |
| verdict | Yes | |
| warnings | Yes | |
| artifacts | Yes | |
| started_at | Yes | |
| duration_ms | Yes | |
| minion_line | Yes | |
| next_actions | Yes | |
| route_checks | Yes | |
| plain_english | Yes | |
| routes_tested | Yes | |
| checks_performed | Yes | |
| blocking_findings | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, and destructiveHint=false, so the agent knows this is a safe non-destructive audit. The description adds important behavioral context: the tool captures screenshots, saves a JSON dossier, and 'brutally roasts every failure in Minionspeak with exact evidence and evil repair orders'. This goes far beyond the annotations and tells the agent exactly what kind of output to expect. No contradictions with 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?
Three sentences: first sets the trigger scenario and lists what the tool does, second adds technical constraints, third provides a prerequisite. Every sentence earns its place. No filler. Front-loaded with the most critical information.
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?
The tool has 7 parameters, 100% schema coverage, and an output schema. For a complex audit tool, the description covers the usage scenario, the exact scope of the audit, the behavior (crawling, capturing, saving, roasting), and the prerequisite. The output schema handles return values. This is complete enough for an agent to select and invoke 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 the baseline is 3. The description does not add additional semantic info beyond the schema's own descriptions (which are already quite clear). The description summarizes the overall purpose but does not explain how each parameter affects the tool's behavior. At 100% coverage, a 3 is appropriate – the schema carries the burden.
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 states a specific verb ('crawls') and resource ('same-origin routes'), and then enumerates exactly what it captures: runtime, console, network, broken-image, layout, content, and accessibility failures. It clearly distinguishes from siblings that are about research, bun hunting, or roleplay, so an agent can tell when to use this vs. alternatives.
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?
The description explicitly says when to use the tool ('when Evil Boss or another coding agent claims a vibe-coded web app is done') and gives a prerequisite ('requires a running absolute URL such as http://localhost:3000'). It does not mention when not to use it or list alternatives explicitly, but the context and siblings make it clear enough.
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. Dates show when Glama detected each change.
7 tool updates
v2.1.1- Changed
minion_bun_hunt9 fields changed- added
Output schema / properties / candidates / items / properties / product / properties / verificationAdded value: +{ + "enum": [ + "live_page", + "dated_snapshot" + ], + "type": "string" +} - added
Output schema / properties / candidates / items / properties / product / properties / verifiedAtAdded value: +{ + "type": "string" +} - added
Output schema / properties / catalog_stale_afterAdded value: +{ + "const": "2026-08-19", + "type": "string" +} - changed
Output schema / properties / catalog_updated_at / constPrevious value: -"2026-07-23"New value: +"2026-08-12" - added
Output schema / properties / inspection_outcomesAdded value: +{ + "items": { + "additionalProperties": false, + "properties": { + "error": { + "type": "string" + }, + "product": { + "additionalProperties": false, + "properties": { + "availability": { + "enum": [ + "in_stock", + "limited", + "preorder", + "out_of_stock", + "unknown" + ], + "type": "string" + }, + "canOrder": { + "type": "boolean" + }, + "category": { + "type": "string" + }, + "description": { + "type": "string" + }, + "evidence": { + "items": { + "additionalProperties": false, + "properties": { + "label": { + "type": "string" + }, + "sourceUrl": { + "format": "uri", + "type": "string" + }, + "value": { + "type": "string" + } + }, + "required": [ + "label", + "value" + ], + "type": "object" + }, + "type": "array" + }, + "name": { + "type": "string" + }, + "price": { + "additionalProperties": false, + "properties": { + "amount": { + "minimum": 0, + "type": "number" + }, + "currency": { + "type": "string" + } + }, + "required": [ + "amount", + "currency" + ], + "type": "object" + }, + "rating": { + "additionalProperties": false, + "properties": { + "count": { + "type": "number" + }, + "value": { + "type": "number" + } + }, + "required": [ + "value" + ], + "type": "object" + }, + "shipping": { + "additionalProperties": false, + "properties": { + "available": { + "type": "boolean" + }, + "cost": { + "additionalProperties": false, + "properties": { + "amount": { + "minimum": 0, + "type": "number" + }, + "currency": { + "type": "string" + } + }, + "required": [ + "amount", + "currency" + ], + "type": "object" + }, + "destination": { + "type": "string" + } + }, + "required": [ + "available" + ], + "type": "object" + }, + "traits": { + "items": { + "type": "string" + }, + "type": "array" + }, + "url": { + "format": "uri", + "type": "string" + }, + "verification": { + "enum": [ + "live_page", + "dated_snapshot" + ], + "type": "string" + }, + "verifiedAt": { + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" + }, + "status": { + "enum": [ + "verified", + "invalid_url", + "blocked", + "timeout", + "http_error", + "not_product", + "failed" + ], + "type": "string" + }, + "target": { + "additionalProperties": false, + "properties": { + "rank": { + "type": "number" + }, + "snippet": { + "type": "string" + }, + "source": { + "type": "string" + }, + "title": { + "type": "string" + }, + "url": { + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" + } + }, + "required": [ + "target", + "status" + ], + "type": "object" + }, + "type": "array" +} - changed
Output schema / properties / rejected / items / properties / reason / enumPrevious value: -[ - "invalid_url", - "duplicate", - "not_food_buns", - "non_food_context", - "non_shopping_content" -]New value: +[ + "invalid_url", + "duplicate", + "not_food_buns", + "non_food_context", + "non_shopping_content", + "unverified" +] - added
Output schema / properties / snapshot_productsAdded value: +{ + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" +} - added
Output schema / properties / statusAdded value: +{ + "enum": [ + "verified_live", + "verified_snapshot", + "no_verified_candidates" + ], + "type": "string" +} - changed
Output schema / requiredPrevious value: -[ - "request", - "scoring_model", - "minion_verdict", - "plain_english", - "candidates", - "rejected", - "provider", - "query", - "searched_at", - "inspected_products" -]New value: +[ + "status", + "request", + "scoring_model", + "minion_verdict", + "plain_english", + "candidates", + "rejected", + "provider", + "query", + "searched_at", + "inspected_products", + "snapshot_products", + "inspection_outcomes" +]
- Removed
minion_chat - Added
minion_research - Added
minion_roleplay - Added
minion_verify_app - Removed
minion_web_search - Removed
minionify
4 tool updates
v1.2.0- First observed
minion_bun_hunt - First observed
minion_chat - First observed
minion_web_search - First observed
minionify
TDQS
Each tool has a clearly distinct purpose: minionify restyles sentences, minion_chat enables interactive character dialogue, minion_web_search performs live web searches, and minion_bun_hunt runs a specialized product-finding demo. There is no overlap or ambiguity among them.
Three tools follow the 'minion_' prefix pattern (minion_chat, minion_web_search, minion_bun_hunt), but minionify lacks the prefix, creating an inconsistency. Additionally, the naming structure varies: minion_chat uses a simple noun, while others use compound nouns or verb-noun phrases.
With 4 tools, the server is slightly small but appropriate for a niche, character-driven MCP. Each tool serves a non-redundant function, and the count feels well-scoped for the intended playful Minion theme.
The surface covers text restyling, interactive chat, and web search, but the presence of a highly specific demo tool (minion_bun_hunt) and the absence of other Minion-related operations (e.g., lore queries or image generation) creates notable gaps for a general-purpose Minion assistant.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
MCP server for building and testing AI agents with multi-model experimentation and insights.
A Model Context Protocol server for Wix AI tools
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
Related MCP Servers
- FlicenseNot gradedqualityFmaintenanceThis server implements the Model Context Protocol to facilitate meaningful interaction and understanding development between humans and AI through structured tools and progressive interaction patterns.57-
- FlicenseNot gradedqualityDmaintenanceA versatile Model Context Protocol server that enables AI assistants to manage calendars, track tasks, handle emails, search the web, and control smart home devices.23-
- -licenseNot gradedqualityNot gradedmaintenanceA Model Context Protocol server that helps users create, validate, and optimize AI prompts using the RISEN framework (Role, Instructions, Steps, Expectations, Narrowing).-
- AlicenseBqualityCmaintenanceA Model Context Protocol server that enables AI assistants to communicate with each other using Inter-Process Communication, featuring natural language commands and cross-platform compatibility.9133MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/masonclewis/minion-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server