Koskamo

FreeToolHub MCP

Exposes 50 calculators for US tax, finance, business, and an MCP engineering suite to AI agents via JSON-RPC. Supports context budgeting, security auditing, and cost estimation without local installation.

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.

FreeToolHub MCP logo, by FreeToolHubCommunity listingStreamable HTTPNo sign-inEndpoint checked 2026-11-06Published by FreeToolHub
MCP endpoint (Streamable HTTP)
https://freetoolhub.org/api/mcp
Vendor documentation

What its tools do

50 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.

50 of 50 have a description · 0 of 50 declare behavior hints · 50 of 50 with parameters document them all

Checks and signals

Each line is separate evidence, not a trust score.

  • Passed Endpoint answered the live check ·
  • Availability 1 of 1 checks passed in 30 days

What you can do with it

  • Calculate US self-employment tax and capital gains
  • Audit MCP server security against OWASP Top 10
  • Estimate GitHub Actions monthly costs
  • Compare LLM API costs for specific workloads

Source and maintenance

Community listingRegistry 2.0.0
Maintenance checked

Protocol and capabilities

Server
FreeToolHub 2.0.0
MCP protocol negotiated in check
2024-11-05
Tools
50 advertised
Resources
Not advertised
Resource templates
Not advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {}
}

Tools

50 advertised

calculate_se_tax
Advertised by the server during the last successful anonymous check.

Calculate US self-employment tax (15.3%), QBI deduction, quarterly payments. Uses latest IRS brackets from CDN data.

calculate_se_tax input schema
{
  "type": "object",
  "required": [
    "netEarnings"
  ],
  "properties": {
    "state": {
      "type": "string",
      "default": "",
      "description": "US state abbreviation (e.g. CA, NY, TX)"
    },
    "netEarnings": {
      "type": "number",
      "description": "Net SE income"
    },
    "filingStatus": {
      "enum": [
        "single",
        "married",
        "head"
      ],
      "type": "string",
      "default": "single",
      "description": "Tax filing status"
    }
  }
}
calculate_freelancer_tax
Advertised by the server during the last successful anonymous check.

Complete freelancer tax: SE tax, QBI deduction, federal + state income tax. Returns quarterly payment. Uses latest CDN data.

calculate_freelancer_tax input schema
{
  "type": "object",
  "required": [
    "grossIncome"
  ],
  "properties": {
    "state": {
      "type": "string",
      "default": "",
      "description": "US state abbreviation (e.g. CA, NY, TX)"
    },
    "grossIncome": {
      "type": "number",
      "description": "Gross freelance income"
    },
    "filingStatus": {
      "enum": [
        "single",
        "married",
        "head"
      ],
      "type": "string",
      "default": "single",
      "description": "Tax filing status"
    },
    "businessExpenses": {
      "type": "number",
      "description": "Deductible expenses"
    }
  }
}
calculate_1099k_tax
Advertised by the server during the last successful anonymous check.

Estimate tax on 1099-K income (reselling, gig work). SE tax, QBI, quarterly 1040-ES. Uses latest CDN data.

calculate_1099k_tax input schema
{
  "type": "object",
  "required": [
    "grossReceipts"
  ],
  "properties": {
    "state": {
      "type": "string",
      "default": "",
      "description": "US state abbreviation (e.g. CA, NY, TX)"
    },
    "filingStatus": {
      "enum": [
        "single",
        "married",
        "head"
      ],
      "type": "string",
      "default": "single",
      "description": "Tax filing status"
    },
    "grossReceipts": {
      "type": "number",
      "description": "Total 1099-K receipts"
    },
    "otherExpenses": {
      "type": "number",
      "description": "Other expenses"
    },
    "costOfGoodsSold": {
      "type": "number",
      "description": "COGS"
    }
  }
}
calculate_capital_gains_tax
Advertised by the server during the last successful anonymous check.

US capital gains tax on stock/crypto. Short vs long-term, NIIT 3.8%, state tax. Uses latest CDN LTCG brackets.

calculate_capital_gains_tax input schema
{
  "type": "object",
  "required": [
    "purchasePrice",
    "salePrice",
    "holdingPeriodDays"
  ],
  "properties": {
    "state": {
      "type": "string",
      "default": "",
      "description": "US state abbreviation (e.g. CA, NY, TX)"
    },
    "salePrice": {
      "type": "number",
      "description": "Sale price"
    },
    "filingStatus": {
      "enum": [
        "single",
        "married",
        "head"
      ],
      "type": "string",
      "default": "single",
      "description": "Tax filing status"
    },
    "purchasePrice": {
      "type": "number",
      "description": "Cost basis"
    },
    "ordinaryIncome": {
      "type": "number",
      "description": "Annual ordinary income"
    },
    "holdingPeriodDays": {
      "type": "number",
      "description": "Days held (>365=long-term)"
    }
  }
}
compare_w2_vs_1099
Advertised by the server during the last successful anonymous check.

Compare take-home pay: W-2 salary vs 1099 contractor rate. SE tax, FICA, standard deduction, state tax. Latest CDN data.

compare_w2_vs_1099 input schema
{
  "type": "object",
  "required": [
    "w2Salary",
    "contractorRate"
  ],
  "properties": {
    "state": {
      "type": "string",
      "default": "",
      "description": "US state abbreviation (e.g. CA, NY, TX)"
    },
    "w2Salary": {
      "type": "number",
      "description": "W-2 annual salary"
    },
    "filingStatus": {
      "enum": [
        "single",
        "married",
        "head"
      ],
      "type": "string",
      "default": "single",
      "description": "Tax filing status"
    },
    "contractorRate": {
      "type": "number",
      "description": "1099 annual income"
    }
  }
}
get_sales_tax_rate
Advertised by the server during the last successful anonymous check.

