Skip to main content
Glama
rsi-ai-platform

rsi-search-pro-mcp

Official

rsi-search-pro-mcp

One MCP, all the web-research firepower. A transparent meta-MCP that proxies two upstream Cloud Run services:

Upstream

Surface

authority-web-search-mcp

12 tools — Tavily authoritative search, structured fetch, PDF discovery + fetch, AJAX form POST, sitemap walk, Indian-context default routing

browser-research-mcp

3 tools — visit / extract / act via real Chromium + Sonnet vision

The aggregator does no work at build time — it discovers each upstream's tools/list at request time and routes tools/call by name. Updates to either upstream propagate within one TTL window (~5 min); this service only needs to redeploy when the routing logic itself changes.

Fetch ladder

The aggregator's instructions tell the agent to follow a strict cost ladder:

web_search_authoritative → web_fetch_structured → pdf_fetch_structured →
http_post_form → (last resort) visit / extract / act

The browser tools are 5-15× slower than the PDF/AJAX path; using them when the cheap rungs would have worked just burns Chromium-CPU on Cloud Run.

Related MCP server: myscrape

Run locally

uv tool install rsi-search-pro-mcp --python 3.12

# stdio (Claude Desktop, Cursor, …)
uvx rsi-search-pro

# streamable-http (your own backend)
uvx rsi-search-pro --transport streamable-http --port 7863

Environment

Var

Default

Purpose

AUTHORITY_WEB_SEARCH_URL

the prod Cloud Run URL

Override per environment

BROWSER_RESEARCH_URL

the prod Cloud Run URL

Override per environment

MCP_TRANSPORT

stdio

stdio / sse / streamable-http

MCP_HOST / PORT

0.0.0.0 / 7863

Bind for the HTTP transports

ALLOWED_HOSTS

(unset → DNS-rebinding disabled)

Comma-separated allowlist

FORWARDED_ALLOW_IPS

* (in Dockerfile)

Trust proxy headers

Architecture

┌─────────────────────────────────────────────────────────┐
│                  Agent (your backend)                    │
│                          │                               │
│                          │  POST /mcp                    │
│                          ▼                               │
│      ┌──────────────────────────────────────────┐        │
│      │   rsi-search-pro-mcp (Cloud Run)          │        │
│      │                                            │        │
│      │   tools/list  →  merge from upstreams      │        │
│      │   tools/call  →  route to upstream by name │        │
│      │                                            │        │
│      │   5-min catalog TTL                        │        │
│      └────────────┬────────────────────┬──────────┘        │
│                   │                    │                   │
│        ┌──────────▼──────┐   ┌────────▼────────────┐       │
│        │ authority-web-  │   │ browser-research-   │       │
│        │ search-mcp      │   │ mcp                 │       │
│        │ (Cloud Run)     │   │ (Cloud Run)         │       │
│        └─────────────────┘   └─────────────────────┘       │
└─────────────────────────────────────────────────────────┘

License

Apache-2.0.

Available Tools

15 tools
actA

Drive a real Chromium through a sequence of steps, then run Sonnet structured extraction on the final state.

Use this when the data is BEHIND an interaction — a Year/Month dropdown
that fires AJAX inline, a tab to click, a "Load more" button, a form
to submit. `visit` and `extract` only read the page as it loaded;
`act` clicks/types/selects first.

Steps are a list of single-key dicts:
    {"click":  "css-selector"}
    {"fill":   {"selector": "#q", "value": "x"}}
    {"select": {"selector": "#year", "value": "2024-2025"}}
    {"press":  {"selector": "#q", "key": "Enter"}}
    {"scroll": {"to": "bottom"|"top"|<int px>}}
    {"wait_for_selector": "css-selector"}
    {"wait_for_load_state": "networkidle"|"load"}
    {"wait_ms": 1500}
    {"goto":   "https://…"}     // mid-flow navigation
    {"screenshot": {"name": "after-select"}}    // logged, not returned

Example — pull PPAC FY2024-25 monthly consumption (a flow that needs
the year dropdown change to fire an AJAX request):
    act(
      url="https://ppac.gov.in/consumption/products-wise",
      steps=[
        {"wait_for_selector": "#financialYear"},
        {"select": {"selector": "#financialYear", "value": "2024-2025"}},
        {"wait_for_load_state": "networkidle"},
        {"wait_ms": 2000},
      ],
      focus="FY2024-25 monthly LPG, MS, HSD, ATF consumption",
    )

Returns the same shape as `extract` PLUS `step_results` (per-step
timing + ok/error) and `final_url`.

