Free Agent Tools

16 free no-auth tools: idea scoring, pricing, hotel OTA fees, SaaS savings, ads risk, Japan trips.

Should I use this

Quality & Safety

A
Description quality
87%
Schema completeness
88%
Naming quality
79%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Findings (5)

  • LOWTool 'email_list_reactivation_value' description lacks action verbin email_list_reactivation_value
  • LOWTool 'hotel_ota_commission_calculator' description lacks action verbin hotel_ota_commission_calculator
  • LOWTool 'faceless_youtube_reality_check' description lacks action verbin faceless_youtube_reality_check
  • LOWTool 'hotel_ota_commission_calculator' name length outside 3-30 rangein hotel_ota_commission_calculator
  • LOWTool 'list_open_source_saas_alternatives' name length outside 3-30 rangein list_open_source_saas_alternatives

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~3,718Tokens (tool definitions)
~1.4 KBTypical response size
Significant attention impact (2.90% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "free-agent-tools": {
      "url": "https://free-agent-tools.vercel.app/mcp"
    }
  }
}

Remote endpoints

https://free-agent-tools.vercel.app/mcpstreamable-http

What it can do

Tool inventory

Tools (16)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢score_business_idea_moat(margin, operations, advantage, tam, pain, ...)

Score a business idea on Margin, Operations, Advantage, and TAM (1-10 each). 30+ = FUND IT, 20-29 = FIX IT, under 20 = FLEE IT. Returns the weakest factor, how to fix it, and red flags from pain / money / willingness-to-suffer checks. Educational rule of thumb, not financial advice.

Input Schema

