ProfitDrawer MCP
A read-only MCP server that allows AI assistants to search ProfitDrawer's knowledge base, retrieve product prices, access IRS datasets, and run financial calculators for small business owners without requiring authentication.
Endpoint and access
No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.
https://profitdrawer.com/mcpWhat its tools do
10 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.
Checks and signals
Each line is separate evidence, not a trust score.
- Passed Endpoint answered the live check ·
- Passed Official MCP Registry namespace is tied to profitdrawer.com ·
- Passed Endpoint is on the registry namespace domain ·
- Availability 1 of 1 checks passed in 30 days
What you can do with it
- Search small business bookkeeping and tax Q&A
- List products and check prices in USD
- Query IRS small business tax deadline datasets
- Calculate startup costs, job pricing, and tax set-asides
Source and maintenance
Protocol and capabilities
- Server
- com.profitdrawer/profitdrawer 1.0.0
- MCP protocol negotiated in check
- 2025-06-18
- Tools
- 10 advertised
- Resources
- 3 advertised
- Resource templates
- 0 advertised
- Prompts
- 2 advertised
{
"tools": {},
"prompts": {},
"resources": {}
}Server-provided instructions
Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.
Tools
10 advertised
search_profitdrawer — Search ProfitDrawer answers
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.
{
"type": "object",
"required": [
"query"
],
"properties": {
"limit": {
"type": "integer",
"default": 5,
"maximum": 10,
"minimum": 1,
"description": "Maximum number of answers (1-10). Default 5."
},
"query": {
"type": "string",
"maxLength": 500,
"minLength": 1,
"description": "Search words or a question."
}
},
"additionalProperties": false
}{
"type": "object",
"required": [
"query",
"total_matches",
"results",
"citations"
],
"properties": {
"hint": {
"type": "string"
},
"query": {
"type": "string"
},
"results": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"question",
"answer",
"url",
"category",
"updated"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string"
},
"answer": {
"type": "string"
},
"md_url": {
"type": "string"
},
"updated": {
"type": "string"
},
"category": {
"type": "string"
},
"question": {
"type": "string"
},
"category_name": {
"type": "string"
}
}
}
},
"citations": {
"type": "array",
"items": {
"type": "string"
}
},
"sample_notice": {
"type": "string"
},
"total_matches": {
"type": "integer"
}
}
}{
"title": "Search ProfitDrawer answers",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_answer — Get a ProfitDrawer answer
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.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "integer",
"minimum": 1,
"description": "Answer id, as returned by search_profitdrawer."
}
},
"additionalProperties": false
}{
"type": "object",
"required": [
"id",
"question",
"answer",
"detail",
"source",
"updated",
"url",
"related",
"citations"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string"
},
"tools": {
"type": "array",
"items": {
"type": "object",
"required": [
"slug",
"name",
"url"
],
"properties": {
"url": {
"type": "string"
},
"name": {
"type": "string"
},
"slug": {
"type": "string"
}
}
}
},
"answer": {
"type": "string"
},
"detail": {
"type": "string"
},
"md_url": {
"type": "string"
},
"source": {
"type": "string"
},
"related": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"question",
"url"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string"
},
"question": {
"type": "string"
}
}
}
},
"updated": {
"type": "string"
},
"category": {
"type": "string"
},
"products": {
"type": "array",
"items": {
"type": "object",
"required": [
"slug",
"name",
"url"
],
"properties": {
"url": {
"type": "string"
},
"name": {
"type": "string"
},
"slug": {
"type": "string"
},
"price": {
"type": [
"number",
"null"
]
}
}
}
},
"question": {
"type": "string"
},
"citations": {
"type": "array",
"items": {
"type": "string"
}
},
"published": {
"type": "string"
},
"source_label": {
"type": "string"
},
"category_name": {
"type": "string"
},
"sample_notice": {
"type": "string"
}
}
}{
"title": "Get a ProfitDrawer answer",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}list_categories — List answer categories
Lists the categories of ProfitDrawer's published answers with description, number of answers and category page URL.
{
"type": "object",
"properties": {},
"additionalProperties": false
}{
"type": "object",
"required": [
"categories",
"total_answers",
"citations"
],
"properties": {
"citations": {
"type": "array",
"items": {
"type": "string"
}
},
"categories": {
"type": "array",
"items": {
"type": "object",
"required": [
"slug",
"name",
"count",
"url"
],
"properties": {
"url": {
"type": "string"
},
"name": {
"type": "string"
},
"slug": {
"type": "string"
},
"count": {
"type": "integer"
},
"description": {
"type": "string"
}
}
}
},
"answers_page": {
"type": "string"
},
"sample_notice": {
"type": "string"
},
"total_answers": {
"type": "integer"
}
}
}{
"title": "List answer categories",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_company_info — Get ProfitDrawer company facts
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.
{
"type": "object",
"properties": {},
"additionalProperties": false
}{
"type": "object",
"required": [
"company",
"url",
"citations"
],
"properties": {
"url": {
"type": "string"
},
"company": {
"type": "object"
},
"website": {
"type": "string"
},
"citations": {
"type": "array",
"items": {
"type": "string"
}
},
"sample_notice": {
"type": "string"
}
}
}{
"title": "Get ProfitDrawer company facts",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}list_products — List ProfitDrawer products
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.
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"default": 25,
"maximum": 100,
"minimum": 1,
"description": "Maximum number of products (1-100). Default 25."
},
"query": {
"type": "string",
"maxLength": 200,
"description": "Words to match in the product name, type or collection, for example \"cleaning bookkeeping\"."
},
"format": {
"type": "string",
"maxLength": 60,
"description": "File format to match, for example \"Google Sheets\", \"Excel\", \"PDF\", \"PowerPoint\". Matched as text, case-insensitive."
},
"max_price": {
"type": "number",
"minimum": 0,
"description": "Only products at or below this price in USD."
},
"collection": {
"enum": [
"money",
"business-templates",
"planners",
"kids",
"bookkeeping-spreadsheets",
"printed"
],
"type": "string",
"description": "Collection: money = Money & Budget; business-templates = Business Templates & Kits; planners = Planners; kids = Kids & Family; bookkeeping-spreadsheets = Bookkeeping Spreadsheets; printed = Printed Goods."
}
},
"additionalProperties": false
}{
"type": "object",
"required": [
"products",
"total_matches",
"citations"
],
"properties": {
"filters": {
"type": "object"
},
"products": {
"type": "array",
"items": {
"type": "object",
"required": [
"slug",
"name",
"price",
"formats",
"url",
"etsy_url"
],
"properties": {
"url": {
"type": "string"
},
"name": {
"type": "string"
},
"slug": {
"type": "string"
},
"type": {
"type": "string"
},
"price": {
"type": [
"number",
"null"
]
},
"formats": {
"type": "array",
"items": {
"type": "string"
}
},
"currency": {
"type": [
"string",
"null"
]
},
"etsy_url": {
"type": [
"string",
"null"
]
},
"available": {
"type": "boolean"
},
"collection": {
"type": "string"
}
}
}
},
"citations": {
"type": "array",
"items": {
"type": "string"
}
},
"collections": {
"type": "array",
"items": {
"type": "object",
"required": [
"slug",
"name"
],
"properties": {
"name": {
"type": "string"
},
"slug": {
"type": "string"
}
}
}
},
"products_page": {
"type": "string"
},
"sample_notice": {
"type": "string"
},
"total_matches": {
"type": "integer"
}
}
}{
"title": "List ProfitDrawer products",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}query_dataset — Query a ProfitDrawer dataset
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.
{
"type": "object",
"required": [
"slug"
],
"properties": {
"slug": {
"enum": [
"irs-small-business-tax-deadlines-2027",
"irs-standard-mileage-rates"
],
"type": "string",
"description": "Dataset slug."
},
"limit": {
"type": "integer",
"default": 100,
"maximum": 200,
"minimum": 1,
"description": "Maximum number of rows (1-200). Default 100."
},
"filters": {
"type": "object",
"description": "Column key to value. Text matches case-insensitively as a substring; numbers match exactly. Example: {\"year\": 2025}.",
"additionalProperties": {
"type": [
"string",
"number"
]
}
}
},
"additionalProperties": false
}{
"type": "object",
"required": [
"dataset",
"rows",
"total_rows",
"returned",
"citations"
],
"properties": {
"rows": {
"type": "array",
"items": {
"type": "object"
}
},
"dataset": {
"type": "object",
"required": [
"slug",
"title",
"url"
],
"properties": {
"url": {
"type": "string"
},
"slug": {
"type": "string"
},
"title": {
"type": "string"
},
"columns": {
"type": "array",
"items": {
"type": "object"
}
},
"csv_url": {
"type": "string"
},
"license": {
"type": "string"
},
"updated": {
"type": "string"
},
"json_url": {
"type": "string"
},
"description": {
"type": "string"
}
}
},
"returned": {
"type": "integer"
},
"citations": {
"type": "array",
"items": {
"type": "string"
}
},
"total_rows": {
"type": "integer"
},
"sample_notice": {
"type": "string"
}
}
}{
"title": "Query a ProfitDrawer dataset",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}estimate_startup_costs — Estimate startup costs
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.
{
"type": "object",
"properties": {
"preset": {
"enum": [
"Cleaning",
"Lawn care",
"Vending machine",
"Food truck",
"Any business"
],
"type": "string",
"description": "Example cost lines from the website calculator."
},
"monthly_costs": {
"type": "array",
"items": {
"type": "object",
"required": [
"amount"
],
"properties": {
"label": {
"type": "string",
"maxLength": 60
},
"amount": {
"type": "number",
"minimum": 0,
"description": "USD"
}
}
},
"maxItems": 100,
"description": "Monthly costs [{label, amount}] in USD. Replaces the preset monthly lines."
},
"starting_cash": {
"type": "number",
"minimum": 0,
"description": "Starting cash in USD. Default 0."
},
"one_time_costs": {
"type": "array",
"items": {
"type": "object",
"required": [
"amount"
],
"properties": {
"label": {
"type": "string",
"maxLength": 60
},
"amount": {
"type": "number",
"minimum": 0,
"description": "USD"
}
}
},
"maxItems": 100,
"description": "One-time costs [{label, amount}] in USD. Replaces the preset one-time lines."
}
},
"additionalProperties": false
}{
"type": "object",
"required": [
"one_time_total",
"monthly_total",
"cash_left",
"runway_months",
"runway",
"url",
"citations"
],
"properties": {
"url": {
"type": "string"
},
"notes": {
"type": "array",
"items": {
"type": "string"
}
},
"preset": {
"type": [
"string",
"null"
]
},
"runway": {
"type": "string"
},
"display": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"short_by": {
"type": [
"number",
"null"
]
},
"cash_left": {
"type": "number"
},
"citations": {
"type": "array",
"items": {
"type": "string"
}
},
"monthly_costs": {
"type": "array",
"items": {
"type": "object"
}
},
"monthly_total": {
"type": "number"
},
"runway_months": {
"type": [
"number",
"null"
]
},
"sample_notice": {
"type": "string"
},
"starting_cash": {
"type": "number"
},
"one_time_costs": {
"type": "array",
"items": {
"type": "object"
}
},
"one_time_total": {
"type": "number"
}
}
}{
"title": "Estimate startup costs",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}calculate_price_per_job — Calculate price per job
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%.
{
"type": "object",
"required": [
"hours",
"hourly_rate",
"profit_margin_percent"
],
"properties": {
"hours": {
"type": "number",
"minimum": 0,
"description": "Hours one job takes."
},
"travel": {
"type": "number",
"minimum": 0,
"description": "Travel cost per job in USD. Default 0."
},
"materials": {
"type": "number",
"minimum": 0,
"description": "Materials per job in USD. Default 0."
},
"hourly_rate": {
"type": "number",
"minimum": 0,
"description": "Your pay per hour in USD."
},
"jobs_per_month": {
"type": "number",
"minimum": 0,
"description": "Jobs expected per month; the overhead is shared across them. Default 0."
},
"monthly_overhead": {
"type": "number",
"minimum": 0,
"description": "Monthly overhead (insurance, phone, software, ...) in USD. Default 0."
},
"profit_margin_percent": {
"type": "number",
"minimum": 0,
"description": "Profit margin as a percent of the price, for example 20."
}
},
"additionalProperties": false
}{
"type": "object",
"required": [
"price",
"cost",
"profit",
"breakeven_jobs",
"breakeven",
"url",
"citations"
],
"properties": {
"url": {
"type": "string"
},
"cost": {
"type": "number"
},
"labor": {
"type": "number"
},
"price": {
"type": "number"
},
"inputs": {
"type": "object"
},
"profit": {
"type": "number"
},
"display": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"warning": {
"type": "string"
},
"breakeven": {
"type": "string"
},
"citations": {
"type": "array",
"items": {
"type": "string"
}
},
"sample_notice": {
"type": "string"
},
"breakeven_jobs": {
"type": [
"integer",
"null"
]
},
"overhead_share": {
"type": "number"
},
"monthly_revenue": {
"type": "number"
}
}
}{
"title": "Calculate price per job",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}calculate_loan_payoff — Calculate loan payoff
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.
{
"type": "object",
"required": [
"balance",
"apr_percent",
"monthly_payment"
],
"properties": {
"balance": {
"type": "number",
"minimum": 0,
"description": "Loan balance in USD."
},
"apr_percent": {
"type": "number",
"minimum": 0,
"description": "Annual interest rate (APR) in percent, for example 6."
},
"extra_payment": {
"type": "number",
"minimum": 0,
"description": "Optional extra payment each month in USD."
},
"monthly_payment": {
"type": "number",
"minimum": 0,
"description": "Monthly payment in USD."
}
},
"additionalProperties": false
}{
"type": "object",
"required": [
"current",
"with_extra",
"saved",
"url",
"citations"
],
"properties": {
"url": {
"type": "string"
},
"note": {
"type": "string"
},
"saved": {
"type": [
"object",
"null"
]
},
"inputs": {
"type": "object"
},
"current": {
"type": "object"
},
"display": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"warnings": {
"type": "array",
"items": {
"type": "string"
}
},
"citations": {
"type": "array",
"items": {
"type": "string"
}
},
"with_extra": {
"type": [
"object",
"null"
]
},
"sample_notice": {
"type": "string"
},
"one_month_interest": {
"type": "number"
}
}
}{
"title": "Calculate loan payoff",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}calculate_tax_set_aside — Calculate self-employed tax set-aside
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.
{
"type": "object",
"required": [
"profit",
"set_aside_percent"
],
"properties": {
"period": {
"enum": [
"month",
"quarter",
"year"
],
"type": "string",
"default": "month",
"description": "The period the profit is for. Default month."
},
"profit": {
"type": "number",
"minimum": 0,
"description": "Profit (income minus business expenses) for one period, in USD."
},
"set_aside_percent": {
"type": "number",
"minimum": 0,
"description": "Share of the profit to set aside, in percent, for example 30."
}
},
"additionalProperties": false
}{
"type": "object",
"required": [
"set_aside",
"self_employment_tax",
"left_for_income_tax",
"notes",
"url",
"citations"
],
"properties": {
"url": {
"type": "string"
},
"notes": {
"type": "array",
"items": {
"type": "string"
}
},
"inputs": {
"type": "object"
},
"display": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"sources": {
"type": "array",
"items": {
"type": "string"
}
},
"citations": {
"type": "array",
"items": {
"type": "string"
}
},
"set_aside": {
"type": "number"
},
"shortfall": {
"type": [
"number",
"null"
]
},
"sample_notice": {
"type": "string"
},
"set_aside_per_year": {
"type": "number"
},
"left_for_income_tax": {
"type": "number"
},
"self_employment_tax": {
"type": "number"
},
"self_employment_tax_per_year": {
"type": "number"
}
}
}{
"title": "Calculate self-employed tax set-aside",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}Prompts
2 advertised
pick_bookkeeping_spreadsheet — Pick a bookkeeping spreadsheet
Looks up ProfitDrawer bookkeeping spreadsheets for a trade, with price, file formats and product page URL.
- trade
- The trade or kind of business, for example cleaning or lawn care. (required)
plan_business_startup — Plan a business startup
Works through startup costs, runway and job pricing for a new small business with the calculators.
- trade
- The kind of business, for example food truck. (required)
- starting_cash
- Cash available to start, in USD. (required)
Resources
3 advertised
company.json — ProfitDrawer company facts
Public facts about ProfitDrawer with sources, as JSON. The website publishes the same facts at https://profitdrawer.com/data/company.json.
kb://profitdrawer/company.json{
"audience": [
"user",
"assistant"
],
"priority": 0.5,
"lastModified": "2026-10-30T00:00:00Z"
}answers.json — ProfitDrawer questions and answers
All published questions and answers with ids, sources, page URLs and dates, as JSON. The website publishes them at https://profitdrawer.com/data/answers.json.
kb://profitdrawer/answers.json{
"audience": [
"user",
"assistant"
],
"priority": 0.5,
"lastModified": "2026-10-30T00:00:00Z"
}llms-full.txt — ProfitDrawer full text
Company facts, all questions and answers, products, datasets and calculator links as plain text. The website copy is https://profitdrawer.com/llms-full.txt.
kb://profitdrawer/llms-full.txt{
"audience": [
"user",
"assistant"
],
"priority": 0.5,
"lastModified": "2026-10-30T00:00:00Z"
}90-day uptime
A lightweight connection check about every six hours, sampled on hosts with many listings. It shows the server answered, not that its tools work.
- 2026-11-02: 3 of 3 checks answered
30-day availability
Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.
- Successful checks
- 1 of 1 (100%)
- Average latency
- 436 ms
- 95th percentile latency
- 436 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 436 ms · metadata changed · 10 tool(s), 3 resource(s), 0 resource template(s), 2 prompt(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http profitdrawer-mcp https://profitdrawer.com/mcpCodex
codex mcp add profitdrawer-mcp --url https://profitdrawer.com/mcpCursor
{
"mcpServers": {
"profitdrawer-mcp": {
"url": "https://profitdrawer.com/mcp"
}
}
}Cline
{
"mcpServers": {
"profitdrawer-mcp": {
"type": "streamableHttp",
"url": "https://profitdrawer.com/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"profitdrawer-mcp": {
"type": "http",
"url": "https://profitdrawer.com/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http profitdrawer-mcp https://profitdrawer.com/mcpClaude Desktop
{
"mcpServers": {
"profitdrawer-mcp": {
"url": "https://profitdrawer.com/mcp"
}
}
}Windsurf
{
"mcpServers": {
"profitdrawer-mcp": {
"serverUrl": "https://profitdrawer.com/mcp"
}
}
}Let your agent find its tools
Find servers like ProfitDrawer MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.
Other productivity and knowledge servers
Do you run ProfitDrawer MCP?
Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.