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 个工具