Args:
    url: Starting page URL.
    steps: Ordered list of action dicts (vocabulary above).
    focus: Extraction focus passed to Sonnet.
    timeout_ms: Per-step navigation / wait timeout.
    full_page_screenshot: Whether the final screenshot is full-page.

Returns:
    {url, domain, title, dateline, summary, key_facts[],
     numeric_values[], dates[], tables_summary[], step_results[],
     final_url, kind: "browser"}.
ParametersJSON Schema
NameRequiredDescriptionDefault
urlYes
stepsYes
focusNo
timeout_msNo
full_page_screenshotNo

TDQS

A4.9/5.0
Behavior5/5

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

With no annotations provided, the description fully covers behavioral traits. It details the sequence of steps, various action types (click, fill, select, etc.), timing, screenshots, and the return shape including step_results and final_url. No negative traits are concealed.

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?

The description is well-structured and front-loaded with a clear summary, but it is quite lengthy. However, every sentence adds value, and the example aids understanding.

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?

Given the complexity of 5 parameters and no output schema, the description is complete. It covers all input parameters, step types, and output fields, and provides a concrete example. No missing information.

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

Parameters5/5

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

Schema coverage is 0%, but the description compensates by explaining each parameter: url, steps (with full vocabulary and examples), focus, timeout_ms, and full_page_screenshot. It also describes the return value structure, adding significant meaning beyond the schema.

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?

The description clearly states the tool drives a Chromium through steps and then extracts data using Sonnet. It distinguishes itself from sibling tools 'visit' and 'extract' by noting that they only read the page as loaded, while 'act' performs interactions.

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?

The description explicitly specifies when to use the tool: 'when the data is BEHIND an interaction' such as dropdowns, tabs, buttons, or forms. It also contrasts with alternatives, stating that 'visit' and 'extract' only read the page as it loaded.

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

extractA

Visit a URL → focused Sonnet structured extraction.

Sends BOTH rendered text AND a screenshot to Sonnet — so numbers drawn
via canvas / SVG (chart values on PPAC, RBI, NSE dashboards) that don't
appear in the DOM still get extracted. Same returned shape as
pdf_fetch_structured / web_fetch_structured on authority-web-search-mcp.

Args:
    url: The page URL.
    focus: What to extract, e.g. "monthly LPG, MS, HSD consumption for
           FY2024-25" or "Q4 FY26 EBITDA margin and revenue".
    wait_for_selector: Optional CSS selector to await (see visit).
    full_page_screenshot: Default True so charts below the fold are seen.

Returns:
    {url, domain, title, dateline, summary, key_facts[], numeric_values[],
     dates[], tables_summary[], kind: "browser"}.
ParametersJSON Schema
NameRequiredDescriptionDefault
urlYes
focusNo
wait_for_selectorNo
full_page_screenshotNo

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations, the description carries full burden. It discloses the key behavior: sending rendered text and screenshot to Sonnet, and default full_page_screenshot=True to capture charts below fold. However, it does not mention other behavioral aspects like error handling, rate limits, or destructive effects, though the tool appears read-only.

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

Conciseness5/5

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

The description is concise: a three-sentence introduction followed by bulleted Args and Returns sections. Every sentence provides value, front-loading the purpose and unique selling point. No filler or wasted words.

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

Completeness4/5

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

Given no output schema, the detailed Returns section adequately explains the return shape. All parameters are described. The description covers the key behavioral aspect (screenshot for canvas) and references sibling tools for structure consistency. It could be improved by mentioning potential failure modes or timeouts, but overall is sufficient for a tool of this complexity.

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

Parameters5/5

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

Schema description coverage is 0%, but the description fully compensates by explaining all four parameters: url, focus (with example), wait_for_selector (with reference to visit), and full_page_screenshot (explaining default True for below-fold content). This adds significant meaning beyond the schema's bare names.

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?

The description clearly states the tool's purpose: 'Visit a URL → focused Sonnet structured extraction.' It explains it sends both rendered text and screenshot to Sonnet, enabling extraction of canvas/SVG content not in DOM. It distinguishes itself from siblings like web_fetch_structured by highlighting this unique capability, and notes the returned shape is the same as pdf_fetch_structured/web_fetch_structured.

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

Usage Guidelines4/5

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

The description implicitly guides usage by explaining the screenshot feature for canvas/SVG numbers, but does not explicitly state when to use this tool versus alternatives like web_fetch_structured. It provides clear context for when the tool is beneficial but lacks explicit exclusion conditions or alternative tool names.

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

http_post_formA

POST a form (application/x-www-form-urlencoded) and return the JSON.

The escape hatch for Year/Month/Product dropdowns on government dashboards
that don't change the page URL — the dropdown triggers an AJAX POST and
only renders the result client-side, so pdf_discover and web_fetch can't
see it. Use this when a landing page's dropdown isn't a `<select>` whose
value becomes a query param.

Example — PPAC prior-year (FY2025-26) petroleum consumption:
  url = "https://ppac.gov.in/AjaxController/getConsumptionPetroleumProductsChartData"
  form = {"financialYear": "2025-2026", "reportBy": "1", "pageId": "43"}
  referer = "https://ppac.gov.in/consumption/products-wise"
Returns the full FY2025-26 monthly JSON (April 2025 → March 2026).

Args:
    url: The POST endpoint (usually `/AjaxController/...` on gov sites).
    form: Form fields to submit.
    referer: Optional Referer header — many gov AJAX endpoints reject
             requests without one.
    parse: "json" / "text" / "auto" (default — try JSON, fall back to text).

Returns:
    {url, status, content_type, json (when parseable), text, fetched_at}.
ParametersJSON Schema
NameRequiredDescriptionDefault
urlYes
formYes
refererNo
parseNoauto

TDQS

A4.6/5.0
Behavior4/5

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

No annotations, so description carries full burden. Explains that it's an escape hatch for client-side AJAX calls, mentions referer requirement, and describes parse behavior. Could add details on rate limits or auth, but covers key operational traits.

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?

Well-structured with summary, context, example, and args/returns sections. Front-loaded with core functionality. Slightly verbose but every sentence contributes; minor redundancy in the example could be trimmed.

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

Completeness4/5

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

No output schema, so description includes return format. Covers all key aspects: URL, form, referer, parse. Differentiates from siblings and provides a realistic example. Lacks error handling details, but sufficient for typical usage.

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

Parameters5/5

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

Schema coverage is 0%, but description thoroughly explains each parameter (url, form, referer, parse) with example values and purpose. Clarifies that referer is often required and parse has three modes. Adds significant value beyond schema types.

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?

Explicitly states it POSTs a form with content type application/x-www-form-urlencoded and returns JSON. Distinguishes from sibling tools pdf_discover and web_fetch by targeting AJAX POSTs that don't change the page URL.

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?

Provides explicit when-to-use guidance: 'Use this when a landing page's dropdown isn't a <select> whose value becomes a query param.' Names sibling tools that cannot handle such cases, and includes a concrete example with a government site.

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

pdf_discoverA

List every PDF link on an HTML landing page, with its anchor text.

Use this on HUB pages — PPAC consumption / production / imports, RBI
bulletin month index, MoSPI press-release listings, MoRTH notification
indexes, MCA filing pages — where the actual data lives in attached
PDFs and the page often has Year/Month/Product dropdowns that are
really just client-side filters over the same anchor set. Returns
each PDF's absolute URL and the human-readable anchor text so you can
pick by name (e.g. "Domestic Consumption of Petroleum Products-2026-27",
"Flash Report May 26").
Workflow: pdf_discover → pick by anchor text → pdf_fetch_structured.

Args:
    url: The HTML landing page URL.
    link_text_filter: Optional case-insensitive substring; only anchors
        whose text contains it are returned. E.g. "2026-27", "Flash".
    max_links: Cap on links returned (default 40).

Returns:
    {url, domain, pdfs: [{href, text, label_hint}], count,
     page_title, fetched_at}
ParametersJSON Schema
NameRequiredDescriptionDefault
urlYes
link_text_filterNo
max_linksNo

TDQS

A4.7/5.0
Behavior4/5

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

Discloses that the tool returns PDF URLs and anchor text, notes client-side filters, and explains the return structure. No annotations provided, so description handles burden. Lacks mention of error cases or rate limits, but adequate.

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

Conciseness5/5

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

Well-structured with sections for description, workflow, args, and returns. Each sentence is informative; no wasted words.

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

Completeness4/5

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

Given no output schema, the description provides a clear return structure and workflow context. Moderate complexity tool; description is complete enough for an AI agent to use correctly.

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

Parameters5/5

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

Schema has 0% coverage, but description explains each parameter in detail with examples (e.g., link_text_filter with '2026-27', max_links default 40), adding significant meaning beyond the schema.

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?

Clearly states 'list every PDF link on an HTML landing page, with its anchor text' and provides specific examples of hub pages, distinguishing it from siblings like pdf_fetch_structured.

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?

