Skip to content

ProfitDrawer

com.profitdrawer/profitdrawerprofitdrawer.comstreamable-httpv1.0.0Scanned

Read-only small business Q&A, product prices, IRS datasets and calculators from ProfitDrawer.

10 tools: 4 change things and 6 only read.

Tools: 0 delete, 0 irreversible, 4 write, 6 read.
  • Reads private data · 1
  • Reads text others write · 4
  • Can send data out · 0
  • 2 findings

Anlyon alternative

4 of these tools change something. Run those as governed actions.

Declare what an action changes, and Anlyon puts it under a shared limit, binds every approval to the exact request, and grades the outcome. It works on any HTTPS API you can describe as an action.

Anlyon does not run, proxy or govern this MCP server. A tool your own code calls directly is not routed through Anlyon and is not governed by it.

Import an OpenAPI spec →

Tools

Grouped by what each tool does, most consequential first. Open one for its reasons and full description; descriptions are the publisher's own words.

10 tools

Changes things 4Claude Code: ask
  • calculate_loan_payoffWorks out how many months a loan takes to pay off and the total interest, month by month (one month of interest = APR / 12 is added, then the payment is taken off), and what an opt…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
    Works out how many months a loan takes to pay off and the total interest, month by month (one month of interest = APR / 12 is added, then the payment is taken off), and what an optional extra monthly payment saves in interest and time. Same method as https://profitdrawer.com/tools/loan-payoff-calculator.html. A close estimate; lenders can differ slightly.

    Annotations the server declares

    • title: Calculate loan payoff
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • calculate_price_per_jobWorks out a price for one service job: cost = hours x hourly pay + materials + travel + monthly overhead / jobs per month; price = cost / (1 - profit margin).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
    Works out a price for one service job: cost = hours x hourly pay + materials + travel + monthly overhead / jobs per month; price = cost / (1 - profit margin). Also returns profit per job, monthly revenue and break-even jobs per month. Same formula as https://profitdrawer.com/tools/price-per-job-calculator.html. Margins above 95% are treated as 95%.

    Annotations the server declares

    • title: Calculate price per job
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • calculate_tax_set_asideEstimates how much of a self-employed profit to set aside for taxes: set-aside = profit x chosen percent, and the US self-employment tax part = profit x 92.35% x 15.3% (12.4% Socia…1 finding

    Why it is in this group

    • The name "calculate_tax_set_aside" says "set": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "calculate_tax_set_aside" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "calculate_tax_set_aside" says "set": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Estimates how much of a self-employed profit to set aside for taxes: set-aside = profit x chosen percent, and the US self-employment tax part = profit x 92.35% x 15.3% (12.4% Social Security + 2.9% Medicare), per month, quarter or year. Same formula as https://profitdrawer.com/tools/self-employed-tax-calculator.html. An estimate, not tax advice.

    Annotations the server declares

    • title: Calculate self-employed tax set-aside
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • estimate_startup_costsAdds up one-time startup costs and monthly costs and works out cash left and months of runway (cash left divided by monthly costs, rounded down to 0.1, assuming no sales).1 finding

    Why it is in this group

    • The description's first verb is "add": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "estimate_startup_costs" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The description's first verb is "add": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Adds up one-time startup costs and monthly costs and works out cash left and months of runway (cash left divided by monthly costs, rounded down to 0.1, assuming no sales). Same formula as https://profitdrawer.com/tools/startup-cost-calculator.html. Optional preset with example amounts: Cleaning, Lawn care, Vending machine, Food truck, Any business; cost lists you pass replace the preset lines. Preset amounts are rough examples, not quotes.

    Annotations the server declares

    • title: Estimate startup costs
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
Only reads 6Show 6 read-only tools
  • get_answerReturns one answer published by ProfitDrawer by id: question, short answer, full detail, source with label, published and updated dates, answer page URL, Markdown URL, related ques…Reads text others writeNo findings

    Why it is in this group

    • The name "get_answer" says "get": a word for reading.

    What it can reach

    • untrusted-inputThe description's first sentence says "return" and "url": it reads web pages, which anyone can write.
    Description, as the server wrote it
    Returns one answer published by ProfitDrawer by id: question, short answer, full detail, source with label, published and updated dates, answer page URL, Markdown URL, related questions, and the products and calculators the answer mentions. Ids come from search_profitdrawer.

    Annotations the server declares

    • title: Get a ProfitDrawer answer
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_company_infoReturns public facts about ProfitDrawer: description, website, founding year with its source, area served, currency, support channels, social profiles and other facts, each with a …Reads text others writeNo findings

    Why it is in this group

    • The name "get_company_info" says "get": a word for reading.

    What it can reach

    • untrusted-inputThe description's first sentence says "return" and "website": it reads web pages, which anyone can write.
    Description, as the server wrote it
    Returns public facts about ProfitDrawer: description, website, founding year with its source, area served, currency, support channels, social profiles and other facts, each with a source. Includes the About page URL.

    Annotations the server declares

    • title: Get ProfitDrawer company facts
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • list_categoriesLists the categories of ProfitDrawer's published answers with description, number of answers and category page URL.Reads text others writeNo findings

    Why it is in this group

    • The name "list_categories" says "list": a word for reading.

    What it can reach

    • untrusted-inputThe description's first sentence says "list" and "url": it reads web pages, which anyone can write.
    Description, as the server wrote it
    Lists the categories of ProfitDrawer's published answers with description, number of answers and category page URL.

    Annotations the server declares

    • title: List answer categories
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • list_productsLists ProfitDrawer products (spreadsheets, printables, templates, planners and printed goods) with name, price in USD, file formats, availability, product page URL and Etsy listing…Reads private dataReads text others writeNo findings

    Why it is in this group

    • The name "list_products" says "list": a word for reading.

    What it can reach

    • private-dataThe description's first sentence says "list" and "file": it reads files.
    • untrusted-inputThe description's first sentence says "list" and "url": it reads web pages, which anyone can write.
    Description, as the server wrote it
    Lists ProfitDrawer products (spreadsheets, printables, templates, planners and printed goods) with name, price in USD, file formats, availability, product page URL and Etsy listing URL. Optional filters: words to match, collection, maximum price and file format.

    Annotations the server declares

    • title: List ProfitDrawer products
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • query_datasetReturns rows from the datasets published by ProfitDrawer: irs-small-business-tax-deadlines-2027 (IRS small business tax deadlines 2027); irs-standard-mileage-rates (IRS standard mi…No findings

    Why it is in this group

    • The name "query_dataset" says "query": a word for reading.
    Description, as the server wrote it
    Returns rows from the datasets published by ProfitDrawer: irs-small-business-tax-deadlines-2027 (IRS small business tax deadlines 2027); irs-standard-mileage-rates (IRS standard mileage rates for business use, 2020 to 2026). Each row includes its IRS source URL and the date it was checked. Optional: filter by column values. Includes the dataset page URL and license.

    Annotations the server declares

    • title: Query a ProfitDrawer dataset
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • search_profitdrawerSearches the questions and answers published by ProfitDrawer on small business bookkeeping, taxes, pricing and money.No findings

    Why it is in this group

    • The name "search_profitdrawer" says "search": a word for reading.
    Description, as the server wrote it
    Searches the questions and answers published by ProfitDrawer on small business bookkeeping, taxes, pricing and money. Categories: Bookkeeping basics; Small business taxes; Start a business; Pricing and profit; Personal budgeting; Google Sheets and Excel how-tos; About ProfitDrawer files. Returns up to 10 matching answers, each with id, question, short answer, category, last-updated date and the URL of the answer page. Use get_answer with an id for the full text and source.

    Annotations the server declares

    • title: Search ProfitDrawer answers
    • 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.

Exfil surface

Which tools read private data, which read text someone else can write, and which can send data out. One of each is a path a prompt injection can use.

No private-data, untrusted-input, outbound path in this server alone: no tool is tagged outbound.

Reads private data1
Reads files, mail, messages, databases, secrets, calendars or repositories.
Reads text others write4
Brings in text someone else can write: web pages, inbound email, messages, issues and comments.
Can send data out0
Can carry data to people or systems: it sends, posts or publishes, or takes a recipient, channel or URL.

Other servers in the same agent add their own tools to these paths. Audit your whole setup to see them together.

Findings

Matches of fixed checks, with the text they matched.

2 warn
  • The server marks "estimate_startup_costs" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The description's first verb is "add": a word for a change.

    What this check looks for
  • The server marks "calculate_tax_set_aside" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "calculate_tax_set_aside" says "set": a word for a change.

    What this check looks for

History

Changes to its tool definitions and to its remote endpoint, newest first.

No change seen yet. Its tools are rescanned every day, and a remote endpoint is looked at once a week.

Install

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

claude mcp add --transport http profitdrawer https://profitdrawer.com/mcp
claude mcp add --transport http profitdrawer https://profitdrawer.com/mcp

Run in a terminal.

Claude Code permissions

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

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__profitdrawer__search_profitdrawer",
      "mcp__profitdrawer__get_answer",
      "mcp__profitdrawer__list_categories",
      "mcp__profitdrawer__get_company_info",
      "mcp__profitdrawer__list_products",
      "mcp__profitdrawer__query_dataset"
    ],
    "ask": [
      "mcp__profitdrawer__estimate_startup_costs",
      "mcp__profitdrawer__calculate_price_per_job",
      "mcp__profitdrawer__calculate_loan_payoff",
      "mcp__profitdrawer__calculate_tax_set_aside"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. A read that can send data out (it takes a URL, say) asks first too. It assumes the server is installed as profitdrawer. Review it before you use it.

Capability tags behind 4 rules
  • mcp__profitdrawer__get_answer untrusted-input
  • mcp__profitdrawer__list_categories untrusted-input
  • mcp__profitdrawer__get_company_info untrusted-input
  • mcp__profitdrawer__list_products private-data, untrusted-input

Pin

Keep the decision: fail CI when the tools change, follow every change, or show a badge.

Pin in CI

Fail a build when the tools you reviewed are not the tools the server serves today.

curl -s "https://anlyon.dev/api/v1/servers/com.profitdrawer/profitdrawer/verify?hash=26951c428ba19a1298acdd9006c67467209e740c70eb58aadcb3694c9556d95a" | jq -e '.changed == false'

Pinned hash 26951c428ba1, from Oct 29, 2026, 19:18 UTC.

Watch

Get told when its tools change: a new tool, a new description, a new class.

https://anlyon.dev/servers/com.profitdrawer/profitdrawer/changes.xml

An Atom feed. Works in any feed reader or Slack's RSS app.

Badge

anlyon.dev badge for com.profitdrawer/profitdrawer
[![anlyon.dev](https://anlyon.dev/badge/com.profitdrawer/profitdrawer.svg)](https://anlyon.dev/servers/com.profitdrawer/profitdrawer)

Source: MCP Registry. Synced Oct 29, 2026, 19:17 UTC.