Get state sales tax rate for any US state. Returns base state rate + estimated local rate. Latest CDN data.

get_sales_tax_rate input schema
{
  "type": "object",
  "required": [
    "state"
  ],
  "properties": {
    "state": {
      "type": "string",
      "description": "US state abbreviation (e.g. CA, NY, TX)"
    },
    "amount": {
      "type": "number",
      "description": "Purchase amount (optional)"
    }
  }
}
calculate_payroll_tax
Advertised by the server during the last successful anonymous check.

Calculate paycheck deductions: federal tax, Social Security, Medicare, state tax. All 50 states. Latest CDN data.

calculate_payroll_tax input schema
{
  "type": "object",
  "required": [
    "grossSalary"
  ],
  "properties": {
    "state": {
      "type": "string",
      "default": "",
      "description": "US state abbreviation (e.g. CA, NY, TX)"
    },
    "grossSalary": {
      "type": "number",
      "description": "Annual gross salary"
    },
    "filingStatus": {
      "enum": [
        "single",
        "married",
        "head"
      ],
      "type": "string",
      "default": "single",
      "description": "Tax filing status"
    },
    "retirementContribution": {
      "type": "number",
      "description": "401(k) contribution"
    }
  }
}
calculate_estate_tax
Advertised by the server during the last successful anonymous check.

Calculate federal estate tax. 2026 exemption $13.61M, 40% rate. Includes marital deduction.

calculate_estate_tax input schema
{
  "type": "object",
  "required": [
    "estateValue"
  ],
  "properties": {
    "estateValue": {
      "type": "number",
      "description": "Total estate value"
    },
    "spousalInheritance": {
      "type": "number",
      "description": "Amount left to spouse (marital deduction)"
    }
  }
}
calculate_hsa_fsa_savings
Advertised by the server during the last successful anonymous check.

Calculate tax savings from HSA and FSA contributions. Federal + FICA + state tax savings. Latest CDN limits.

calculate_hsa_fsa_savings input schema
{
  "type": "object",
  "required": [],
  "properties": {
    "state": {
      "type": "string",
      "default": "",
      "description": "US state abbreviation (e.g. CA, NY, TX)"
    },
    "filingStatus": {
      "enum": [
        "single",
        "married",
        "head"
      ],
      "type": "string",
      "default": "single",
      "description": "Tax filing status"
    },
    "marginalRate": {
      "type": "number",
      "description": "Your marginal tax rate % (e.g. 24)"
    },
    "fsaContribution": {
      "type": "number",
      "description": "FSA annual contribution"
    },
    "hsaContribution": {
      "type": "number",
      "description": "HSA annual contribution"
    }
  }
}
calculate_quarterly_tax
Advertised by the server during the last successful anonymous check.

Calculate quarterly estimated tax payments (Form 1040-ES). SE tax + income tax divided by 4. Latest CDN data.

calculate_quarterly_tax input schema
{
  "type": "object",
  "required": [
    "annualIncome"
  ],
  "properties": {
    "state": {
      "type": "string",
      "default": "",
      "description": "US state abbreviation (e.g. CA, NY, TX)"
    },
    "annualIncome": {
      "type": "number",
      "description": "Estimated annual net income"
    },
    "filingStatus": {
      "enum": [
        "single",
        "married",
        "head"
      ],
      "type": "string",
      "default": "single",
      "description": "Tax filing status"
    },
    "businessExpenses": {
      "type": "number",
      "description": "Estimated expenses"
    }
  }
}
check_economic_nexus
Advertised by the server during the last successful anonymous check.

Check which US states you have economic nexus in for sales tax collection. Based on Wayfair ruling. Latest CDN thresholds.

check_economic_nexus input schema
{
  "type": "object",
  "required": [
    "totalSales"
  ],
  "properties": {
    "totalSales": {
      "type": "number",
      "description": "Total annual US sales"
    },
    "statesWithSales": {
      "type": "number",
      "description": "Number of states you sell to"
    }
  }
}
calculate_tariff
Advertised by the server during the last successful anonymous check.

Estimate import duties and landed cost by HS code category. Covers US MFN + Section 301 tariffs.

calculate_tariff input schema
{
  "type": "object",
  "required": [
    "productValue"
  ],
  "properties": {
    "freight": {
      "type": "number",
      "description": "Freight cost"
    },
    "category": {
      "type": "string",
      "description": "Product category"
    },
    "tariffRate": {
      "type": "number",
      "description": "Tariff rate % (e.g. 7.5 for 7.5%)"
    },
    "productValue": {
      "type": "number",
      "description": "Product value (FOB)"
    }
  }
}
calculate_compound_interest
Advertised by the server during the last successful anonymous check.

Compound interest with monthly contributions. Returns final balance, total interest, inflation-adjusted value. Uses latest CDN inflation rate.

calculate_compound_interest input schema
{
  "type": "object",
  "required": [
    "principal",
    "annualRate",
    "years"
  ],
  "properties": {
    "years": {
      "type": "number",
      "description": "Years"
    },
    "principal": {
      "type": "number",
      "description": "Initial investment"
    },
    "annualRate": {
      "type": "number",
      "description": "Annual rate % (e.g. 7)"
    },
    "inflationRate": {
      "type": "number",
      "description": "Inflation rate % (default: from CDN)"
    },
    "monthlyContribution": {
      "type": "number",
      "description": "Monthly contribution"
    }
  }
}
calculate_mortgage
Advertised by the server during the last successful anonymous check.