Explicitly says 'Use this on HUB pages' with concrete examples and outlines a workflow (pdf_discover → pick by anchor text → pdf_fetch_structured), guiding when to use and what to do next.

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

pdf_fetchA

Download a PDF directly and extract its text with pypdf.

Use this WHENEVER a `web_fetch` or `web_fetch_structured` call comes
back saying the content was "binary" or "not extractable" — that's
almost always a Tavily limitation on PDFs that are actually text-based
and perfectly extractable with a proper PDF library. Common cases:
PPAC monthly reports, RBI bulletins, MoSPI press release PDFs, PIB
statements, regulator circulars.

Args:
    url: The PDF URL (.pdf in path, or a server that returns
         Content-Type: application/pdf).
    pages: Optional 1-indexed list of pages to extract (e.g. [1, 2, 5]).
           If omitted, the first `max_pages` are extracted.
    max_pages: Cap on auto-extracted pages when `pages` is omitted.

Returns:
    {url, domain, content, fetched_at, page_count, pages_extracted,
     content_truncated, kind: "pdf"}.
ParametersJSON Schema
NameRequiredDescriptionDefault
urlYes
pagesNo
max_pagesNo

TDQS

A4.7/5.0
Behavior4/5

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

No annotations provided, so description carries full burden. It transparently describes extraction with pypdf, parameter effects, and return structure. Could mention potential size/rate limits, but overall it's well-covered for a read-only tool.

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?

Well-structured with a clear 'when to use' section followed by Args. Every sentence adds value. Slightly verbose but not excessive; could be tightened slightly but still highly effective.

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?

Given 3 parameters, no output schema, no annotations, the description fully explains usage, parameter details, return format, and use cases. Nothing critical is missing.

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

Parameters5/5

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

Schema coverage is 0%, but description adds full meaning: url as PDF URL, pages as 1-indexed list, max_pages as auto-extraction cap. Explains defaults and behavior when pages is omitted. This compensates completely for the schema gap.

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?

Clearly states it downloads a PDF and extracts text with pypdf. Distinguishes from siblings like web_fetch by specifying when to use it (when binary/not extractable) and lists common use cases (PPAC reports, RBI bulletins, etc.).

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?

Explicitly says 'Use this WHENEVER a web_fetch or web_fetch_structured call comes back saying the content was binary or not extractable', providing clear context and alternatives. The description of common cases further guides correct usage.

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

pdf_fetch_structuredA

Direct PDF download + pypdf extraction → focused LLM pass → structured JSON.

Same returned shape as `web_fetch_structured` (title, dateline,
key_facts[], numeric_values[], dates[], tables_summary[]) but goes
through the PDF path. Use when you have a PDF URL and want the values
extracted into a structured shape rather than just raw text.
ParametersJSON Schema
NameRequiredDescriptionDefault
urlYes
focusNo
pagesNo
max_pagesNo

TDQS

A3.6/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden. It discloses the processing pipeline (download, pypdf extraction, LLM pass) and the return shape. This provides good transparency for an agent, though it does not cover potential failure modes or side effects.

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?

The description is concise, with two sentences plus a pipeline line. It is front-loaded with the core processing steps. Some structure could be improved, but it is effective and not verbose.

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

Completeness2/5

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

Given the complexity (4 parameters, no output schema), the description is incomplete. It does not describe the parameters' roles, error handling, or return behavior in detail. The agent would lack critical information to use the tool correctly.

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

Parameters1/5

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

Schema description coverage is 0%, meaning the description must compensate. However, the description does not explain any of the four parameters (url, focus, pages, max_pages) beyond the schema field names. This is a significant gap.

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?

The description clearly states the tool's purpose: downloading a PDF, extracting with pypdf, passing through an LLM, and returning structured JSON. It also explicitly names the output fields and compares to web_fetch_structured, distinguishing it from siblings.

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

Usage Guidelines4/5

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

The description gives a clear when-to-use: 'Use when you have a PDF URL and want the values extracted into a structured shape rather than just raw text.' It does not explicitly say when not to use or list alternatives, but the comparison to web_fetch_structured provides implicit guidance.

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

pick_authority_domainsA

Decide which AUTHORITY domains a query should be restricted to.

Call this BEFORE any web search when the query has an authoritative
answer — official regulators, statistical agencies, market exchanges,
industry SROs. Returns the ranked list keyed by `primary` and `secondary`.

Args:
    query: The user question (free text).
    indicators: Optional indicator hints (e.g. ["repo_rate", "cpi_inflation"]).
    jurisdiction: ISO code: "IN", "US", "UK", "EU". Drives jurisdiction defaults.
    topic_hint: One of "regulator", "market", "news", "company_ir",
                "statistics", "academic", "any".
    additional_authority_sources: If you've already resolved authority
        sources for the indicators (e.g. ["RBI", "MOSPI"]), pass them
        here — they will be expanded to domains via the AUTHORITY_DOMAINS
        registry and used as the primary set.

Returns:
    {primary, secondary, primary_sources, secondary_sources,
     hints, landing_pages, rationale, query, current_date}

    `hints` (when non-empty) are DOMAIN-SPECIFIC INSTRUCTIONS you MUST
    follow for this query — e.g. "for GST collections, prefer the Excel
    files at gst.gov.in/download/gststatistics over PDF press releases".
    `landing_pages` are URLs you should fetch DIRECTLY (web_fetch_structured)
    before broadening the search.
ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes
indicatorsNo
jurisdictionNo
topic_hintNo
additional_authority_sourcesNo

TDQS

A4.7/5.0
Behavior5/5

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

With no annotations, the description carries full behavioral disclosure. It explains that the tool returns a ranked list with primary/secondary domains, hints (which must be followed), and landing pages (to be fetched directly). This is thorough and goes beyond basic expectations.

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?

The description is somewhat long but well-structured with a clear header, usage instruction, parameter list, and return value description. Every sentence adds value, though it could be slightly more concise without losing key 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?

Despite no output schema, the description provides a full breakdown of the return type: primary, secondary, sources, hints, landing pages, rationale, etc. The hints and landing pages instructions are particularly valuable. The description is complete for correct usage.

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

Parameters5/5

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

Schema coverage is 0%, but the description includes a detailed Args section explaining each parameter: query (free text), indicators (optional hints), jurisdiction (ISO code), topic_hint (enum values), additional_authority_sources (pre-resolved sources). This adds significant meaning beyond the bare schema.

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?

The description clearly states the tool's purpose: 'Decide which AUTHORITY domains a query should be restricted to.' It specifies that it is for authoritative queries and lists examples (regulators, statistical agencies). This distinguishes it from sibling tools like web_search and web_search_authoritative.

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

Usage Guidelines4/5

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

The description explicitly says 'Call this BEFORE any web search when the query has an authoritative answer' and provides examples of when to use. It does not explicitly state when not to use, but the context is clear. Alternative tools are not named directly, but the purpose implies this is a pre-filter step.

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

todayA

Return the SERVER'S CURRENT DATE (UTC). Call this FIRST whenever the user mentions a temporal phrase like "latest", "current", "today", "yesterday", "this quarter", "this year" — your training-data cutoff is NOT a reliable anchor for what 'today' actually is. Use the returned iso_date (YYYY-MM-DD) and year to construct concrete queries.

Returns:
    {iso_date, iso_datetime, year, month, day, weekday, quarter,
     fiscal_year_in: "FY26", note}
ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.6/5.0
Behavior4/5

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

No annotations are provided, so the description carries the full burden. It discloses that the tool returns a UTC date and lists the returned fields (iso_date, iso_datetime, year, etc.). It does not mention any side effects, but given the read-only nature, this is sufficient. The behavioral context is well-covered.

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?

The description is concise, with the core purpose in the first sentence and no unnecessary words. It includes a bulleted list of return fields, which is efficient. Slightly front-loaded with important usage advice. Could be marginally tighter, but still effective.

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?

Given the tool's simplicity (no parameters, no output schema), the description fully covers what the tool does, when to use it, and what it returns. It addresses potential confusion about temporal anchoring. The sibling tools are diverse, so no risk of overlap.

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?

The tool has zero parameters, and the input schema is empty. Per guidelines, baseline is 4. The description adds value beyond the schema by explaining the return format and usage context, making it informative.

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?

The description clearly states the tool returns the server's current date in UTC, using a specific verb ('Return') and resource ('SERVER'S CURRENT DATE'). It distinguishes from sibling tools which are focused on fetching, searching, or acting, making the tool's unique role obvious.

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?

The description explicitly instructs to call this tool first when the user mentions temporal phrases like 'today' or 'this quarter', and warns that the training data cutoff is unreliable. This provides clear when-to-use guidance and distinguishes it from alternatives.

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

visitA

Open a URL with a real Chromium and return its rendered state.

Use when the cheaper fetch tools (web_fetch, pdf_fetch, http_post_form)
fail because the page is a SPA, JS-rendered chart, login-walled, or has
a dropdown that's not a separate URL.

Args:
    url: The page URL.
    wait_for_selector: Optional CSS selector to await before reading the
        DOM. Use when data appears only after an AJAX call returns —
        e.g. ".chart svg", "table#monthly tbody tr".
    wait_extra_ms: Extra settle time after the wait fires (default 1500).
    timeout_ms: Hard navigation timeout (default 45s).
    screenshot: Whether to capture a PNG INTERNALLY (default True). Adds
        ~200ms; the bytes are used by extract()/act() for Sonnet vision.
    full_page_screenshot: Scroll-stitch the whole page (default False).
    text_cap: Cap on extracted text length (default 30000).
    return_screenshot_b64: Whether to ECHO the base64 PNG back in the
        response. DEFAULT False — typical screenshots are 700KB-1MB and
        accumulating them across an agent's tool-call history blows the
        1M-token context window in ~3 calls. Only opt in when the caller
        actually consumes the bytes (e.g. a browser-canvas UI).

Returns:
    {url, title, domain, text, screenshot_bytes, screenshot_b64 (opt-in),
     fetched_at, current_date}
ParametersJSON Schema
NameRequiredDescriptionDefault
urlYes
wait_for_selectorNo
wait_extra_msNo
timeout_msNo
screenshotNo
full_page_screenshotNo
text_capNo
return_screenshot_b64No

TDQS

A4.7/5.0
Behavior4/5

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

No annotations provided, but description discloses use of real Chromium, screenshot size (~700KB-1MB), internal use by extract/act, text cap, and warnings about context window. Lacks mention of rate limits or redirect handling, but still very transparent.

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?

Well-structured with sections and bullet-like parameter explanations. Each sentence adds value, though slightly long due to necessary detail for 8 parameters.

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?

Covers all aspects: purpose, usage guidelines, parameter details, return values, and behavioral warnings. No output schema, so description fully explains output. Complete for a complex tool with 8 parameters.

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

Parameters5/5

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

Schema coverage is 0%, but description compensates by explaining each of the 8 parameters with usage details, including default values, when to adjust, and impact (e.g., screenshot adds ~200ms, return_screenshot_b64 blows context).

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 clearly it opens a URL with Chromium and returns rendered state. Distinguishes from cheaper fetch tools by listing SPA, JS-rendered chart, login-walled, dropdown scenarios.

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?

Explicitly specifies when to use (when cheaper fetch tools fail) and provides reasons (SPA, JS-rendered, login-walled). Mentions alternative tools by name (web_fetch, pdf_fetch, http_post_form).

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

web_compare_across_sourcesA

Issue THE SAME query across N authority domains in one call. Returns a per-domain top hit plus an agreement matrix.

Use to cross-validate a load-bearing number (e.g. "India CPI April 2025")
across MoSPI / RBI / IMF / press without writing N separate web_search
calls.

Args:
    claim_or_query: The claim or query to test.
    domains: Authority domains to compare (2-6 sweet spot).
    max_results_per_domain: 1-5.

Returns:
    {per_domain[], domains_covered, domains_total,
     agreement: "agree"|"partial"|"conflict"|"insufficient", summary}
ParametersJSON Schema
NameRequiredDescriptionDefault
claim_or_queryYes
domainsYes
max_results_per_domainNo

TDQS

A5/5.0
Behavior5/5

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

No annotations provided, but description fully discloses behavior: it issues the same query across multiple domains, returns per-domain results and agreement matrix. No hidden side effects or unexpected actions.

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

Conciseness5/5

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

Concise and well-structured: one-sentence summary, usage guideline, annotated args, and return structure. No extraneous text.

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?

Despite no output schema, the description includes a return structure. Parameter coverage is complete. Usage context is provided. No gaps given tool complexity.

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

Parameters5/5

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

Schema has 0% description coverage, yet description adds detailed semantics for all 3 parameters: claim_or_query explained as the claim to test, domains explained as authority domains with sweet spot, max_results_per_domain range noted. This fully compensates for missing schema descriptions.

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?

Description clearly states the action: issuing the same query across multiple authority domains and returning per-domain top hits and an agreement matrix. It distinguishes from sibling tools like web_search by focusing on cross-validation across multiple domains.

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?

Explicitly says when to use: to cross-validate a load-bearing number, and why: avoids writing N separate web_search calls. Provides domain count sweet spot (2-6) and parameter ranges.

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

web_fetchA

Plain Tavily extract — returns clean text from a URL.

Prefer `web_fetch_structured` when you need typed key_facts /
numeric_values rather than prose. For PDFs, use `pdf_fetch` instead —
Tavily's Extract often returns "binary / not extractable" for them.
ParametersJSON Schema
NameRequiredDescriptionDefault
urlYes

TDQS

A4.2/5.0
Behavior3/5

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

With no annotations, the description carries full burden. It mentions 'clean text' and PDF limitation but lacks details on error handling, rate limits, or auth needs. Adequate for a simple tool.

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

Conciseness5/5

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

Three sentences, front-loaded with purpose, efficient and free of waste.

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 one-parameter tool with no output schema, the description covers purpose, usage guidelines, and a key limitation (PDFs). Sufficient for selection and invocation.

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

Parameters2/5

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

Schema description coverage is 0%, and the description adds no extra meaning for the single 'url' parameter beyond its name and type. Should provide format or examples.

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?

The description clearly states 'returns clean text from a URL' with a specific verb and resource, and distinguishes from siblings web_fetch_structured and pdf_fetch.

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?

Explicitly says when to use web_fetch_structured for structured data and pdf_fetch for PDFs, providing clear context for alternatives.

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

web_fetch_structuredA

Fetch a URL and extract STRUCTURED data via a focused LLM pass.

Better than plain fetch when you need SPECIFIC numbers from a long
press release / annual report / regulatory document. The extraction is
LLM-mediated so it understands context and won't hallucinate values
not on the page.

Args:
    url: The page URL.
    focus: What to extract, e.g. "CPI YoY April 2025, food inflation,
           core CPI". The LLM uses this to bias its extraction.

Returns:
    {title, dateline, summary, key_facts[], numeric_values[],
     dates[], tables_summary[]}

Requires ANTHROPIC_API_KEY env var. Without it, returns raw text only.
ParametersJSON Schema
NameRequiredDescriptionDefault
urlYes
focusNo

TDQS

A4.3/5.0
Behavior4/5

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

No annotations provided, so description carries full burden. It discloses LLM mediation, no hallucination of values, API key requirement, and return structure. Lacks error handling details.

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?

Well-structured with sections for Args and Returns. Front-loaded with main idea. Slightly verbose but informative.

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

Completeness4/5

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

Covers purpose, usage context, parameter semantics, API key requirement, and return structure. Adequate given no output schema and minimal annotations.

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?

Args section explains both parameters; focus parameter includes an example. Schema has 0% coverage, so description adds significant value.

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?

Description clearly states it fetches a URL and extracts structured data via LLM, with specific use cases (numbers from long documents) that distinguish it from plain web_fetch.

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

Usage Guidelines4/5

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

Explicitly says when to use over plain fetch (specific numbers from long documents) and mentions requirement for ANTHROPIC_API_KEY. Could be improved by stating when not to use.

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

web_search_authoritativeA

Three-pass authoritative web search.

Pass 1: primary authority domains (catalog rules + curated registry).
Pass 2: secondary authority + Tier-1 business press.
Pass 3: open web (toggle via `allow_open_web_fallback`).

Prefer this over plain web search when the query has an authoritative
answer — automates the include-domains discipline and the fallback ladder.

Args:
    query: Search query (free text).
    indicators: Indicator hints; piped to pick_authority_domains.
    jurisdiction: ISO code: "IN", "US", "UK", "EU".
    topic_hint: As in pick_authority_domains.
    include_domains: Manual override; skips pick_authority_domains.
    additional_authority_sources: See pick_authority_domains.
    max_results: Per-pass cap (default 6).
    topic: "general" or "news". When "news", set days for recency window.
    days: Days back for news topic (e.g. 7 = last week).
    allow_open_web_fallback: If False, refuses pass 3.

Returns:
    Tavily result shape plus `pass`, `domains_used`, `authority_score`
    (1.0 primary, 0.6 secondary, 0.3 open web), and `rationale`.
ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes
indicatorsNo
jurisdictionNo
topic_hintNo
include_domainsNo
additional_authority_sourcesNo
max_resultsNo
topicNogeneral
daysNo
allow_open_web_fallbackNo

TDQS

A4.7/5.0
Behavior5/5

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

With no annotations provided, the description fully discloses the three-pass behavior, the fallback mechanism, and the return fields (pass, domains_used, authority_score, rationale). It also notes that if allow_open_web_fallback is False, the tool refuses pass 3. This covers all behavioral aspects beyond the schema.

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?

The description is well-structured with a summary, pass details, usage guidance, and parameter explanations. While comprehensive, it is slightly lengthy but every sentence serves a purpose. A minor reduction could improve conciseness.

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?

