Skip to main content
Glama

Minion MCP

Your coding agent says done. Minion brings brutal receipts, Evil Boss.

Model Context Protocol Node.js License: MIT

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_roleplay for 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 minion

Restart 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-mcp

The 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 minion

Cursor 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 --live

On Linux hosts that need browser system packages:

npx -y playwright@1.61.1 install --with-deps chromium

Related 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-mcp

For 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-mcp

Playwright 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 citations

Search 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:buns

The app-verifier demo intentionally serves a broken mini-app, then proves that Minion finds the failures:

npm run demo

Record the bun hunt with VHS:

vhs demo/x-demo.tape

For 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:buns

Useful commands:

npm run typecheck
npm test
npm run smoke:mcp
npm run smoke:mcp -- --live
npm pack --dry-run

To 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 tools
minion_bun_huntFind the Juiciest BunsA
Read-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.

ParametersJSON Schema
NameRequiredDescriptionDefault
countryNoTwo-letter country code used to localize discovery.US
requestNoA food-bun shopping request. The gold demo works with the default.Find the Juiciest Buns on the internet
providerNoDiscovery backend. Auto uses Brave or SearXNG when configured; otherwise it uses the labeled starter catalog.auto
destinationNoOptional destination to include in discovery, such as California. Shipping is only scored when page evidence supports it.
safe_searchNoSearch-engine content filtering.strict
max_candidatesNoMaximum number of evidence-ranked bun candidates.

Output Schema

ParametersJSON Schema
NameRequiredDescription
queryYes
statusYes
requestYes
providerYes
rejectedYes
candidatesYes
searched_atYes
plain_englishYes
scoring_modelYes
minion_verdictYes
discovery_warningNo
snapshot_productsYes
catalog_updated_atNo
inspected_productsYes
inspection_warningNo
catalog_stale_afterNo
inspection_outcomesYes

TDQS

A4.1/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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 ReceiptsA
Read-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.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlsNoOptional source URLs to verify directly. When supplied, no search provider is required.
countryNoTwo-letter discovery country code.US
requestYesThe decision, comparison, claim, or topic to research with opened-source evidence.
categoryNoSearch intent used for discovery.auto
providerNoDiscovery backend used when direct URLs are not supplied.auto
max_sourcesNoMaximum source pages to open and inspect.
safe_searchNoSearch-engine content filtering.strict

Output Schema

ParametersJSON Schema
NameRequiredDescription
queryYes
answerYes
statusYes
requestYes
sourcesYes
providerYes
citationsYes
diagnosticsYes
minion_lineYes
searched_atYes
failed_sourcesYes
verified_sourcesYes

TDQS

A4.2/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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 MinionA
Read-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.

ParametersJSON Schema
NameRequiredDescriptionDefault
moodNoThe helper's emotional color.cheerful
messageYesThe message for the Minion-style helper.
intensityNoMinionness level from 1 (subtle) to 3 (full banana chatter).
include_translationNoOptionally include a plain-English translation after the Minionspeak roleplay.

Output Schema

ParametersJSON Schema
NameRequiredDescription
moodYes
replyYes
intentYes
translationNo
deterministic_keyYes

TDQS

A4.1/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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 TribunalA
Read-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.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesAbsolute URL of a running web app, usually localhost during development.
viewportsNoStable desktop and/or mobile browser sweeps.
boss_titleNoSupervillain title Minion uses while brutally judging the app.Evil Boss
max_routesNoMaximum same-origin routes to crawl.
timeout_msNoNavigation timeout per page and viewport.
screenshotsNoSave screenshots for failures, every check, or none.failures
include_pathsNoImportant routes to force into the audit, such as /pricing and /checkout.

Output Schema

ParametersJSON Schema
NameRequiredDescription
scoreYes
run_idYes
targetYes
failureNo
verdictYes
warningsYes
artifactsYes
started_atYes
duration_msYes
minion_lineYes
next_actionsYes
route_checksYes
plain_englishYes
routes_testedYes
checks_performedYes
blocking_findingsYes

TDQS

A4.3/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

  1. 7 tool updatesv2.1.1
    • Changedminion_bun_hunt9 fields changed
      • addedOutput schema / properties / candidates / items / properties / product / properties / verification
        Added value: +{
        +  "enum": [
        +    "live_page",
        +    "dated_snapshot"
        +  ],
        +  "type": "string"
        +}
      • addedOutput schema / properties / candidates / items / properties / product / properties / verifiedAt
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / catalog_stale_after
        Added value: +{
        +  "const": "2026-08-19",
        +  "type": "string"
        +}
      • changedOutput schema / properties / catalog_updated_at / const
        Previous value: -"2026-07-23"New value: +"2026-08-12"
      • addedOutput schema / properties / inspection_outcomes
        Added 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"
        +}
      • changedOutput schema / properties / rejected / items / properties / reason / enum
        Previous 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"
        +]
      • addedOutput schema / properties / snapshot_products
        Added value: +{
        +  "maximum": 9007199254740991,
        +  "minimum": -9007199254740991,
        +  "type": "integer"
        +}
      • addedOutput schema / properties / status
        Added value: +{
        +  "enum": [
        +    "verified_live",
        +    "verified_snapshot",
        +    "no_verified_candidates"
        +  ],
        +  "type": "string"
        +}
      • changedOutput schema / required
        Previous 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"
        +]
    • Removedminion_chat
    • Addedminion_research
    • Addedminion_roleplay
    • Addedminion_verify_app
    • Removedminion_web_search
    • Removedminionify
  2. 4 tool updatesv1.2.0
    • First observedminion_bun_hunt
    • First observedminion_chat
    • First observedminion_web_search
    • First observedminionify

TDQS

A3.9/5.0
Disambiguation5/5

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.

Naming Consistency2/5

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.

Tool Count4/5

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.

Completeness3/5

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

ActivityMaintained
ResponsivenessNo issues

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

Related MCP Servers

Latest Blog Posts

MCP directory API

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

curl -X GET 'https://glama.ai/api/mcp/v1/servers/masonclewis/minion-mcp'

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