Monthly mortgage payment (P&I) + property tax, insurance, PMI. Full PITI breakdown. Uses latest CDN mortgage rates for defaults.

calculate_mortgage input schema
{
  "type": "object",
  "required": [
    "homePrice",
    "downPayment"
  ],
  "properties": {
    "homePrice": {
      "type": "number",
      "description": "Home price"
    },
    "downPayment": {
      "type": "number",
      "description": "Down payment"
    },
    "interestRate": {
      "type": "number",
      "description": "Interest rate % (default: from CDN)"
    },
    "insuranceRate": {
      "type": "number",
      "description": "Insurance % (default 0.35)"
    },
    "loanTermYears": {
      "type": "number",
      "description": "Loan term years"
    },
    "propertyTaxRate": {
      "type": "number",
      "description": "Property tax % (default 1.1)"
    }
  }
}
compare_401k_vs_roth
Advertised by the server during the last successful anonymous check.

Compare 401(k) pre-tax vs Roth IRA post-tax. 30-year growth, tax drag, recommendation. Uses latest CDN contribution limits.

compare_401k_vs_roth input schema
{
  "type": "object",
  "required": [
    "annualContribution",
    "currentTaxRate",
    "retirementTaxRate"
  ],
  "properties": {
    "years": {
      "type": "number",
      "description": "Years to retirement (default 30)"
    },
    "annualReturn": {
      "type": "number",
      "description": "Annual return % (default 7)"
    },
    "employerMatch": {
      "type": "number",
      "description": "Employer match $/yr"
    },
    "currentTaxRate": {
      "type": "number",
      "description": "Current tax rate %"
    },
    "retirementTaxRate": {
      "type": "number",
      "description": "Expected retirement tax rate %"
    },
    "annualContribution": {
      "type": "number",
      "description": "Annual contribution"
    }
  }
}
calculate_car_loan
Advertised by the server during the last successful anonymous check.

Monthly car payment, total interest, amortization. Includes sales tax, trade-in, down payment. Uses latest CDN sales tax rates.

calculate_car_loan input schema
{
  "type": "object",
  "required": [
    "price",
    "interestRate"
  ],
  "properties": {
    "price": {
      "type": "number",
      "description": "Car price"
    },
    "state": {
      "type": "string",
      "description": "US state for sales tax lookup"
    },
    "tradeIn": {
      "type": "number",
      "description": "Trade-in value"
    },
    "downPayment": {
      "type": "number",
      "description": "Down payment"
    },
    "interestRate": {
      "type": "number",
      "description": "Interest rate %"
    },
    "salesTaxRate": {
      "type": "number",
      "description": "Sales tax % (default: from CDN by state)"
    },
    "loanTermMonths": {
      "type": "number",
      "description": "Loan term months (default 60)"
    }
  }
}
calculate_rental_roi
Advertised by the server during the last successful anonymous check.

Rental property ROI: cap rate, cash-on-cash return, NOI, annual cash flow. Includes vacancy and management.

calculate_rental_roi input schema
{
  "type": "object",
  "required": [
    "propertyValue",
    "monthlyRent",
    "downPayment"
  ],
  "properties": {
    "downPayment": {
      "type": "number",
      "description": "Down payment"
    },
    "monthlyRent": {
      "type": "number",
      "description": "Monthly rent"
    },
    "vacancyRate": {
      "type": "number",
      "description": "Vacancy rate % (default 5)"
    },
    "interestRate": {
      "type": "number",
      "description": "Mortgage rate %"
    },
    "propertyValue": {
      "type": "number",
      "description": "Property value"
    },
    "managementRate": {
      "type": "number",
      "description": "Property management % (default 8)"
    }
  }
}
calculate_student_loan
Advertised by the server during the last successful anonymous check.

Student loan payoff: monthly payment, total interest, months saved with extra payments.

calculate_student_loan input schema
{
  "type": "object",
  "required": [
    "loanAmount",
    "interestRate"
  ],
  "properties": {
    "loanAmount": {
      "type": "number",
      "description": "Loan amount"
    },
    "extraPayment": {
      "type": "number",
      "description": "Extra monthly payment"
    },
    "interestRate": {
      "type": "number",
      "description": "Interest rate %"
    },
    "loanTermYears": {
      "type": "number",
      "description": "Loan term years (default 10)"
    }
  }
}
calculate_roi
Advertised by the server during the last successful anonymous check.

ROI, ROAS, net profit, CPA, CPC for marketing campaigns. Facebook, Google, TikTok ad analysis.

calculate_roi input schema
{
  "type": "object",
  "required": [
    "revenue",
    "cost"
  ],
  "properties": {
    "cost": {
      "type": "number",
      "description": "Total cost"
    },
    "clicks": {
      "type": "number",
      "description": "Ad clicks (for CPC)"
    },
    "adSpend": {
      "type": "number",
      "description": "Ad spend (for ROAS)"
    },
    "revenue": {
      "type": "number",
      "description": "Total revenue"
    },
    "conversions": {
      "type": "number",
      "description": "Conversions (for CPA)"
    }
  }
}
calculate_life_insurance
Advertised by the server during the last successful anonymous check.

Calculate life insurance needs using DIME method: Debt, Income, Mortgage, Education.

calculate_life_insurance input schema
{
  "type": "object",
  "required": [
    "annualIncome"
  ],
  "properties": {
    "debt": {
      "type": "number",
      "description": "Outstanding debt (excluding mortgage)"
    },
    "savings": {
      "type": "number",
      "description": "Existing savings/insurance"
    },
    "children": {
      "type": "number",
      "description": "Number of children"
    },
    "mortgage": {
      "type": "number",
      "description": "Mortgage balance"
    },
    "collegeFund": {
      "type": "number",
      "description": "College fund per child"
    },
    "annualIncome": {
      "type": "number",
      "description": "Annual income (for income replacement)"
    },
    "yearsToReplace": {
      "type": "number",
      "description": "Years to replace income (default 10)"
    }
  }
}
calculate_rental_affordability
Advertised by the server during the last successful anonymous check.

