Skip to main content
Glama

Analysis report for what a person needs

get_analysis_report
Read-onlyIdempotent

Your reply to the person must state the plan, its score (N of 99) and the analysis link — the score is the point of this tool. When the person says something is missing, wrong or not useful (for example a quality number they need), send it with send_feedback (from: user_assistant) — that is how this service learns what to add. Call this first when a person is choosing or buying an API plan (web scraping, web search or SERP, a hosted headless browser, transactional email, text-to-speech, speech-to-text, document parsing): pass question, the person's own words in full detail. Use this when: a person describes what they need from an API in these fields (a workload, a budget, needed features) or asks which plan to pick. Do not use this when: you only need the recorded conditions of one named plan (use get_details) or to check plans the person already named (use check_conditions). The server reads the kind of API, the monthly volume and the conditions from the words (read_from_question shows each field it read and the words that gave it); every search field you also pass is optional and, when you give one, yours is used. It returns the plan that fits most closely with its score out of 99, why, the analysis page the person opens, and how to try it for free. When the kind of API or the monthly volume is missing, or the words do not settle it (two kinds of API, two different figures, a correction), it returns no score and ask_back, and read_from_question marks those items asked with no value: put those questions to the person, then call again with their answers added to the question. Example: "We record about 120 hours of customer support calls a month, need speaker labels and can spend $150 a month" returns a plan, its score out of 99 and the analysis link.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "question": "<question>"
    },
    "name": "get_analysis_report"
  }
}

Input Schema

