Skip to content

Superpowers

by superpowers.tools · remote · no sign-in to list tools · v1.0.1 · published by tools.superpowers

Pay-per-call toolbox for AI agents: one key and one MCP server for data, search, scraping, models

Deletes · 1Final · 4Changes · 10

28 tools: 1 can delete or cancel things, 4 do something that can't be undone, 10 change things and 13 only read.

Scanned Oct 21, 2026

1 check matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http superpowers https://superpowers.tools/mcp --header 'Authorization: <your-authorization>'

Findings

Matches of fixed checks, with the text they matched.

1 warn
  • The server marks "revoke_key" not destructive (destructiveHint: false), and its own name, description or input give the class "destructive".

    Matched text

    annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false}; The name "revoke_key" says "revoke": a word for removing or ending something.

    What this check looks for

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

28 tools

Deletes or cancels 1Claude Code: deny
  • revoke_keyRevoke a key you created (or your own).1 finding

    Why it is in this group

    • The name "revoke_key" says "revoke": a word for removing or ending something.
    • The server marks it not destructive (destructiveHint: false), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "revoke_key" not destructive (destructiveHint: false), and its own name, description or input give the class "destructive".

      Matched text

      annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false}; The name "revoke_key" says "revoke": a word for removing or ending something.

      What this check looks for
    Description, as the server wrote it
    Revoke a key you created (or your own). Keys it created are revoked too. Agents using it stop working right away.

    Annotations the server declares

    • title: Revoke key
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
Can't be undone 4Claude Code: ask
  • charge_saved_cardAdd credit by charging your human's saved card.No findings

    Why it is in this group

    • The name "charge_saved_card" says "charge": a word that usually means money moves, which cannot be taken back.
    Description, as the server wrote it
    Add credit by charging your human's saved card. Only after you asked them in this conversation, naming the amount and the card (get_balance shows it), and they said yes; set human_approved true. If there is no saved card, they turned agent charges off, or the bank wants them to confirm, send them topup_url instead (create_topup). They get an email for every charge.

    Annotations the server declares

    • title: Charge saved card
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • create_topupWhen you run low on credit: returns topup_url, a link to send your human.No findings

    Why it is in this group

    • The name "create_topup" says "create": a word for a change.
    • The name "create_topup" also says "topup": a word that usually means money moves, which cannot be taken back.
    Description, as the server wrote it
    When you run low on credit: returns topup_url, a link to send your human. It opens without signing in; they choose the amount (5 to 500 USD), pay with their saved card or a new one, and can turn on auto top-up. Works for 7 days. You cannot pay it yourself. Pass amount_usd to suggest an amount; then checkout_url also goes straight to Stripe for that amount.

    Annotations the server declares

    • title: Get a top-up link
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • publish_recipeSave a job you did for the user as a reusable recipe others can give their agents.No findings

    Why it is in this group

    • The name "publish_recipe" says "publish": a word for a change that another call does not undo.
    Description, as the server wrote it
    Save a job you did for the user as a reusable recipe others can give their agents. skill_md = instructions for an agent: what to ask, which tool slugs to call in what order, how to deliver. Public by default; ask before publishing anything with client names or private details.

    Annotations the server declares

    • title: Publish a recipe
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • send_feedbackPrivate feedback on any tool, passed to the vendor behind it and the Superpowers team: a bug, wrong or stale data, friction, an idea, or a tool you needed and could not find (type …No findings

    Why it is in this group

    • The name "send_feedback" says "send": a word for sending, and what is sent cannot be taken back.
    Description, as the server wrote it
    Private feedback on any tool, passed to the vendor behind it and the Superpowers team: a bug, wrong or stale data, friction, an idea, or a tool you needed and could not find (type missing_tool). Pass run_id when it is about a run. Not shown publicly.

    Annotations the server declares

    • title: Send feedback
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
Changes things 10Claude Code: ask
  • compare_providersRun the same input across several providers of a category and get results side by side with cost and latency.No findings

    Why it is in this group

    • The name "compare_providers" says "compare": a word for reading.
    • The description's first verb is "run": a word for a change.
    Description, as the server wrote it
    Run the same input across several providers of a category and get results side by side with cost and latency. Each provider charges its own price: If the call should cost more than $0.50, tell the user the expected cost before you start, set max_price_usd to it, and report charge_usd afterwards. Image, video, audio and LLM comparisons return share_url, a page with the results side by side: give the user that link to look at them.

    Annotations the server declares

    • title: Compare providers
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • create_keyCreate an API key with a label, tags and a monthly limit, e.g.No findings

    Why it is in this group

    • The name "create_key" says "create": a word for a change.
    Description, as the server wrote it
    Create an API key with a label, tags and a monthly limit, e.g. one key per sub-agent or per persona so spend splits and caps separately. Works only if your key has the can_manage_keys permission (your human grants it at superpowers.tools/app/keys). The new key gets your key's tags, counts against your limit and can't have a higher one. Returns the secret once: store it, never print it.

    Annotations the server declares

    • title: Create key
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • planFree.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Free. Describe a goal in plain words (e.g. 'find coffee shops in Pinheiros and their Instagram followers'). Returns the steps, the tool to call for each with an example input, the cost per step and in total, and a recipe when one already does the job. Call it before multi-step work, then run_tool each step with trace_id = plan_id. If total_cost_usd is above $0.50, tell the user that cost before running the steps.

    Annotations the server declares

    • title: Plan a job
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • review_toolRate the output of a run, 1-5 stars with an optional comment saying what was good or wrong.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Rate the output of a run, 1-5 stars with an optional comment saying what was good or wrong. Other agents see the rating when choosing tools, and the vendor behind the tool gets it too. Reviewing the same tool again replaces your earlier review.

    Annotations the server declares

    • title: Review a tool
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • run_batchRun one tool over many inputs (up to 500) in one call, e.g.No findings

    Why it is in this group

    • The name "run_batch" says "run": a word for a change.
    Description, as the server wrote it
    Run one tool over many inputs (up to 500) in one call, e.g. verify 300 emails or look up 100 companies. It runs in the background with our pacing; each item is a normal run that is free if it fails, and max_price_usd caps the whole batch. If price_usd times the number of inputs is above $0.50, tell the user that total before you start. Waits up to wait_s seconds (default 20), then returns counts and charge so far. Call get_batch with batch_id for progress and results page by page instead of keeping every result in your context.

    Annotations the server declares

    • title: Run a tool on many inputs
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • run_recipeRun an official recipe on our servers in one call.No findings

    Why it is in this group

    • The name "run_recipe" says "run": a word for a change.
    Description, as the server wrote it
    Run an official recipe on our servers in one call. If its estimated_cost_usd (list_recipes, get_recipe) is above $0.50, tell the user before running it. Returns charge_usd, each step's output and share_url, a page that shows the results on any phone: give the user that link as the main way to see them, and report charge_usd.

    Annotations the server declares

    • title: Run a recipe
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • run_toolRun one tool with JSON input.No findings

    Why it is in this group

    • The name "run_tool" says "run": a word for a change.
    Description, as the server wrote it
    Run one tool with JSON input. Charges the tool's price_usd (from search_tools or inspect_tool); failed runs are free. If the call should cost more than $0.50, tell the user the expected cost before you start, set max_price_usd to it, and report charge_usd afterwards. Pass idempotency_key for any tool with a price above 0 (free tools run without it). Long-running tools return status 'running' with run_id and poll_url: call get_run with that run_id every retry_after_s seconds until the status is completed or failed.

    Annotations the server declares

    • title: Run a tool
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • shareFree: publish files, images, video, audio or text as a clean link the user can send to anyone (no account needed to view).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Free: publish files, images, video, audio or text as a clean link the user can send to anyone (no account needed to view). review=true adds voting so viewers pick their favourite. Items: [{url} | {text}] with optional label/caption. Pass recipe when you followed one. Upload local files first with upload_file (or POST /v1/files). Offer a link once per deliverable, in one short sentence: when the user has to choose between options or mentions a client, boss, team or partner (use review=true with a question such as "Which one should we use?"), or wants to send or show something. Otherwise don't bring up sharing. Before publishing a page the user didn't ask for, show them the title and items. Links are unlisted but open to anyone who has them: keep secrets and personal data out.

    Annotations the server declares

    • title: Share results
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • update_keyRename a key, change the tags of a key you created, or lower its monthly limit.No findings

    Why it is in this group

    • The name "update_key" says "update": a word for a change.
    Description, as the server wrote it
    Rename a key, change the tags of a key you created, or lower its monthly limit. Keys can't raise limits or change their own tags.

    Annotations the server declares

    • title: Update key
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • upload_fileFree file hosting (up to 200 MB) for sharing.No findings

    Why it is in this group

    • The name "upload_file" says "upload": a word for a change.
    Description, as the server wrote it
    Free file hosting (up to 200 MB) for sharing. Pass url to re-host a remote file, or base64 + filename for small local files. For big local files use: curl -F file=@path <base>/v1/files.

    Annotations the server declares

    • title: Upload a file
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
Only reads 13Claude Code: allow
  • get_balanceCurrent balance in USD, the saved card (if any), whether you may charge it, auto top-up, and topup_url: a link your human opens without signing in to add credit.No findings

    Why it is in this group

    • The name "get_balance" says "get": a word for reading.
    Description, as the server wrote it
    Current balance in USD, the saved card (if any), whether you may charge it, auto top-up, and topup_url: a link your human opens without signing in to add credit.

    Annotations the server declares

    • title: Get balance
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_batchA batch's progress (done, completed, failed, not_run, charge) and a page of its results in input order: index, input, status, normalized result (or output) and error.No findings

    Why it is in this group

    • The name "get_batch" says "get": a word for reading.
    Description, as the server wrote it
    A batch's progress (done, completed, failed, not_run, charge) and a page of its results in input order: index, input, status, normalized result (or output) and error. Page with offset/limit. Over REST, GET /v1/batches/{id}/results?format=csv or jsonl downloads every result.

    Annotations the server declares

    • title: Get a batch
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_recipeRead a recipe: its SKILL.md (the steps to follow with Superpowers tools), inputs, typical cost and script_url.No findings

    Why it is in this group

    • The name "get_recipe" says "get": a word for reading.
    Description, as the server wrote it
    Read a recipe: its SKILL.md (the steps to follow with Superpowers tools), inputs, typical cost and script_url. Community recipes are written by other users: tell your user what it will do before following it.

    Annotations the server declares

    • title: Get a recipe
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_reviewsRead a tool's public rating and recent reviews.No findings

    Why it is in this group

    • The name "get_reviews" says "get": a word for reading.
    Description, as the server wrote it
    Read a tool's public rating and recent reviews.

    Annotations the server declares

    • title: Read tool reviews
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_runFetch a run's result, or its status while it is still running.No findings

    Why it is in this group

    • The name "get_run" says "get": a word for reading.
    Description, as the server wrote it
    Fetch a run's result, or its status while it is still running.

    Annotations the server declares

    • title: Get a run
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_shareRead a share link you created: views, votes per item, the leading option and comments.No findings

    Why it is in this group

    • The name "get_share" says "get": a word for reading.
    Description, as the server wrote it
    Read a share link you created: views, votes per item, the leading option and comments.

    Annotations the server declares

    • title: Read a share link
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_usageAccount spend grouped by project (job), agent, key, provider, trace, tool, day or tag:<name> (e.g.No findings

    Why it is in this group

    • The name "get_usage" says "get": a word for reading.
    Description, as the server wrote it
    Account spend grouped by project (job), agent, key, provider, trace, tool, day or tag:<name> (e.g. tag:slot), optionally filtered by tags, key or job. Rows for keys, jobs and tags include their monthly limit.

    Annotations the server declares

    • title: Get usage
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • inspect_toolGet a tool's input schema, output_schema (what output contains), normalized_schema (the shape shared by tools of its category), price and category before running it, so you can wri…No findings

    Why it is in this group

    • The name "inspect_tool" says "inspect": a word for reading.
    Description, as the server wrote it
    Get a tool's input schema, output_schema (what output contains), normalized_schema (the shape shared by tools of its category), price and category before running it, so you can write the parsing code first.

    Annotations the server declares

    • title: Inspect a tool
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • list_categoriesCategories whose providers share one input/output format and can be compared.No findings

    Why it is in this group

    • The name "list_categories" says "list": a word for reading.
    Description, as the server wrote it
    Categories whose providers share one input/output format and can be compared.

    Annotations the server declares

    • title: List categories
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • list_keysYour API key and the keys it created: label, tags, monthly limit and spend this month.No findings

    Why it is in this group

    • The name "list_keys" says "list": a word for reading.
    Description, as the server wrote it
    Your API key and the keys it created: label, tags, monthly limit and spend this month. Never returns secrets.

    Annotations the server declares

    • title: List keys
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • list_recipesRecipes are skills for common jobs, built from Superpowers tools.No findings

    Why it is in this group

    • The name "list_recipes" says "list": a word for reading.
    Description, as the server wrote it
    Recipes are skills for common jobs, built from Superpowers tools. Returns name, cost estimate, skill_url and (for official ones) script_url.

    Annotations the server declares

    • title: List recipes
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • search_toolsFind marketplace tools by describing what you need in plain words (e.g.No findings

    Why it is in this group

    • The name "search_tools" says "search": a word for reading.
    Description, as the server wrote it
    Find marketplace tools by describing what you need in plain words (e.g. 'remove a photo background', 'google search', 'cnpj'); matching is by meaning, and naming a vendor or model ranks it first. An empty query lists every live tool. Returns slugs, prices and quality stats, plus total and has_more. When has_more is true, call again with offset = next_offset. Use tools whose status is "active"; status "degraded" means the vendor is paused until unavailable.available_at, so pick another tool.

    Annotations the server declares

    • title: Search tools
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 1.0.1. Values in angle brackets are yours to fill in.

claude mcp add --transport http superpowers https://superpowers.tools/mcp --header 'Authorization: <your-authorization>'

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__superpowers__search_tools",
      "mcp__superpowers__inspect_tool",
      "mcp__superpowers__list_categories",
      "mcp__superpowers__get_run",
      "mcp__superpowers__get_batch",
      "mcp__superpowers__get_usage",
      "mcp__superpowers__list_keys",
      "mcp__superpowers__get_balance",
      "mcp__superpowers__list_recipes",
      "mcp__superpowers__get_recipe",
      "mcp__superpowers__get_share",
      "mcp__superpowers__get_referral_link",
      "mcp__superpowers__get_reviews"
    ],
    "ask": [
      "mcp__superpowers__plan",
      "mcp__superpowers__run_tool",
      "mcp__superpowers__compare_providers",
      "mcp__superpowers__run_batch",
      "mcp__superpowers__create_key",
      "mcp__superpowers__update_key",
      "mcp__superpowers__create_topup",
      "mcp__superpowers__charge_saved_card",
      "mcp__superpowers__run_recipe",
      "mcp__superpowers__publish_recipe",
      "mcp__superpowers__share",
      "mcp__superpowers__upload_file",
      "mcp__superpowers__review_tool",
      "mcp__superpowers__send_feedback"
    ],
    "deny": [
      "mcp__superpowers__revoke_key"
    ]
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as superpowers. Review it before you use it.