How much rent can you afford? 30% rule, DTI ratio, comfortable rent range.

calculate_rental_affordability input schema
{
  "type": "object",
  "required": [
    "monthlyIncome"
  ],
  "properties": {
    "monthlyDebts": {
      "type": "number",
      "description": "Monthly debt payments"
    },
    "monthlyIncome": {
      "type": "number",
      "description": "Monthly income"
    }
  }
}
calculate_home_equity
Advertised by the server during the last successful anonymous check.

Calculate home equity, max borrowable amount (HELOC), and monthly payments. LTV limits included.

calculate_home_equity input schema
{
  "type": "object",
  "required": [
    "homeValue",
    "mortgageBalance"
  ],
  "properties": {
    "homeValue": {
      "type": "number",
      "description": "Current home value"
    },
    "interestRate": {
      "type": "number",
      "description": "HELOC rate %"
    },
    "loanTermYears": {
      "type": "number",
      "description": "Loan term years (default 15)"
    },
    "mortgageBalance": {
      "type": "number",
      "description": "Remaining mortgage balance"
    }
  }
}
calculate_break_even
Advertised by the server during the last successful anonymous check.

Break-even point: units to sell to cover fixed costs. Contribution margin, target profit analysis.

calculate_break_even input schema
{
  "type": "object",
  "required": [
    "fixedCosts",
    "pricePerUnit",
    "variableCostPerUnit"
  ],
  "properties": {
    "fixedCosts": {
      "type": "number",
      "description": "Fixed costs"
    },
    "pricePerUnit": {
      "type": "number",
      "description": "Price per unit"
    },
    "targetProfit": {
      "type": "number",
      "description": "Target profit"
    },
    "variableCostPerUnit": {
      "type": "number",
      "description": "Variable cost per unit"
    }
  }
}
compare_llc_cost
Advertised by the server during the last successful anonymous check.

Compare LLC formation and maintenance costs across US states. 5-year total cost. Uses latest CDN LLC state fees data.

compare_llc_cost input schema
{
  "type": "object",
  "required": [],
  "properties": {
    "state": {
      "type": "string",
      "description": "State abbreviation (optional, omit for comparison)"
    },
    "years": {
      "type": "number",
      "description": "Years to calculate (default 5)"
    }
  }
}
calculate_dropship_profit
Advertised by the server during the last successful anonymous check.

True dropshipping profit after product cost, platform fees, payment processing, ad spend. Uses latest CDN payment processor fees.

calculate_dropship_profit input schema
{
  "type": "object",
  "required": [
    "salePrice",
    "productCost",
    "adSpendPerOrder"
  ],
  "properties": {
    "platform": {
      "type": "string",
      "description": "Platform (shopify/etsy/woocommerce)"
    },
    "salePrice": {
      "type": "number",
      "description": "Selling price"
    },
    "productCost": {
      "type": "number",
      "description": "Product cost"
    },
    "shippingCost": {
      "type": "number",
      "description": "Shipping cost"
    },
    "adSpendPerOrder": {
      "type": "number",
      "description": "Ad spend per order"
    },
    "paymentProcessor": {
      "type": "string",
      "description": "Payment processor ID"
    }
  }
}
calculate_reseller_profit
Advertised by the server during the last successful anonymous check.

Compare real profit across reselling platforms (eBay, Poshmark, Mercari, etc.) after fees. Uses latest CDN platform fee data.

calculate_reseller_profit input schema
{
  "type": "object",
  "required": [
    "purchasePrice",
    "salePrice"
  ],
  "properties": {
    "state": {
      "type": "string",
      "description": "US state for tax estimate"
    },
    "salePrice": {
      "type": "number",
      "description": "Sale price"
    },
    "shippingCost": {
      "type": "number",
      "description": "Shipping cost"
    },
    "purchasePrice": {
      "type": "number",
      "description": "Purchase price"
    }
  }
}
calculate_freelancer_pricing
Advertised by the server during the last successful anonymous check.

Turn hourly rate into project quote with overhead, profit margin, milestone splits.

calculate_freelancer_pricing input schema
{
  "type": "object",
  "required": [
    "hourlyRate",
    "projectHours"
  ],
  "properties": {
    "hourlyRate": {
      "type": "number",
      "description": "Desired hourly rate"
    },
    "overheadPct": {
      "type": "number",
      "description": "Overhead % (default 20)"
    },
    "projectHours": {
      "type": "number",
      "description": "Estimated project hours"
    },
    "profitMarginPct": {
      "type": "number",
      "description": "Profit margin % (default 15)"
    }
  }
}
calculate_income_tax
Advertised by the server during the last successful anonymous check.

US income tax for 2026: federal tax bracket by bracket, state tax, marginal vs effective rate. Uses latest IRS brackets from CDN data.

calculate_income_tax input schema
{
  "type": "object",
  "required": [
    "grossIncome"
  ],
  "properties": {
    "state": {
      "type": "string",
      "default": "",
      "description": "US state abbreviation (e.g. CA, NY, TX)"
    },
    "grossIncome": {
      "type": "number",
      "description": "Gross annual income"
    },
    "filingStatus": {
      "enum": [
        "single",
        "married",
        "head"
      ],
      "type": "string",
      "default": "single",
      "description": "Tax filing status"
    },
    "preTaxDeductions": {
      "type": "number",
      "description": "Pre-tax deductions (401k, HSA)"
    },
    "itemizedDeductions": {
      "type": "number",
      "description": "Itemized deductions (used only if above standard)"
    }
  }
}
calculate_tax_refund
Advertised by the server during the last successful anonymous check.