NameRequiredDescriptionDefault
mcp_authNoWays to authenticate to the provider's hosted MCP endpoint, any one of which will do: api_key, oauth. Met when the endpoint accepts at least one of them; implies a hosted endpoint.
questionYesThe person's own words about what they need, in any language, in as much detail as they gave: what they are building, how much they will use it per month (hours, pages, searches, emails, characters), their budget, what the service must do, and what worries them. Pass it whole; do not shorten it, translate it or turn it into fields.
canvas_idNoThe canvas_id of an earlier answer of this search: give it when the person narrows the request or adds a condition, so the same analysis page is worked out again for the new conditions and the person does not have to open and tap a new one.
needs_dpaNoThe vendor must offer a data processing agreement (DPA) to the buyer.
needs_slaNoThe plan must come with a service level agreement (SLA).
needs_zdrNoZero data retention must be usable on this plan. A provider that offers it only on a custom enterprise agreement does not meet it on its listed plans.
preferredNoNice-to-have conditions; they do not filter, they break ties. Put a condition the person calls nice to have ("would be good", "if possible", "되면 좋겠다") here, not as a required field.
providersNoJudge only the plans of these providers (candidates you already have, for example from a web search). Give provider ids or names as listed, such as "tavily", "Brave Search API" or "You.com"; case does not matter. Names that are not providers here are listed under unknown_providers in the result.
needs_soc2NoThe provider must hold a SOC 2 report: true for Type I or Type II, "II" for Type II.
needs_batchNoThe plan must transcribe recorded audio (a file or a stored recording), for speech-to-text. A plan priced for live audio only is not met.
data_regionsNoRegions where data must be stored or processed, e.g. ["EU"]. Different from exit-IP countries.
needs_koreanNoThe service must voice Korean text (text-to-speech) or transcribe Korean speech (speech-to-text).
billing_typesNoAcceptable billing: monthly_subscription (A plan with a fixed fee (or minimum commitment) billed every month.) annual_subscription (A plan paid for a year at a time.) pay_as_you_go (No plan fee; a price per unit of use, billed after use or drawn from a balance topped up with any amount.) prepaid_credits (Money paid before use: a credit pack, a balance topped up first, or a plan amount charged in advance for the period.) Free plans always qualify.
monthly_pagesNoPages per month by type: plain_html (static pages), javascript (needs rendering), premium_proxy (blocked sites that need residential/premium proxies), javascript_premium_proxy (both).
needs_inboundNoThe service must receive email for the buyer and hand it on (inbound parsing, routes), for transactional email.
product_typesNoLimit to these product types. Default: every type that can serve the workload.
monthly_emailsNoEmails sent per month, for transactional email APIs (SendGrid, Mailgun, Postmark, Resend, Amazon SES, Brevo, Mailtrap, Loops). It is the whole workload: give it instead of monthly_pages, monthly_searches and monthly_browser_hours, not with them. Only email products can serve it; other products are out of scope.
search_enginesNoSearch engines whose results the plan must return, each at the plan's search price: google, bing, yahoo, yandex, baidu, duckduckgo, naver, brave (brave is Brave's own index). monthly_searches is the total over all of them.
captcha_solvingNoThe plan must solve CAPTCHAs for the browser sessions (the vendor does it, not the buyer own service).
min_concurrencyNoMinimum number of concurrent requests (or browsers) the plan must allow.
needs_streamingNoThe service must return audio in real time as it is made (streaming or a WebSocket), for text-to-speech; for speech-to-text, it must transcribe live audio as it arrives. A speech-to-text price line is per mode, so a plan priced for recorded audio only is not met.
monthly_searchesNoSearch requests per month (one results page each).
needs_remote_mcpNoThe provider must host a remote MCP endpoint (a URL an MCP client connects to). An official server that can only be run on the buyer own machine does not meet it.
proxies_includedNoThe plan must include proxy traffic of the vendor (some gigabytes in the plan fee). Proxy traffic sold only per gigabyte on top of the fee, or only on another plan, does not count.
search_countriesNoISO 3166-1 alpha-2 codes of the countries whose search results the searches must return (the search engine's country setting, e.g. Google gl), e.g. ["GB","CA"]. Different from exit_ip_countries.
exit_ip_countriesNoISO 3166-1 alpha-2 codes of countries the page requests must exit from, e.g. ["US","DE"]. For search results of a country use search_countries.
min_pages_per_docNoPages one document may have at the most the plan allows, for document parsing. Met when the stated limit is at least this many (or the pages say there is no page limit); a plan whose pages do not state a limit is unknown. The limit of the largest way of sending (batch or asynchronous) counts.
needs_diarizationNoThe plan must label who spoke (speaker diarization), for speech-to-text. Where the vendor charges extra for it, the extra price is added to the monthly cost; where the pages state no price or no inclusion the plan is unknown.
needs_no_trainingNoAn official page must say the vendor does not use the buyer's text, audio or documents to train its models without the buyer opting in. A use that is on by default with an opt-out to ask for does not count.
session_recordingNoThe plan must record browser sessions (video or replay) that the buyer can watch afterwards.
monthly_charactersNoCharacters of text voiced per month, for text-to-speech APIs (ElevenLabs, Cartesia, Deepgram Aura, OpenAI, Google Cloud, Amazon Polly, Azure, Gradium, Rime, Inworld, MiniMax, Murf, Hume). It is the whole workload: give it instead of monthly_pages, monthly_searches, monthly_browser_hours and monthly_emails, not with them. Only text-to-speech products can serve it; other products are out of scope.
needs_dedicated_ipNoThe plan must come with a dedicated sending IP address, for transactional email. A dedicated IP sold only as an add-on on top of the plan, or only on another plan, does not count.
needs_official_mcpNoThe provider must publish its own MCP server (hosted by it or run by the buyer), stated in its official documentation. A server only a third party published does not count.
ai_extraction_pagesNoHow many of the pages need their fields extracted by an AI model (from a prompt or a schema, or automatically) without writing selectors. Each page counts in one of the two extraction fields.
min_pages_per_crawlNoPages one crawl job (from one start URL, following links) must be able to reach. A plan whose crawl has no page cap meets any number; give the size of the largest site to crawl. Different from the monthly page total.
min_sending_domainsNoSending domains the plan must let one account authenticate, for transactional email. Met when the stated limit is at least this many (or the pages say it is unlimited); a plan whose pages do not state a limit is unknown.
min_session_minutesNoMinutes one browser session must be able to run on this plan, for hosted browsers. Met when the stated longest session of the plan is at least this long; a plan whose pages do not state a session limit is unknown, and a limit the page gives only for another plan is not met.
monthly_audio_hoursNoHours of audio transcribed per month, for speech-to-text APIs (Deepgram, AssemblyAI, Speechmatics, Amazon Transcribe, Google Cloud, OpenAI). A price given per minute is multiplied by 60. It is the whole workload: give it instead of monthly_pages, monthly_searches, monthly_browser_hours, monthly_emails and monthly_characters, not with them. Only speech-to-text products can serve it; other products are out of scope.
monthly_pages_totalNoTotal pages per month when the split by type is not known yet. Costs and verdicts then cover every share of JavaScript-rendered pages from 0% to 100% of the total (no premium proxies), and the result lists monthly_pages under needs_input.
needs_voice_cloningNoThe plan must let the account clone a voice from its own recording, for text-to-speech. Cloning limited to eligible customers, a request form or an enterprise plan does not count for a plan that is not that plan.
persistent_profilesNoThe plan must keep browser profiles (login state, cookies) between sessions.
search_result_typesNoResult types the parsed search response must contain: organic, ads, local_pack, knowledge_graph, people_also_ask, related_searches, shopping, news, images, videos, ai_overview.
max_monthly_cost_usdNoMonthly budget in USD before tax. Compared with listed prices; annual plans use their per-month equivalent.
needs_batch_discountNoAn official page must say a batch or asynchronous way of sending documents costs less than the list price on the plan, for document parsing. The budget and the cost are judged at the list price, not at the batch price.
needs_commercial_useNoThe plan must allow commercial use of the generated audio, for text-to-speech. A free plan limited to non-commercial use does not count; a plan whose pages do not say is unknown.
needs_no_min_billingNoAn official page must say audio is billed by the second (or an increment of seconds) with no minimum billed duration per request, for speech-to-text. A page that says nothing about rounding is unknown.
needs_webhook_eventsNoThe plan must send webhook events to the buyer's server (the vendor calls an address of the buyer when something happens).
monthly_browser_hoursNoBrowser time per month in hours, for hosted browsers (Browserbase, Browserless) billed by browser time. It is the whole workload: give it instead of monthly_pages, monthly_searches and browser_seconds_per_page, not with them. Only browser products can serve it; other products are out of scope.
needs_signed_webhooksNoThe plan must deliver webhooks that the buyer can verify by a signature (a signing secret or a signed endpoint).
max_overage_usd_per_1kNoThe most the plan may charge for each 1,000 emails beyond its included volume, in USD, for transactional email. A plan whose extra price is not published as a per-1,000 figure is unknown.
min_log_retention_daysNoDays the plan must keep the logs or events of sent email where the account can read them, for transactional email. Longer retention sold as an add-on does not count.
monthly_document_pagesNoPages of documents parsed per month, for document-parsing APIs (LlamaParse, Reducto, Unstructured, Mistral OCR, LandingAI, Amazon Textract, Google Document AI, Azure Document Intelligence, Datalab, Mathpix, Mindee, Nanonets, Upstage). A price given per credit is multiplied by the credits one page costs. It is the whole workload: give it instead of monthly_pages, monthly_searches, monthly_browser_hours, monthly_emails, monthly_characters and monthly_audio_hours, not with them. Only document-parsing products can serve it; other products are out of scope.
needs_table_extractionNoThe service must return the tables of a page as structure (rows and cells), not only the text, for document parsing.
search_returns_contentNoThe search response itself must carry the text of the result pages (extracted content), not only titles, links and snippets.
min_requests_per_minuteNoMinimum request rate the plan must allow, per minute.
browser_seconds_per_pageNoBrowser time per page in seconds, for headless-browser products billed by time. Every plan must then serve pages that take this long: a hosted browser does, a request-based API only when one request may run that long.
realtime_search_requiredNoSearch results must be returned in real time (not through a queue).
target_errors_not_billedNoError responses from the target site (e.g. 404) must not be billed.
needs_recurring_free_tierNoThe plan must be usable every month without paying (a free plan with a monthly allowance or a monthly free credit).
failed_requests_not_billedNoRequests that fail on the provider side (timeouts, blocks, 5xx) must not be billed. A flat monthly price for unlimited requests meets it, since no request is billed on its own; when only success-based billing will do, use only_successful_requests_billed.
structured_extraction_pagesNoHow many of the pages must come back as JSON fields rather than HTML or text, by any method the plan offers (CSS or XPath selectors, a schema, or AI). When the fields must be found without writing selectors, use ai_extraction_pages instead; each page counts in one of the two.
only_successful_requests_billedNoBilling must count successful requests only: each successful request is charged (or draws credits) and failed ones cost nothing. A flat monthly price for unlimited requests does not meet it, since the price is the same whatever succeeds.

Output Schema

NameRequiredDescriptionDefault
bestNoThe plan with the highest score: offer_id, name, provider, score (out of 99), score_why, deductions, monthly_cost, try_it.
as_ofNo
answerNoWhat to tell the person, or the questions to put to the person when ask_back is present.
ask_backNoPresent when the kind of API or the monthly workload is missing: no score was worked out. One entry per missing item.
feedbackNo
canvas_idNo
needs_inputNo
analysis_urlNoThe page the person opens in their browser.
read_from_questionNoEach field read from the person's words and the words that gave it; ignored is set when a field you sent was used instead.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, non-destructive and closed-world, so the safety profile is covered; the description goes well beyond that by disclosing the ask_back path when the API kind or volume is missing or ambiguous, the read_from_question field the server derives, and the override rule that explicitly passed fields win over extracted ones. It also names what is returned (best-fit plan, score, reasoning, analysis page, free-trial path).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Organized and mostly front-loaded, using labeled when/when-not blocks and a worked example. It is long, and the opening sentence about how to phrase the reply to the person is housekeeping placed ahead of the tool's own purpose, which slightly buries the primary routing information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 62-parameter, nested-schema search tool with an output schema, the description covers the whole interaction loop: how to call, what gets extracted, what happens on ambiguity, how to resume with answers, and how to recover via feedback. Nothing an agent needs in order to call it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3 and the schema carries the vocabulary for the 62 fields. The description adds meaning beyond the schema by stating that question should carry the person's own words verbatim and that any other search field is optional with caller-supplied values taking precedence over server-extracted ones — a precedence rule the schema does not express.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and artifact: it returns a plan fit for a person's API needs with a score out of 99 and an analysis link. It explicitly distinguishes itself from get_details (recorded conditions of one named plan) and check_conditions (plans the person already named), so an agent can route correctly without opening either schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives explicit when-to-use (a person describing an API need, workload, budget or asking which plan to pick) and explicit when-not-to-use with the named alternative sibling for each case. It also specifies ordering ('Call this first') and the escalation path through send_feedback when the answer is judged inadequate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources