EosLog Free Tools

Quote and invoice PDFs, cleaning prices, sales tax and leaf blower rules for US service businesses

我該用這個嗎

品質與安全性

A
說明品質
100%
結構描述完整度
98%
命名品質
90%
汙染風險
80%
權限相符程度
100%
協定合規性
100%

發現項目(2)

  • HIGHTool poisoning patterns detected
  • MEDIUMTool description contains URL to non-standard domain在 find_free_tool 中

根據工具定義與協定合規性的自動化分析。

上下文成本

~2,592Token(工具定義)
~3.2 KB典型回應大小
顯著的注意力影響(128k 上下文的 2.02%)

這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。

安裝

一鍵安裝

將以下內容加入你的 `claude_desktop_config.json` 檔案:

{
  "mcpServers": {
    "free-tools": {
      "url": "https://eoslog.com/mcp/free"
    }
  }
}

遠端端點

https://eoslog.com/mcp/freestreamable-http

它能做什麼

工具清單

工具(6)

🟢 唯讀🟡 寫入🔴 刪除⚪ 未知
🟢estimate_house_cleaning_price(size, sqft, frequency, hourly_rate, market, ...)

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": {
      "type": "string",
      "enum": [
        "1br1ba",
        "2br1ba",
        "2br2ba",
        "3br2ba",
        "4br2ba",
        "4br3ba",
        "5br3ba",
        "5br4ba",
        "6br4ba",
        "6br5ba",
        "7br5ba"
      ],
      "default": "2br1ba",
      "description": "Bedrooms and bathrooms, for example 3br2ba for 3 bedrooms and 2 bathrooms."
    },
    "sqft": {
      "type": "integer",
      "minimum": 300,
      "maximum": 10000,
      "description": "Square footage. Defaults to the typical size for the layout (1,600 for 3br2ba)."
    },
    "frequency": {
      "type": "string",
      "enum": [
        "weekly",
        "biweekly",
        "monthly",
        "deep",
        "moveout"
      ],
      "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",
      "minimum": 20,
      "maximum": 120,
      "default": 40,
      "description": "What the cleaner bills per cleaner-hour, in US dollars."
    },
    "market": {
      "type": "string",
      "enum": [
        "rural",
        "standard",
        "coastal"
      ],
      "default": "standard",
      "description": "rural (0.80x), standard for most US metros (1.00x), or coastal for a high-cost coastal metro (1.30x)."
    },
    "addons": {
      "type": "array",
      "uniqueItems": true,
      "maxItems": 6,
      "items": {
        "type": "string",
        "enum": [
          "pets",
          "kids",
          "oven",
          "fridge",
          "trash",
          "laundry"
        ]
      },
      "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)."
    }
  }
}
🟡create_quote_pdf(business_name, business_phone, business_email, customer_name, title, ...)

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",
  "properties": {
    "business_name": {
      "type": "string",
      "maxLength": 100,
      "description": "The business sending the document, as it should print at the top."
    },
    "business_phone": {
      "type": "string",
      "maxLength": 30,
      "description": "Business phone to print on it."
    },
    "business_email": {
      "type": "string",
      "maxLength": 120,
      "description": "Business email to print on it."
    },
    "customer_name": {
      "type": "string",
      "maxLength": 100,
      "description": "Who the document is for, a person or a company. Printed as Customer when left out."
    },
    "title": {
      "type": "string",
      "maxLength": 150,
      "description": "Optional subject line, for example Biweekly house cleaning."
    },
    "line_items": {
      "type": "array",
      "minItems": 1,
      "maxItems": 25,
      "description": "One row per service or item, with the prices the user gives.",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "maxLength": 120,
            "description": "What the line is for."
          },
          "description": {
            "type": "string",
            "maxLength": 500,
            "description": "Optional detail under the name."
          },
          "quantity": {
            "type": "number",
            "minimum": 0.01,
            "maximum": 10000,
            "default": 1,
            "description": "Units, hours or visits."
          },
          "unit_price": {
            "type": "number",
            "minimum": 0,
            "maximum": 1000000,
            "description": "Price per unit in US dollars."
          }
        },
        "required": [
          "name",
          "unit_price"
        ]
      }
    },
    "tax_rate": {
      "type": "number",
      "minimum": 0,
      "maximum": 25,
      "default": 0,
      "description": "Sales tax percent on the subtotal after any discount, for example 8.25. The user supplies it."
    },
    "discount_percent": {
      "type": "number",
      "minimum": 0,
      "maximum": 100,
      "description": "Optional discount, as a percent off the subtotal."
    },
    "deposit_percent": {
      "type": "number",
      "minimum": 0,
      "maximum": 100,
      "description": "Optional deposit to schedule the job, as a percent of the total."
    },
    "valid_days": {
      "type": "integer",
      "minimum": 1,
      "maximum": 365,
      "default": 30,
      "description": "How many days the quote stays valid."
    },
    "message": {
      "type": "string",
      "maxLength": 1000,
      "description": "Optional note to the customer."
    }
  },
  "required": [
    "business_name",
    "line_items"
  ]
}
🟡create_invoice_pdf(business_name, business_phone, business_email, customer_name, line_items, ...)

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",
  "properties": {
    "business_name": {
      "type": "string",
      "maxLength": 100,
      "description": "The business sending the document, as it should print at the top."
    },
    "business_phone": {
      "type": "string",
      "maxLength": 30,
      "description": "Business phone to print on it."
    },
    "business_email": {
      "type": "string",
      "maxLength": 120,
      "description": "Business email to print on it."
    },
    "customer_name": {
      "type": "string",
      "maxLength": 100,
      "description": "Who the document is for, a person or a company. Printed as Customer when left out."
    },
    "line_items": {
      "type": "array",
      "minItems": 1,
      "maxItems": 25,
      "description": "One row per service or item, with the prices the user gives.",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "maxLength": 120,
            "description": "What the line is for."
          },
          "description": {
            "type": "string",
            "maxLength": 500,
            "description": "Optional detail under the name."
          },
          "quantity": {
            "type": "number",
            "minimum": 0.01,
            "maximum": 10000,
            "default": 1,
            "description": "Units, hours or visits."
          },
          "unit_price": {
            "type": "number",
            "minimum": 0,
            "maximum": 1000000,
            "description": "Price per unit in US dollars."
          }
        },
        "required": [
          "name",
          "unit_price"
        ]
      }
    },
    "tax_rate": {
      "type": "number",
      "minimum": 0,
      "maximum": 25,
      "default": 0,
      "description": "Sales tax percent on the subtotal after any discount, for example 8.25. The user supplies it."
    },
    "discount_percent": {
      "type": "number",
      "minimum": 0,
      "maximum": 100,
      "description": "Optional discount, as a percent off the subtotal."
    },
    "payment_terms": {
      "type": "string",
      "enum": [
        "upon_receipt",
        "net_15",
        "net_30",
        "net_45"
      ],
      "default": "upon_receipt",
      "description": "When payment is due: on receipt, or 15, 30 or 45 days after the invoice date."
    },
    "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."
    },
    "invoice_number": {
      "type": "string",
      "maxLength": 40,
      "description": "Optional invoice number. One based on the date and time is used when left out."
    },
    "notes": {
      "type": "string",
      "maxLength": 1000,
      "description": "Optional note, such as how to pay."
    }
  },
  "required": [
    "business_name",
    "line_items"
  ]
}
🟢cleaning_sales_tax_by_state(state, audience)

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",
  "properties": {
    "state": {
      "type": "string",
      "minLength": 2,
      "maxLength": 40,
      "description": "Two-letter code (TX) or full name (Texas). DC is included."
    },
    "audience": {
      "type": "string",
      "enum": [
        "home",
        "commercial",
        "both"
      ],
      "default": "both",
      "description": "home for residential cleaning, commercial for offices and other businesses, or both."
    }
  },
  "required": [
    "state"
  ]
}
🟢gas_leaf_blower_rules(state, city)

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, and Texas). 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",
  "properties": {
    "state": {
      "type": "string",
      "minLength": 2,
      "maxLength": 40,
      "description": "Two-letter code (CA) or full name (California). DC is included."
    },
    "city": {
      "type": "string",
      "maxLength": 100,
      "description": "Optional city, town, village or county name, for example Los Angeles."
    }
  },
  "required": [
    "state"
  ]
}
🟢find_free_tool(need, trade)

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",
  "properties": {
    "need": {
      "type": "string",
      "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"
      ],
      "description": "What the user is trying to do."
    },
    "trade": {
      "type": "string",
      "enum": [
        "hvac",
        "plumbing",
        "electrical",
        "landscaping",
        "cleaning",
        "pest_control",
        "handyman",
        "property_management",
        "pressure_washing"
      ],
      "description": "Optional trade, used to pick trade pages and templates."
    }
  },
  "required": [
    "need"
  ]
}

社群

為此伺服器評分

證據

近期觀測

已驗證未記錄版本6 個工具