Estimate US tax refund or balance due before filing: tax owed minus withholding minus credits, federal and state. NOT the IRS refund tracker.

calculate_tax_refund input schema
{
  "type": "object",
  "required": [
    "grossIncome",
    "federalWithheld"
  ],
  "properties": {
    "state": {
      "type": "string",
      "default": "",
      "description": "US state abbreviation (e.g. CA, NY, TX)"
    },
    "credits": {
      "type": "number",
      "description": "Tax credits (e.g. Child Tax Credit)"
    },
    "grossIncome": {
      "type": "number",
      "description": "Gross annual income"
    },
    "filingStatus": {
      "enum": [
        "single",
        "married",
        "head"
      ],
      "type": "string",
      "default": "single",
      "description": "Tax filing status"
    },
    "stateWithheld": {
      "type": "number",
      "description": "State tax withheld"
    },
    "federalWithheld": {
      "type": "number",
      "description": "Federal tax already withheld"
    },
    "preTaxDeductions": {
      "type": "number",
      "description": "Pre-tax deductions (401k, HSA)"
    },
    "itemizedDeductions": {
      "type": "number",
      "description": "Itemized deductions"
    }
  }
}
calculate_loan
Advertised by the server during the last successful anonymous check.

Any fixed-rate loan: monthly payment, total interest, payoff time, and interest saved by extra monthly payments.

calculate_loan input schema
{
  "type": "object",
  "required": [
    "principal",
    "interestRate",
    "termYears"
  ],
  "properties": {
    "principal": {
      "type": "number",
      "description": "Loan amount"
    },
    "termYears": {
      "type": "number",
      "description": "Loan term in years"
    },
    "interestRate": {
      "type": "number",
      "description": "Annual interest rate %"
    },
    "extraMonthlyPayment": {
      "type": "number",
      "description": "Extra monthly payment"
    }
  }
}
calculate_retirement
Advertised by the server during the last successful anonymous check.

Retirement projection in today's dollars: projected nest egg, sustainable income at your withdrawal rate, gap, and the monthly contribution that closes it.

calculate_retirement input schema
{
  "type": "object",
  "required": [
    "currentAge",
    "retirementAge",
    "currentSavings",
    "monthlyContribution",
    "annualReturnPct",
    "inflationPct",
    "desiredAnnualIncome"
  ],
  "properties": {
    "currentAge": {
      "type": "number",
      "description": "Current age"
    },
    "inflationPct": {
      "type": "number",
      "description": "Expected inflation %"
    },
    "retirementAge": {
      "type": "number",
      "description": "Planned retirement age"
    },
    "currentSavings": {
      "type": "number",
      "description": "Current retirement savings"
    },
    "annualReturnPct": {
      "type": "number",
      "description": "Expected annual return %"
    },
    "withdrawalRatePct": {
      "type": "number",
      "description": "Withdrawal rate % (default 4)"
    },
    "desiredAnnualIncome": {
      "type": "number",
      "description": "Desired annual income in retirement (today's dollars)"
    },
    "monthlyContribution": {
      "type": "number",
      "description": "Monthly contribution"
    },
    "otherRetirementIncome": {
      "type": "number",
      "description": "Other retirement income, e.g. Social Security (today's dollars)"
    }
  }
}
calculate_margin
Advertised by the server during the last successful anonymous check.

Gross margin AND markup for the same deal, plus reverse pricing from a target margin or markup and the real margin cost of a discount.

calculate_margin input schema
{
  "type": "object",
  "required": [
    "cost"
  ],
  "properties": {
    "cost": {
      "type": "number",
      "description": "Unit cost (what you paid)"
    },
    "price": {
      "type": "number",
      "description": "Selling price — omit if you are solving from a target"
    },
    "marginPct": {
      "type": "number",
      "description": "Target gross margin % — solve for price"
    },
    "markupPct": {
      "type": "number",
      "description": "Target markup % — solve for price"
    },
    "discountPct": {
      "type": "number",
      "description": "Discount to test against the resulting price"
    }
  }
}
calculate_pay_raise
Advertised by the server during the last successful anonymous check.

What a raise is actually worth after tax. Runs the real brackets before and after, so bracket crossings are handled — not a flat marginal rate applied to the raise.

calculate_pay_raise input schema
{
  "type": "object",
  "required": [
    "currentSalary"
  ],
  "properties": {
    "state": {
      "type": "string",
      "default": "",
      "description": "US state abbreviation (e.g. CA, NY, TX)"
    },
    "raisePct": {
      "type": "number",
      "description": "Raise as a percentage, e.g. 5 (negative for a cut)"
    },
    "raiseAmount": {
      "type": "number",
      "description": "Raise as a dollar amount — takes priority over raisePct"
    },
    "filingStatus": {
      "enum": [
        "single",
        "married",
        "head"
      ],
      "type": "string",
      "default": "single",
      "description": "Tax filing status"
    },
    "currentSalary": {
      "type": "number",
      "description": "Current annual salary"
    },
    "preTaxDeductions": {
      "type": "number",
      "description": "Pre-tax deductions (401k, HSA), held constant"
    }
  }
}
estimate_mcp_context_budget
Advertised by the server during the last successful anonymous check.

Estimate how much of an LLM context window your MCP servers consume, and which tool definitions to cut first. Paste your MCP config. Returns per-server token cost, remaining budget, and ranked reduction advice.