Given the tool's complexity (10 parameters, no output schema, no annotations), the description is remarkably complete. It explains the three-pass logic, the return shape, and all parameters, including references to sibling tools. The description leaves minimal ambiguity for an AI agent to use the tool correctly.

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

Parameters5/5

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

Since schema description coverage is 0%, the description must compensate, and it does so thoroughly with an Args section explaining each parameter's purpose and behavior. For example, it clarifies that include_domains skips pick_authority_domains and that days is only relevant for news topic. This adds significant meaning beyond the schema.

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?

The description clearly defines the tool as a three-pass authoritative web search, detailing each pass and explicitly distinguishing it from plain web search by stating 'Prefer this over plain web search when the query has an authoritative answer'. This specific verb+resource combination differentiates it from sibling tools.

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

Usage Guidelines4/5

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

The description provides explicit guidance on when to use the tool ('when the query has an authoritative answer') and what it automates (include-domains discipline and fallback ladder). It does not explicitly mention when not to use it, but the context is clear enough for an AI agent.

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

web_sitemap_walkA

Locate the canonical landing page for a topic on an authority domain via /sitemap.xml or /robots.txt Sitemap: declarations. Falls back to Tavily site-restricted search if the domain doesn't expose a sitemap.

Args:
    domain: e.g. "rbi.org.in".
    topic: The topic to score sitemap entries against, e.g. "press releases".
    max_candidates: 1-20.

Returns:
    {domain, sitemap_urls[], candidates[], method, notes[]}
ParametersJSON Schema
NameRequiredDescriptionDefault
domainYes
topicYes
max_candidatesNo

TDQS

A4.2/5.0
Behavior3/5

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

With no annotations, the description should fully disclose behavior. It explains the workflow (sitemap then search fallback) and return format, but omits potential issues like timeouts, rate limits, or prerequisites (e.g., domain must be valid). This is adequate but not comprehensive.

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

Conciseness5/5

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

The description is very concise: one sentence for core purpose, followed by bulleted Args and Returns. No filler, and the most important information is front-loaded.

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

Completeness4/5

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

Given no output schema, the Returns section compensates by showing the structure. The description covers purpose, parameters, and method. It could be more explicit about scoring criteria or edge cases, but overall it is sufficient for correct invocation.

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?

The input schema lacks descriptions (0% coverage). The description adds concrete examples (domain: 'rbi.org.in', topic: 'press releases') and clarifies max_candidates range (1-20). This adds meaningful guidance beyond the bare schema, though more detailed constraints would be helpful.

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?

The description states a specific action ('Locate the canonical landing page') with a clear method (via sitemap.xml, fallback to Tavily search). It distinguishes this tool from sibling tools like web_search and web_fetch by focusing on sitemap-based discovery and fallback behavior.

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

Usage Guidelines4/5

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

The description provides clear context ('on an authority domain') and explains the fallback mechanism, helping the agent decide when to use it. However, it does not explicitly state when not to use this tool or compare it to alternatives like web_search_authoritative, which limits guidance.

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

TDQS

A4.1/5.0
Disambiguation4/5

Most tools have clearly distinct purposes, but some overlap exists between 'extract' and 'web_fetch_structured' (both do structured extraction) and between 'web_fetch' and 'web_fetch_structured'. Descriptions help disambiguate, but the similar names and functions could cause confusion.

Naming Consistency3/5

Tool names mix conventions: some are simple verbs ('act', 'extract'), some use noun_verb ('pdf_discover', 'web_fetch'), and others are verbose ('web_compare_across_sources', 'pick_authority_domains'). The pattern is not uniform, but names are still readable.

Tool Count5/5

With 15 tools, the set is well-scoped for a search and extraction server. Each tool serves a distinct need, and the count is neither too small nor too large for the domain.

Completeness4/5

The tool set covers major workflows: browsing, fetching, structured extraction, search, PDF handling, and cross-source comparison. Minor gaps exist, such as lack of support for other document formats or authentication, but core requirements are met.

Maintenance

ActivityStale
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    Not graded
    maintenance
    A metasearch backend MCP server that aggregates results from multiple search engines and knowledge sources into structured JSON for AI agents. It provides unified search capabilities across web, academic, developer, and knowledge providers through MCP tools.
    5
    15
  • A
    license
    Not graded
    quality
    A
    maintenance
    A self-contained web-research MCP server that lets local LLM agents search, fetch, and synthesize web content using tools like web_search, web_fetch, and web_research.
    1
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    MCP server for multi-engine web search and web page fetching, supporting parallel search, content extraction, and optional LLM-powered search summarization and deep search.
    2
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/rsi-ai-platform/rsi-search-pro-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server