EosLog Free Tools MCP
A public, stateless MCP server by EosLog that generates quote and invoice PDFs and answers pricing and compliance questions for US service businesses 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://eoslog.com/mcp/freeWhat you can do with it
- Generate quote PDFs from line items
- Generate invoice PDFs from line items
- Estimate house cleaning prices
- Check cleaning sales tax rules by state
Source and maintenance
Protocol and capabilities
- Server
- EosLog Free Tools 1.1.0
- MCP protocol
- 2025-06-18
- Tools
- 6 advertised
- Resources
- Not advertised
- Resource templates
- Not advertised
- Prompts
- Not advertised
{
"tools": {}
}Server-provided instructions
Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.
Tools
6 advertised
estimate_house_cleaning_price — Estimate a house cleaning price
Prices one residential house cleaning visit with the math behind EosLog's free cleaning price calculator: time on site from the home's size and square footage, times a frequency factor and the cleaner's hourly rate, plus supplies, drive and add-ons, adjusted for the local market and rounded to $5. Returns the price, a low to high range, hours on site, a per square foot cross-check, the math, and a link that opens the calculator with these inputs so the user can adjust them. Every input is optional and has the calculator's default.
{
"type": "object",
"properties": {
"size": {
"enum": [
"1br1ba",
"2br1ba",
"2br2ba",
"3br2ba",
"4br2ba",
"4br3ba",
"5br3ba",
"5br4ba",
"6br4ba",
"6br5ba",
"7br5ba"
],
"type": "string",
"default": "2br1ba",
"description": "Bedrooms and bathrooms, for example 3br2ba for 3 bedrooms and 2 bathrooms."
},
"sqft": {
"type": "integer",
"maximum": 10000,
"minimum": 300,
"description": "Square footage. Defaults to the typical size for the layout (1,600 for 3br2ba)."
},
"addons": {
"type": "array",
"items": {
"enum": [
"pets",
"kids",
"oven",
"fridge",
"trash",
"laundry"
],
"type": "string"
},
"maxItems": 6,
"description": "Extras that apply: pets (+$15), kids under 10 (+$20), oven inside (+$35), fridge inside (+$30), trash takeout (+$10), laundry, one load washed and folded (+$20).",
"uniqueItems": true
},
"market": {
"enum": [
"rural",
"standard",
"coastal"
],
"type": "string",
"default": "standard",
"description": "rural (0.80x), standard for most US metros (1.00x), or coastal for a high-cost coastal metro (1.30x)."
},
"frequency": {
"enum": [
"weekly",
"biweekly",
"monthly",
"deep",
"moveout"
],
"type": "string",
"default": "biweekly",
"description": "How often the home is cleaned. deep is a first or one-time deep clean; moveout is a one-time move-out clean."
},
"hourly_rate": {
"type": "integer",
"default": 40,
"maximum": 120,
"minimum": 20,
"description": "What the cleaner bills per cleaner-hour, in US dollars."
}
}
}{
"title": "Estimate a house cleaning price",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}create_quote_pdf — Create a quote PDF
Makes a professional quote (estimate) PDF for a small service business from the details the user gives: the business name, the customer, and each line item's name, quantity and price, plus an optional tax rate, discount, deposit, note and how many days the quote stays valid. EosLog adds up the subtotal, discount, tax and total, saves the quote behind an unguessable link for 90 days, and returns that link (view, download or email the PDF) and a direct PDF link. Use it when the user wants a quote or estimate to send a customer. It uses the user's prices and never sets them.
{
"type": "object",
"required": [
"business_name",
"line_items"
],
"properties": {
"title": {
"type": "string",
"maxLength": 150,
"description": "Optional subject line, for example Biweekly house cleaning."
},
"message": {
"type": "string",
"maxLength": 1000,
"description": "Optional note to the customer."
},
"tax_rate": {
"type": "number",
"default": 0,
"maximum": 25,
"minimum": 0,
"description": "Sales tax percent on the subtotal after any discount, for example 8.25. The user supplies it."
},
"line_items": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"unit_price"
],
"properties": {
"name": {
"type": "string",
"maxLength": 120,
"description": "What the line is for."
},
"quantity": {
"type": "number",
"default": 1,
"maximum": 10000,
"minimum": 0.01,
"description": "Units, hours or visits."
},
"unit_price": {
"type": "number",
"maximum": 1000000,
"minimum": 0,
"description": "Price per unit in US dollars."
},
"description": {
"type": "string",
"maxLength": 500,
"description": "Optional detail under the name."
}
}
},
"maxItems": 25,
"minItems": 1,
"description": "One row per service or item, with the prices the user gives."
},
"valid_days": {
"type": "integer",
"default": 30,
"maximum": 365,
"minimum": 1,
"description": "How many days the quote stays valid."
},
"business_name": {
"type": "string",
"maxLength": 100,
"description": "The business sending the document, as it should print at the top."
},
"customer_name": {
"type": "string",
"maxLength": 100,
"description": "Who the document is for, a person or a company. Printed as Customer when left out."
},
"business_email": {
"type": "string",
"maxLength": 120,
"description": "Business email to print on it."
},
"business_phone": {
"type": "string",
"maxLength": 30,
"description": "Business phone to print on it."
},
"deposit_percent": {
"type": "number",
"maximum": 100,
"minimum": 0,
"description": "Optional deposit to schedule the job, as a percent of the total."
},
"discount_percent": {
"type": "number",
"maximum": 100,
"minimum": 0,
"description": "Optional discount, as a percent off the subtotal."
}
}
}{
"title": "Create a quote PDF",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": false
}create_invoice_pdf — Create an invoice PDF
Makes a professional invoice PDF for a small service business from the details the user gives: the business name, the customer, and each line item's name, quantity and price, plus an optional tax rate, discount, payment terms, service date, invoice number and note. EosLog adds up the subtotal, discount, tax and total due, sets the due date from the payment terms, saves the invoice behind an unguessable link for 90 days, and returns that link (view, download or email the PDF) and a direct PDF link. Use it when the user wants an invoice to send a customer. It uses the user's prices and never sets them.
{
"type": "object",
"required": [
"business_name",
"line_items"
],
"properties": {
"notes": {
"type": "string",
"maxLength": 1000,
"description": "Optional note, such as how to pay."
},
"tax_rate": {
"type": "number",
"default": 0,
"maximum": 25,
"minimum": 0,
"description": "Sales tax percent on the subtotal after any discount, for example 8.25. The user supplies it."
},
"line_items": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"unit_price"
],
"properties": {
"name": {
"type": "string",
"maxLength": 120,
"description": "What the line is for."
},
"quantity": {
"type": "number",
"default": 1,
"maximum": 10000,
"minimum": 0.01,
"description": "Units, hours or visits."
},
"unit_price": {
"type": "number",
"maximum": 1000000,
"minimum": 0,
"description": "Price per unit in US dollars."
},
"description": {
"type": "string",
"maxLength": 500,
"description": "Optional detail under the name."
}
}
},
"maxItems": 25,
"minItems": 1,
"description": "One row per service or item, with the prices the user gives."
},
"service_date": {
"type": "string",
"maxLength": 60,
"description": "Optional date or period of the work, as text, for example October 2026 or 10/1 to 10/15."
},
"business_name": {
"type": "string",
"maxLength": 100,
"description": "The business sending the document, as it should print at the top."
},
"customer_name": {
"type": "string",
"maxLength": 100,
"description": "Who the document is for, a person or a company. Printed as Customer when left out."
},
"payment_terms": {
"enum": [
"upon_receipt",
"net_15",
"net_30",
"net_45"
],
"type": "string",
"default": "upon_receipt",
"description": "When payment is due: on receipt, or 15, 30 or 45 days after the invoice date."
},
"business_email": {
"type": "string",
"maxLength": 120,
"description": "Business email to print on it."
},
"business_phone": {
"type": "string",
"maxLength": 30,
"description": "Business phone to print on it."
},
"invoice_number": {
"type": "string",
"maxLength": 40,
"description": "Optional invoice number. One based on the date and time is used when left out."
},
"discount_percent": {
"type": "number",
"maximum": 100,
"minimum": 0,
"description": "Optional discount, as a percent off the subtotal."
}
}
}{
"title": "Create an invoice PDF",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": false
}cleaning_sales_tax_by_state — Check if cleaning is taxable in a state
Says whether state sales tax (or the state's equivalent) applies to home (residential) and commercial cleaning services in one US state or DC, from EosLog's state by state reference. Each answer is what that state's own official pages say, with the official source links, the state base rate where the source states one, and the date it was checked. It is not tax advice and does not cover local taxes.
{
"type": "object",
"required": [
"state"
],
"properties": {
"state": {
"type": "string",
"maxLength": 40,
"minLength": 2,
"description": "Two-letter code (TX) or full name (Texas). DC is included."
},
"audience": {
"enum": [
"home",
"commercial",
"both"
],
"type": "string",
"default": "both",
"description": "home for residential cleaning, commercial for offices and other businesses, or both."
}
}
}{
"title": "Check if cleaning is taxable in a state",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}gas_leaf_blower_rules — Look up gas leaf blower rules
Lists adopted local laws that ban or restrict gas leaf blowers in one US state, or one city or town in it, from EosLog's sourced table: the rule, when it took or takes effect and any later phases, who is cited, the penalty, and the official sources with the date each row was checked. Also reports a state law that blocks local bans (Florida, Georgia, Texas, Iowa, and Indiana). Without a city it lists every place in the state briefly; pass city for the full row. A place with no row may still have a rule EosLog has not confirmed.
{
"type": "object",
"required": [
"state"
],
"properties": {
"city": {
"type": "string",
"maxLength": 100,
"description": "Optional city, town, village or county name, for example Los Angeles."
},
"state": {
"type": "string",
"maxLength": 40,
"minLength": 2,
"description": "Two-letter code (CA) or full name (California). DC is included."
}
}
}{
"title": "Look up gas leaf blower rules",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}find_free_tool — Find a free EosLog tool
Finds the free EosLog tool for a service business task: a quote or invoice generator (with a page for the trade where one exists), a price calculator for house, move-out, deep, commercial or Airbnb cleaning, pressure washing or landscaping (with the URL params that prefill it), or contract and form templates, filtered by trade when given. Returns titles and https://eoslog.com URLs. Every tool is free and needs no account.
{
"type": "object",
"required": [
"need"
],
"properties": {
"need": {
"enum": [
"quote",
"invoice",
"house_cleaning_price",
"move_out_cleaning_price",
"deep_cleaning_price",
"commercial_cleaning_bid",
"airbnb_cleaning_price",
"pressure_washing_price",
"landscaping_price",
"contract_or_form_template"
],
"type": "string",
"description": "What the user is trying to do."
},
"trade": {
"enum": [
"hvac",
"plumbing",
"electrical",
"landscaping",
"cleaning",
"pest_control",
"handyman",
"property_management",
"pressure_washing"
],
"type": "string",
"description": "Optional trade, used to pick trade pages and templates."
}
}
}{
"title": "Find a free EosLog tool",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}Prompts
Not advertised
Resources
Not advertised
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
- 390 ms
- 95th percentile latency
- 390 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 390 ms · metadata changed · 6 tool(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http eoslog-free-tools-mcp https://eoslog.com/mcp/freeCodex
codex mcp add eoslog-free-tools-mcp --url https://eoslog.com/mcp/freeCursor
{
"mcpServers": {
"eoslog-free-tools-mcp": {
"url": "https://eoslog.com/mcp/free"
}
}
}Cline
{
"mcpServers": {
"eoslog-free-tools-mcp": {
"type": "streamableHttp",
"url": "https://eoslog.com/mcp/free",
"disabled": false
}
}
}VS Code
{
"servers": {
"eoslog-free-tools-mcp": {
"type": "http",
"url": "https://eoslog.com/mcp/free"
}
}
}Gemini CLI
gemini mcp add --transport http eoslog-free-tools-mcp https://eoslog.com/mcp/freeClaude Desktop
{
"mcpServers": {
"eoslog-free-tools-mcp": {
"url": "https://eoslog.com/mcp/free"
}
}
}Windsurf
{
"mcpServers": {
"eoslog-free-tools-mcp": {
"serverUrl": "https://eoslog.com/mcp/free"
}
}
}Let your agent find its tools
Find servers like EosLog Free Tools 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 EosLog Free Tools 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.