estimate_mcp_context_budget input schema
{
  "type": "object",
  "required": [
    "config"
  ],
  "properties": {
    "config": {
      "type": [
        "string",
        "array",
        "object"
      ],
      "description": "Your MCP config as JSON. Either {\"mcpServers\":{...}} or a raw {name:{...}} map. Each server may declare \"tools\":[{name,description,inputSchema}]. Accepts a JSON object, or a JSON string containing one."
    },
    "contextWindow": {
      "type": "number",
      "description": "Model context window in tokens (default 200000)"
    },
    "reservedForConversation": {
      "type": "number",
      "description": "Tokens you want to keep for the actual conversation (default 40000)"
    }
  }
}
compress_tool_definitions
Advertised by the server during the last successful anonymous check.

Shrink MCP tool descriptions and JSON schemas to cut context cost without changing how agents call them. Returns the compressed definitions plus exact token savings.

compress_tool_definitions input schema
{
  "type": "object",
  "required": [
    "definitions"
  ],
  "properties": {
    "definitions": {
      "type": [
        "string",
        "array",
        "object"
      ],
      "description": "JSON array of tool definitions to compress. Each item: {name, description, inputSchema}. Accepts a JSON array, or a JSON string containing one."
    }
  }
}
score_mcp_server_trust
Advertised by the server during the last successful anonymous check.

Score an MCP server A–F on trustworthiness and maintenance health, so you can choose between four servers that all claim to do the same thing. Supply what you know about the server.

score_mcp_server_trust input schema
{
  "type": "object",
  "required": [],
  "properties": {
    "stars": {
      "type": "number",
      "description": "GitHub stars"
    },
    "repoExists": {
      "type": "boolean",
      "description": "Is the declared GitHub repo still reachable?"
    },
    "serverName": {
      "type": "string",
      "description": "Server name (for the report)"
    },
    "hasToolDocs": {
      "type": "boolean",
      "description": "Does the README document the exposed tools and required credentials?"
    },
    "npmDeprecated": {
      "type": "boolean",
      "description": "Is the npm/PyPI package marked deprecated?"
    },
    "hasInstallConfig": {
      "type": "boolean",
      "description": "Does it ship a working install config for Claude Desktop / Cursor / VS Code?"
    },
    "inOfficialRegistry": {
      "type": "boolean",
      "description": "Is it listed in the official MCP registry?"
    },
    "daysSinceLastCommit": {
      "type": "number",
      "description": "Days since the last commit"
    }
  }
}
audit_mcp_server_security
Advertised by the server during the last successful anonymous check.

Audit an MCP server against the OWASP MCP Top 10. Reports authentication, path traversal, command injection, secret exposure and supply-chain risk with a concrete remediation list.

audit_mcp_server_security input schema
{
  "type": "object",
  "required": [],
  "properties": {
    "serverName": {
      "type": "string",
      "description": "Server name (for the report)"
    },
    "executesCommands": {
      "type": "boolean",
      "description": "Does it execute shell commands or spawn processes?"
    },
    "hasAuthentication": {
      "type": "boolean",
      "description": "Does the server enforce authentication on every request?"
    },
    "usesStdioTransport": {
      "type": "boolean",
      "description": "Does it run over local STDIO transport?"
    },
    "hasHardcodedSecrets": {
      "type": "boolean",
      "description": "Are credentials hardcoded in the source or config?"
    },
    "performsFileOperations": {
      "type": "boolean",
      "description": "Does it read/write files based on model-supplied paths?"
    },
    "restrictsNetworkEgress": {
      "type": "boolean",
      "description": "Are outbound network destinations restricted?"
    },
    "hasProvenanceAttestation": {
      "type": "boolean",
      "description": "Is the package published with build provenance / trusted publishing?"
    },
    "acceptsUserInputInCommands": {
      "type": "boolean",
      "description": "Is untrusted input interpolated into commands or queries?"
    }
  }
}
generate_mcp_server_card
Advertised by the server during the last successful anonymous check.

Generate a SEP-1649 MCP Server Card (/.well-known/mcp/server-card.json) so crawlers and registries can discover your server without connecting to it.

generate_mcp_server_card input schema
{
  "type": "object",
  "required": [
    "name",
    "description"
  ],
  "properties": {
    "name": {
      "type": "string",
      "description": "Server name"
    },
    "tools": {
      "type": [
        "string",
        "array",
        "object"
      ],
      "description": "Optional JSON array of {name, description} for the capability summary. Accepts a JSON array, or a JSON string containing one."
    },
    "version": {
      "type": "string",
      "description": "Server version (semver)"
    },
    "transport": {
      "type": "string",
      "description": "Transport: streamable-http or sse (default streamable-http)"
    },
    "description": {
      "type": "string",
      "description": "What the server does"
    },
    "endpointUrl": {
      "type": "string",
      "description": "Public Streamable HTTP endpoint URL"
    },
    "requiresAuth": {
      "type": "boolean",
      "description": "Does the server require authentication?"
    }
  }
}
validate_mcp_server_card
Advertised by the server during the last successful anonymous check.

Validate an MCP Server Card against SEP-1649 and report every missing or malformed field before you publish it. Checks structure (serverInfo, transport, capabilities, authentication) and format (semver version, http(s) transport URL, capabilities.tools entries), returning a full error and warning list.

validate_mcp_server_card input schema
{
  "type": "object",
  "required": [
    "card"
  ],
  "properties": {
    "card": {
      "type": [
        "string",
        "array",
        "object"
      ],
      "description": "The server-card.json content to validate. Accepts a JSON object, or a JSON string containing one."
    }
  }
}
advise_tool_portfolio
Advertised by the server during the last successful anonymous check.