{
  "type": "object",
  "properties": {
    "margin": {
      "type": "number",
      "minimum": 1,
      "maximum": 10,
      "description": "Net margin potential, 1-10."
    },
    "operations": {
      "type": "number",
      "minimum": 1,
      "maximum": 10,
      "description": "How easily it runs without the founder, 1-10."
    },
    "advantage": {
      "type": "number",
      "minimum": 1,
      "maximum": 10,
      "description": "Hard-to-copy edge (distribution, data, expertise), 1-10."
    },
    "tam": {
      "type": "number",
      "minimum": 1,
      "maximum": 10,
      "description": "Market size and proof that people buy, 1-10."
    },
    "pain": {
      "description": "Fixes a measurable pain? Default true.",
      "type": "boolean"
    },
    "money": {
      "description": "Buyers have money to spend? Default true.",
      "type": "boolean"
    },
    "suffer": {
      "description": "Founder willing to push through a long build? Default true.",
      "type": "boolean"
    }
  },
  "required": [
    "margin",
    "operations",
    "advantage",
    "tam"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢price_headroom_check(closeRate, price, netMargin, newPriceMultiple, customersLost)

Is the business underpriced? Uses sales close rate (80%+ = way underpriced, ~30% = about right, under 25% = sales problem) to suggest a price range, and computes the profit multiple of a price rise after losing some customers, plus the break-even customer loss.

Input Schema

{
  "type": "object",
  "properties": {
    "closeRate": {
      "type": "number",
      "minimum": 0,
      "maximum": 100,
      "description": "Percent of proposals or sales calls that close."
    },
    "price": {
      "type": "number",
      "minimum": 0,
      "description": "Current price, any currency."
    },
    "netMargin": {
      "description": "Net margin percent today. Default 15.",
      "type": "number",
      "minimum": 0.1,
      "maximum": 99
    },
    "newPriceMultiple": {
      "description": "New price as a multiple of the old (1.5 = +50%). Default 1.5.",
      "type": "number",
      "minimum": 0.1,
      "maximum": 10
    },
    "customersLost": {
      "type": "number",
      "minimum": 0,
      "maximum": 100,
      "description": "Percent of customers expected to leave after the rise. Default 20."
    }
  },
  "required": [
    "closeRate",
    "price"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢thirty_day_cash_check(cash30, cac, cogs30)

Compares cash collected in a new customer's first 30 days with acquisition cost plus 30-day cost to serve. 2x+ = SELF-FUNDING, 1-2x = BREAK-EVEN, under 1x = CASH-HUNGRY. Returns the gap to 2x and tips.

Input Schema

{
  "type": "object",
  "properties": {
    "cash30": {
      "type": "number",
      "minimum": 0,
      "description": "Cash collected from a new customer in their first 30 days."
    },
    "cac": {
      "type": "number",
      "minimum": 0,
      "description": "Customer acquisition cost."
    },
    "cogs30": {
      "description": "Cost to serve that customer for 30 days. Default 0.",
      "type": "number",
      "minimum": 0
    }
  },
  "required": [
    "cash30",
    "cac"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢email_list_reactivation_value(contacts, orderValue, reachable, buyRate, partnerShare)

Estimates buyers and revenue from one offer to past customers in low / mid / high scenarios, with an optional partner revenue share.

Input Schema

{
  "type": "object",
  "properties": {
    "contacts": {
      "type": "number",
      "minimum": 0,
      "description": "Number of past contacts."
    },
    "orderValue": {
      "type": "number",
      "minimum": 0,
      "description": "Average order value of the offer."
    },
    "reachable": {
      "type": "number",
      "minimum": 0,
      "maximum": 100,
      "description": "Percent of contacts still reachable. Default 70."
    },
    "buyRate": {
      "type": "number",
      "minimum": 0,
      "maximum": 100,
      "description": "Expected percent of reached contacts who buy. Default 1."
    },
    "partnerShare": {
      "type": "number",
      "minimum": 0,
      "maximum": 100,
      "description": "Optional partner revenue share percent. Default 0."
    }
  },
  "required": [
    "contacts",
    "orderValue"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢hotel_ota_commission_calculator(rooms, adr, occupancy, otaShare, commission, ...)

For hotels, ryokan, guesthouses, and B&Bs: yearly room revenue, commission paid to OTAs (Booking.com, Expedia, Agoda...), commission as a share of revenue (HIGH / MED / LOW), and net savings from moving a share of OTA bookings to direct. Any currency.

Input Schema

{
  "type": "object",
  "properties": {
    "rooms": {
      "type": "number",
      "minimum": 0,
      "description": "Number of rooms."
    },
    "adr": {
      "type": "number",
      "minimum": 0,
      "description": "Average daily rate per occupied room."
    },
    "occupancy": {
      "type": "number",
      "minimum": 0,
      "maximum": 100,
      "description": "Average yearly occupancy percent. Default 70."
    },
    "otaShare": {
      "type": "number",
      "minimum": 0,
      "maximum": 100,
      "description": "Percent of room revenue booked via OTAs. Default 60."
    },
    "commission": {
      "type": "number",
      "minimum": 0,
      "maximum": 100,
      "description": "Average OTA commission percent. Default 18."
    },
    "directCost": {
      "type": "number",
      "minimum": 0,
      "maximum": 100,
      "description": "Cost of a direct booking as percent of revenue. Default 3."
    },
    "shift": {
      "type": "number",
      "minimum": 0,
      "maximum": 100,
      "description": "Percent of OTA bookings moved to direct. Default 20."
    }
  },
  "required": [
    "rooms",
    "adr"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢saas_self_host_savings(spend, hostingPerMonth, hourlyRate)

Give monthly spend per paid tool (ids: mixpanel, semrush, freshbooks, calendly, chargebee, typeform, pipedrive, gohighlevel, intercom). Returns the open-source swap for each (repo, license, caveat), yearly savings after hosting, setup hours and cost, break-even months, and a SWITCH / MAYBE / KEEP verdict.

Input Schema

{
  "type": "object",
  "properties": {
    "spend": {
      "type": "object",
      "propertyNames": {
        "type": "string",
        "enum": [
          "mixpanel",
          "semrush",
          "freshbooks",
          "calendly",
          "chargebee",
          "typeform",
          "pipedrive",
          "gohighlevel",
          "intercom"
        ]
      },
      "additionalProperties": {
        "type": "number",
        "minimum": 0
      },
      "description": "Map of tool id to monthly spend in dollars, e.g. {\"mixpanel\": 300, \"intercom\": 150}."
    },
    "hostingPerMonth": {
      "description": "Estimated monthly server cost to self-host. Default 20.",
      "type": "number",
      "minimum": 0
    },
    "hourlyRate": {
      "description": "Value of an hour of setup time. Default 50.",
      "type": "number",
      "minimum": 0
    }
  },
  "required": [
    "spend"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢list_open_source_saas_alternatives

Lists every covered paid tool (Mixpanel, Semrush, FreshBooks, Calendly, Chargebee, Typeform, Pipedrive/HubSpot, GoHighLevel, Intercom/Zendesk) with its open-source swap, GitHub repo, license, setup effort, and main catch.

Input Schema

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢ads_policy_notice_risk_check(notice)

Paste the text of a Google Ads, AdSense, Merchant Center, or Meta (Facebook/Instagram) ads suspension, disapproval, or policy notice. Returns HIGH / MED / LOW risk, the platform, the policy phrases found with plain-language explanations, and a next-step checklist. Heuristic only; never suggests replacement accounts or files appeals.

Input Schema

{
  "type": "object",
  "properties": {
    "notice": {
      "type": "string",
      "minLength": 20,
      "maxLength": 20000,
      "description": "Full notice text. Remove account IDs and personal data."
    }
  },
  "required": [
    "notice"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢app_store_wrapper_precheck(name, description, stack, features)

For Capacitor, WebView, PWA-shell, React Native, or AI-generated iOS apps: scores rejection risk under Guideline 4.2 (minimum functionality / web wrapper), 4.3 (spam / clone), and metadata, with reasons and how native each feature reads. Not legal advice; Apple decides.

Input Schema

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "minLength": 1,
      "description": "App name."
    },
    "description": {
      "type": "string",
      "minLength": 1,
      "description": "One-line description of what the app does."
    },
    "stack": {
      "type": "string",
      "enum": [
        "capacitor",
        "webview",
        "react-native",
        "pwa",
        "other"
      ],
      "description": "How the app is built."
    },
    "features": {
      "minItems": 1,
      "maxItems": 3,
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Up to three key features, e.g. [\"Home screen widget\", \"iOS share sheet\", \"Face ID lock\"]."
    }
  },
  "required": [
    "name",
    "description",
    "stack",
    "features"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢faceless_youtube_reality_check(visual, voiceover, scripts, revenueTiming, estimates, ...)

Seven multiple-choice answers about a faceless or AI YouTube channel plan. Returns HIGH / MED / LOW expectation and monetization-policy risk with signals and myths to drop. Pushes back on viral '$10k/month with AI YouTube' claims. Not a ban prediction.

Input Schema

{
  "type": "object",
  "properties": {
    "visual": {
      "type": "string",
      "enum": [
        "ai_slideshow",
        "stock_mass",
        "original_filmed",
        "mixed"
      ],
      "description": "Main visual style."
    },
    "voiceover": {
      "type": "string",
      "enum": [
        "ai_voice",
        "human_vo",
        "text_only"
      ],
      "description": "Main voiceover."
    },
    "scripts": {
      "type": "string",
      "enum": [
        "identical_template",
        "researched_original",
        "trend_recycled"
      ],
      "description": "How scripts are made."
    },
    "revenueTiming": {
      "type": "string",
      "enum": [
        "before_ypp",
        "after_ypp",
        "not_counting"
      ],
      "description": "When money is expected relative to the YouTube Partner Program."
    },
    "estimates": {
      "type": "string",
      "enum": [
        "as_income",
        "as_guesses",
        "unused"
      ],
      "description": "How VidIQ / SocialBlade earnings estimates are treated."
    },
    "timeline": {
      "type": "string",
      "enum": [
        "ten_k_fast",
        "multi_month",
        "unsure"
      ],
      "description": "Expected timeline."
    },
    "niche": {
      "type": "string",
      "enum": [
        "broad_storytime",
        "researched_angle",
        "mixed"
      ],
      "description": "Niche."
    }
  },
  "required": [
    "visual",
    "voiceover",
    "scripts",
    "revenueTiming",
    "estimates",
    "timeline",
    "niche"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢ai_infrastructure_bottlenecks(slug)

Explains the physical constraints on the AI buildout beyond chips: compute, memory (HBM), optics, power, space (sites, backhaul), and servers (racks, cooling). Omit slug for all six. Includes example public companies often cited in discussion; these are not investment picks.

Input Schema

{
  "type": "object",
  "properties": {
    "slug": {
      "description": "Optional: one bottleneck.",
      "type": "string",
      "enum": [
        "compute",
        "memory",
        "optics",
        "power",
        "space",
        "servers"
      ]
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢ai_bottleneck_quiz(answers)

Without answers, returns the five quiz questions with options. With answers (one slug per question from: compute, memory, optics, power, space, servers), returns the most constrained bottleneck.

Input Schema

{
  "type": "object",
  "properties": {
    "answers": {
      "description": "One slug per question.",
      "maxItems": 10,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "compute",
          "memory",
          "optics",
          "power",
          "space",
          "servers"
        ]
      }
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢viral_attention_patterns(platform)

Patterns of how attention spreads (TikTok sound reuse, X quote-post piles, stitch chains, group-chat forwards, and more), each with the signal to watch and the lesson. Optional platform filter. Educational; attention is not an investment signal.

Input Schema

{
  "type": "object",
  "properties": {
    "platform": {
      "description": "Optional platform filter, e.g. TikTok or X.",
      "type": "string"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢viral_attention_quiz(answers)

Without answers, returns six questions. With answers (one of chaser, inventor, reader per question), returns the user's tilt with a short explanation.

Input Schema

{
  "type": "object",
  "properties": {
    "answers": {
      "description": "One tilt per question.",
      "maxItems": 12,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "chaser",
          "inventor",
          "reader"
        ]
      }
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢japan_trip_plan(city, month, traveler)

Where to stay, festivals and seasonal highlights, things to do, crowd level, weather, and warnings (Golden Week, Obon, rainy season, typhoons, New Year closures) for a Japanese city in a given month, with stay areas ranked for the traveler type and booking search links. Typical seasonal patterns, not live data.

Input Schema

{
  "type": "object",
  "properties": {
    "city": {
      "type": "string",
      "enum": [
        "tokyo",
        "kyoto",
        "osaka",
        "sapporo",
        "hiroshima",
        "naha"
      ],
      "description": "City id."
    },
    "month": {
      "anyOf": [
        {
          "type": "integer",
          "minimum": 1,
          "maximum": 12
        },
        {
          "type": "string"
        }
      ],
      "description": "1-12 or English month name."
    },
    "traveler": {
      "description": "Optional traveler type; ranks stay areas for them.",
      "type": "string",
      "enum": [
        "solo",
        "couple",
        "family",
        "budget",
        "luxury",
        "nightlife"
      ]
    }
  },
  "required": [
    "city",
    "month"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢japan_trip_options

Lists supported Japanese cities (with regions, peak months, and stay areas), months with season and crowd level, and traveler types for japan_trip_plan.

Input Schema

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded16 tools