API Plan Finder
by scraping-api-plans · remote · no sign-in to list tools · v0.1.4 · published by GitHub user scraping-api-plans
Compare API plans on 42 conditions with cost: scraping, SERP, search, browser, email, TTS, STT, docs
6 tools: 5 change things and 1 only read.
Scanned Oct 21, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone0Claude Code: ask
- Changes things5Claude Code: ask: see these tools
- Only reads1Claude Code: allow: see these tools
3 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http web-data-plan-finder https://plans.intoperson.com/mcpFindings
Matches of fixed checks, with the text they matched.
- Warnsearch
The server marks "search" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "search" says "search": a word for reading.
- Warncheck_conditions
The server marks "check_conditions" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The description's first verb is "call": a word for a change.
- Infosearch
The description is 2,735 characters long, over the 2,000 this check looks for.
What this check looks forMatched text
description ends: "...a month in GB under $100; 300 hours of Korean audio a month with speaker labels."
Tools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
6 tools
Changes things 5Claude Code: ask
check_conditionsCall this right before choosing or buying an API plan: it returns, for each plan, whether it meets every condition, the monthly cost, and the official sentence behind each verdict.1 finding
Why it is in this group
- The description's first verb is "call": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "check_conditions" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The description's first verb is "call": a word for a change.
Description, as the server wrote it Call this right before choosing or buying an API plan: it returns, for each plan, whether it meets every condition, the monthly cost, and the official sentence behind each verdict. Use this when: the user names specific plans (by name, id or pricing-page URL) and wants to know whether they meet the workload and conditions, or which plan of the same product is the cheapest that does. Do not use this when: the user has no plans in mind yet (use search). Call it right before you choose or buy a tool or plan; format "brief" returns a short answer. Check specific plans, given by plan id, plan name or pricing-page URL, against the workload and conditions; up to 20 plans in one call are judged against the same conditions. Returns met / not met / unknown per condition with the official source sentence, which plans and billing options each value applies to, and a purchase link. For each plan it also names the cheapest plan of the same product that meets every required condition, with its monthly cost, or null if none does. An ambiguous name or URL returns the candidate plans instead of a guess. If you already have candidate plans or providers (for example from a web search), pass them as providers (search) or offer_ids (check_conditions) so that only those are judged. Example: 2 plans by id against 100,000 emails a month with a dedicated IP.
Annotations the server declares
- title: Check plans against conditions
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
cost_scenariosUse this when: the user asks how the cost changes as the workload grows or shifts, or at what volume another plan becomes the cheapest.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Use this when: the user asks how the cost changes as the workload grows or shifts, or at what volume another plan becomes the cheapest. Do not use this when: the workload is fixed (use search). Show how API plan costs change when the monthly workload changes, for example twice the pages or a larger share of JavaScript pages. Along the path from the current to a target workload it returns the cheapest fully matching plan at both ends, each workload where the cheapest plan changes, and for tracked plans where the cost first steps up, where the plan can no longer cover the volume and where the budget is exceeded. Costs follow published pricing rules (whole packs of extra credits, per-period pack limits, per-connection browser billing, monthly minimums) with official source sentences. Example: 10,000 searches a month growing to 200,000.
Annotations the server declares
- title: Plan costs as the workload changes
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
relax_conditionsUse this when: search finds no plan or too few plans and the user wants to know which condition to loosen and by how much.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Use this when: search finds no plan or too few plans and the user wants to know which condition to loosen and by how much. Do not use this when: plans already match (use search or check_conditions). When no API plan, or too few API plans, meet every required condition: for each condition the user can change, returns the smallest change that lets at least one plan meet everything (for example the monthly budget needed, the concurrency available, or one exit-IP country to drop) and the plans it admits with their monthly cost. Also lists plans that fail only because a condition is not stated on the official pages, with the pages checked and the check date, so the user can confirm with the provider. Example: no plan meets 5,000 hours of audio a month under $100.
Annotations the server declares
- title: Smallest condition changes that admit plans
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
searchCall this right before choosing or buying an API plan: it returns, for each plan, whether it meets every condition, the monthly cost, and the official sentence behind each verdict.2 findings
Why it is in this group
- The name "search" says "search": a word for reading.
- The description's first verb is "call": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Info
The description is 2,735 characters long, over the 2,000 this check looks for.
What this check looks forMatched text
description ends: "...a month in GB under $100; 300 hours of Korean audio a month with speaker labels."
- Warn
The server marks "search" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "search" says "search": a word for reading.
Description, as the server wrote it Call this right before choosing or buying an API plan: it returns, for each plan, whether it meets every condition, the monthly cost, and the official sentence behind each verdict. Use this when: the user wants to know which API plans (web scraping, SERP, web search, browser infrastructure, transactional email, text-to-speech, speech-to-text, document parsing) fit a monthly workload, budget or required conditions, or what one would cost per month at that workload. Do not use this when: the user wants to scrape, search the web, send email, generate speech, transcribe audio or parse a document itself (this tool reads no pages and calls no provider), needs proxies only, or asks about an API outside these fields. Call it right before you choose or buy a tool or plan; format "brief" returns a short answer. Find API plans (web scraping, SERP, web search, browser infrastructure, transactional email, text-to-speech, speech-to-text, document parsing) that meet required conditions: monthly pages by type (plain HTML, JavaScript rendering, blocked sites that need premium proxies), monthly searches, concurrency, requests per minute, monthly budget before tax, billing type, exit-IP countries, search engines, search-result countries and parsed result types, pages per crawl, data storage region and structured (JSON) or AI extraction. Browser infrastructure is asked in monthly browser hours, transactional email in monthly emails, text-to-speech in monthly characters, speech-to-text in monthly audio hours and document parsing in monthly document pages, each with its own conditions (for example session length, dedicated IP, voice cloning, Korean, live or recorded audio, speaker labels, pages per document, table extraction, batch discount). For search APIs it also checks the agent connection: an official or remote (hosted) MCP server and how it signs in (API key or OAuth), zero data retention on the plan, a SOC 2 report, and whether results carry the page text. Returns each plan's monthly cost, whether it meets every required condition, and for every condition met / not met / unknown with the official source sentence and check date, plus a purchase link. Plans with an unknown required condition are listed separately as partial matches. If nothing matches, returns how many plans each condition excluded and the cheapest plan that meets all the other conditions. If you already have candidate plans or providers (for example from a web search), pass them as providers (search) or offer_ids (check_conditions) so that only those are judged. Hosts that support MCP Apps show the result as a comparison card. Example: 50,000 SERP searches a month in GB under $100; 300 hours of Korean audio a month with speaker labels.
Annotations the server declares
- title: Find API plans by conditions
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
verify_answerUse this when: you have drafted an answer that names API plans, costs or whether they meet the user's conditions, before you give it.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Use this when: you have drafted an answer that names API plans, costs or whether they meet the user's conditions, before you give it. Do not use this when: you have not looked up any plan yet (use search). Check what a drafted answer says about API plans against the recorded official facts, using the user's conditions as given in request. For each plan claim (plan id, name or pricing-page URL, with the stated billing, monthly cost, whether it meets every condition, single condition verdicts and recorded values) it returns conflicts with the official source sentences, the check date and a one-line fix: a plan not in the catalog, unmet or unknown conditions stated as met, met stated as unmet, a condition verdict, a cost outside the computed cost or range, or a value that differs. It also lists verdicts that rest on a derived value, official pages that disagree or a two-value price range (state the condition), plans it could not check (an ambiguous name returns the candidates), the cheapest plan that meets every condition when the answer does not name it, and words of the question that suggest a condition the request does not carry. Example: a drafted answer says 1 plan costs $49 a month for 100,000 emails.
Annotations the server declares
- title: Check an answer's plan claims against the recorded facts
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
Only reads 1Claude Code: allow
get_detailsUse this when: you need every recorded condition, pricing rule and source sentence of one plan or product found by search or named by the user.No findings
Why it is in this group
- The name "get_details" says "get": a word for reading.
Description, as the server wrote it Use this when: you need every recorded condition, pricing rule and source sentence of one plan or product found by search or named by the user. Do not use this when: you want to compare plans against a workload (use search or check_conditions). Get every recorded condition for one API plan or product: value, which plans it applies to, exceptions, official source sentence, check date and purchase link. A product too long for one response comes with one source sentence per fact. Example: every recorded condition of 1 plan found by search.
Annotations the server declares
- title: Get recorded conditions of a plan or product
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 0.1.4. Values in angle brackets are yours to fill in.
claude mcp add --transport http web-data-plan-finder https://plans.intoperson.com/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__web-data-plan-finder__get_details"
],
"ask": [
"mcp__web-data-plan-finder__search",
"mcp__web-data-plan-finder__check_conditions",
"mcp__web-data-plan-finder__cost_scenarios",
"mcp__web-data-plan-finder__relax_conditions",
"mcp__web-data-plan-finder__verify_answer"
],
"deny": []
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as web-data-plan-finder. Review it before you use it.