Too many MCP tools makes agents pick the wrong one. Given your tool list and usage, get keep / merge / remove recommendations to get under the 10–15 tool guideline.

advise_tool_portfolio input schema
{
  "type": "object",
  "required": [
    "tools"
  ],
  "properties": {
    "tools": {
      "type": [
        "string",
        "array",
        "object"
      ],
      "description": "JSON array of {name, category?, callsPerDay?, description?}. Accepts a JSON array, or a JSON string containing one."
    },
    "targetToolCount": {
      "type": "number",
      "description": "Target number of tools to keep (default 12)"
    }
  }
}
plan_mcp_token_budget
Advertised by the server during the last successful anonymous check.

Plan and attribute MCP token spend across agents, servers and workflows — something the protocol provides no native support for. Outputs per-dimension cost split and a quota plan.

plan_mcp_token_budget input schema
{
  "type": "object",
  "required": [
    "workloads"
  ],
  "properties": {
    "workloads": {
      "type": [
        "string",
        "array",
        "object"
      ],
      "description": "JSON array of {name, callsPerDay, inputTokensPerCall, outputTokensPerCall, owner?}. Accepts a JSON array, or a JSON string containing one."
    },
    "monthlyBudget": {
      "type": "number",
      "description": "Optional monthly budget cap in USD for over/under comparison"
    },
    "inputPricePerMillion": {
      "type": "number",
      "description": "Input price per 1M tokens in USD (default 3)"
    },
    "outputPricePerMillion": {
      "type": "number",
      "description": "Output price per 1M tokens in USD (default 15)"
    }
  }
}
generate_mcp_client_config
Advertised by the server during the last successful anonymous check.

Generate ready-to-paste MCP server config for Claude Desktop, Cursor, VS Code and Windsurf from one input. Config completeness decides whether developers can install your server at all.

generate_mcp_client_config input schema
{
  "type": "object",
  "required": [
    "serverName"
  ],
  "properties": {
    "env": {
      "type": [
        "string",
        "array",
        "object"
      ],
      "description": "JSON object of environment variables. Accepts a JSON object, or a JSON string containing one."
    },
    "url": {
      "type": "string",
      "description": "Endpoint URL for remote/streamable-http servers"
    },
    "args": {
      "type": [
        "string",
        "array",
        "object"
      ],
      "description": "JSON array of command arguments. Accepts a JSON array, or a JSON string containing one."
    },
    "command": {
      "type": "string",
      "description": "Launch command for stdio servers (e.g. npx)"
    },
    "serverName": {
      "type": "string",
      "description": "Server name used as the config key"
    }
  }
}
find_tool
Advertised by the server during the last successful anonymous check.

Semantic tool router. Given a natural-language intent, return only the most relevant tools from this server so the client can inject 3 schemas instead of 27. This is the "find_tool" meta-tool the MCP optimisation literature calls for.

find_tool input schema
{
  "type": "object",
  "required": [
    "query"
  ],
  "properties": {
    "limit": {
      "type": "number",
      "description": "Maximum number of tools to return (default 3)"
    },
    "query": {
      "type": "string",
      "description": "Natural-language description of what you want to accomplish"
    }
  }
}
calculate_github_actions_cost
Advertised by the server during the last successful anonymous check.

Estimate a GitHub Actions monthly bill using the January 2026 runner rates (Linux $0.006/min, Windows $0.010, macOS $0.062), accounting for plan allowances. Also reports what the same workload cost before the price cut.

calculate_github_actions_cost input schema
{
  "type": "object",
  "anyOf": [
    {
      "required": [
        "linuxMinutes"
      ]
    },
    {
      "required": [
        "windowsMinutes"
      ]
    },
    {
      "required": [
        "macosMinutes"
      ]
    }
  ],
  "required": [],
  "properties": {
    "plan": {
      "type": "string",
      "description": "GitHub plan: free, pro, team or enterprise (default free)"
    },
    "publicRepo": {
      "type": "boolean",
      "description": "Are these workflows in public repositories? (unlimited free)"
    },
    "linuxMinutes": {
      "type": "number",
      "description": "Linux runner minutes per month"
    },
    "macosMinutes": {
      "type": "number",
      "description": "macOS runner minutes per month"
    },
    "windowsMinutes": {
      "type": "number",
      "description": "Windows runner minutes per month"
    }
  }
}
compare_automation_platform_costs
Advertised by the server during the last successful anonymous check.

Compare real monthly cost on Zapier (per task) versus Make (per operation) for the same workflow volume, including the counting-model difference that makes the two quotes non-obvious.

compare_automation_platform_costs input schema
{
  "type": "object",
  "required": [
    "runsPerMonth",
    "stepsPerRun"
  ],
  "properties": {
    "stepsPerRun": {
      "type": "number",
      "description": "Total steps (trigger + actions) per run"
    },
    "runsPerMonth": {
      "type": "number",
      "description": "Workflow executions per month"
    },
    "workflowCount": {
      "type": "number",
      "description": "Number of distinct workflows (default 1)"
    }
  }
}
detect_polling_cost_traps
Advertised by the server during the last successful anonymous check.

Find the most common hidden cost in no-code automation: using polling where a webhook would do. Quantifies the wasted task/operation quota and the monthly dollars.

detect_polling_cost_traps input schema
{
  "type": "object",
  "required": [
    "workflows"
  ],
  "properties": {
    "platform": {
      "type": "string",
      "description": "zapier or make (default zapier)"
    },
    "workflows": {
      "type": [
        "string",
        "array",
        "object"
      ],
      "description": "JSON array of {name, triggerType: \"polling\"|\"webhook\", intervalMinutes, runsPerMonth, stepsPerRun, hasBranching?}. Accepts a JSON array, or a JSON string containing one."
    }
  }
}
estimate_selfhosted_tco
Advertised by the server during the last successful anonymous check.

Compare paying hosted CI overage against running self-hosted runners, including the maintenance hours people forget to cost. Reports the true break-even volume.

estimate_selfhosted_tco input schema
{
  "type": "object",
  "required": [
    "monthlyMinutes"
  ],
  "properties": {
    "runnerType": {
      "type": "string",
      "description": "linux, windows or macos (default linux)"
    },
    "monthlyMinutes": {
      "type": "number",
      "description": "Current hosted runner minutes per month"
    },
    "engineerHourlyCost": {
      "type": "number",
      "description": "Fully-loaded engineer cost per hour in USD (default 75)"
    },
    "maintenanceHoursPerMonth": {
      "type": "number",
      "description": "Hours per month spent maintaining self-hosted runners (default 4)"
    },
    "runnerHostingCostPerMonth": {
      "type": "number",
      "description": "Monthly infra cost for the self-hosted runner(s) in USD (default 20)"
    }
  }
}
compare_ai_coding_tool_costs
Advertised by the server during the last successful anonymous check.

Compare monthly and annual cost of AI coding subscriptions (GitHub Copilot, Cursor, Claude Code/Pro/Max, OpenAI Codex) for a given team size and usage intensity, then compare the winner against pay-as-you-go API pricing for the same workload. Prices verified 2026-09.

compare_ai_coding_tool_costs input schema
{
  "type": "object",
  "required": [],
  "properties": {
    "seats": {
      "type": "number",
      "description": "Number of developer seats (default 1)"
    },
    "apiModel": {
      "type": "string",
      "description": "Model id for the API baseline (default claude-4-sonnet)"
    },
    "usageLevel": {
      "type": "string",
      "description": "Usage intensity: light, standard, heavy or extreme (default standard)"
    },
    "includeApiBaseline": {
      "type": "boolean",
      "description": "Also compute the pay-as-you-go API cost for the same workload (default true)"
    }
  }
}
compare_llm_api_costs
Advertised by the server during the last successful anonymous check.

Rank 18 LLM models by the real monthly cost of a given workload (input/output tokens per call × calls per month). Reports the cheapest and most expensive option, the cost spread, and which models can actually hold your prompt in their context window.

compare_llm_api_costs input schema
{
  "type": "object",
  "required": [
    "callsPerMonth"
  ],
  "properties": {
    "topN": {
      "type": "number",
      "description": "How many models to return, cheapest first (default 8)"
    },
    "provider": {
      "type": "string",
      "description": "Filter to one provider: openai, anthropic, google, deepseek or meta"
    },
    "callsPerMonth": {
      "type": "number",
      "description": "Number of API calls per month"
    },
    "minContextWindow": {
      "type": "number",
      "description": "Only include models whose context window is at least this many tokens"
    },
    "inputTokensPerCall": {
      "type": "number",
      "description": "Average input (prompt) tokens per call"
    },
    "outputTokensPerCall": {
      "type": "number",
      "description": "Average output (completion) tokens per call"
    }
  }
}
plan_context_window_budget
Advertised by the server during the last successful anonymous check.

Given a set of MCP servers and their tool counts, show for every model context window (128K, 200K, 1M, 10M) how much of the window the tool definitions consume, how much is left for conversation, and whether the server set fits at all. Answers "how many servers can I attach on model X?".

plan_context_window_budget input schema
{
  "type": "object",
  "required": [
    "servers"
  ],
  "properties": {
    "servers": {
      "type": [
        "string",
        "array",
        "object"
      ],
      "description": "JSON array of {name, toolCount, avgTokensPerTool?} — e.g. [{\"name\":\"github\",\"toolCount\":35}]. Accepts a JSON array, or a JSON string containing one."
    },
    "avgTokensPerTool": {
      "type": "number",
      "description": "Default tokens per tool definition when a server omits it (default 550)"
    },
    "reserveForOutput": {
      "type": "number",
      "description": "Tokens to reserve for the model response (default 8000)"
    },
    "conversationShare": {
      "type": "number",
      "description": "Fraction of the window you want left for human/agent conversation, 0-1 (default 0.25)"
    }
  }
}

Prompts

Not advertised

No prompt definitions available.

Resources

Not advertised

No resource definitions available.

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.

Too few checks for a percentage yet (2 of 2 answered).

  1. 2026-11-07: 2 of 2 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
440 ms
95th percentile latency
440 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 440 ms · metadata changed · 50 tool(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http freetoolhub-mcp https://freetoolhub.org/api/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add freetoolhub-mcp --url https://freetoolhub.org/api/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable freetoolhub-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "freetoolhub-mcp": {
      "url": "https://freetoolhub.org/api/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "freetoolhub-mcp": {
      "type": "streamableHttp",
      "url": "https://freetoolhub.org/api/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start freetoolhub-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "freetoolhub-mcp": {
      "type": "http",
      "url": "https://freetoolhub.org/api/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http freetoolhub-mcp https://freetoolhub.org/api/mcp

Claude Desktop

Open Claude Settings > Connectors > Add custom connector, enter this server URL and enable it for the conversation. This is a manual remote-connector handoff, not a desktop JSON configuration.
Claude Desktop configuration
https://freetoolhub.org/api/mcp

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "freetoolhub-mcp": {
      "serverUrl": "https://freetoolhub.org/api/mcp"
    }
  }
}

Let your agent find its tools

Find servers like FreeToolHub MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.