Skip to main content
Glama
spidra-io

spidra-mcp-server

Official
by spidra-io

spidra_search

Read-only

Discover news, academic papers, and GitHub issues by performing web searches. Obtain ranked results, links, and full page content for complex research tasks.

Instructions

Search the web and get back ranked results: titles, links and descriptions, as a search engine shows them. Waits and returns the results, usually in a few seconds.

Use it when you don't know the URL yet, want news, images or videos, or want research papers (arXiv, PubMed, bioRxiv, medRxiv) or GitHub issues and pull requests. Don't use it for a URL you already have: spidra_scrape reads it directly and can extract fields with a prompt or schema.

  • Only "web" results come back unless you set "sources". Each source runs on its own, and an empty one doesn't affect the others. "research" and "developer" ignore includeDomains, excludeDomains and filetype.

  • "includeDomains" or "excludeDomains" (never both) keeps results to, or away from, certain sites.

  • More results: send a source's token from "nextPageTokens" back as "pageTokens" (e.g. {"web": ""}). Ranks continue (11, 12, ...). A source with no token has no more pages.

  • "scrapeOptions" also returns each web result's page as Markdown in the same call. It then takes as long as the slowest page and costs a scrape per page. Results from popular sites (Amazon, LinkedIn, YouTube and others) also get "structuredData".

  • Don't add the current year to queries unless the user asked for it; it skews results.

Cost: 1 credit per 10 results per source, rounded up. A source with no results is free.

Example: {"query": "best espresso machine", "sources": ["web", "news"], "limit": 5}

Input Schema

NameRequiredDescriptionDefault
limitNoResults per source, 1 to 20 (default 10)
queryYesWhat to search for, as you'd type it into a search engine
countryNoTwo-letter country code for local results, or "global", "eu" or "asia"
sourcesNoResult types (default ["web"]). "research" = academic papers, "developer" = GitHub issues and PRs.
filetypeNoOnly PDF files
timeRangeNoOnly results from this recent window
pageTokensNoTokens from a previous response's "nextPageTokens", to get the next page of those sources
scrapeOptionsNoAlso return each web result's page as Markdown, in this same call
excludeDomainsNoNo web results from these domains. Not with includeDomains.
includeDomainsNoOnly web results from these domains. Not with excludeDomains.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.7.0

TDQS

A4.9/5.0
Behavior5/5

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

Goes well past readOnlyHint/openWorldHint: per-source independence and failure isolation, the rule that research/developer ignore domain and filetype filters, token-based pagination with rank continuation, scrapeOptions latency and per-page credit cost, structuredData on popular sites, and the exact credit formula including the free empty-source case. Nothing about the call's cost or side effects is left to inference.

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?

Front-loaded with purpose, then guidance, then a tight bullet block, then cost and an example — a clean hierarchy with no repeated claims. It runs long for a search tool, and the closing year-in-query tip is prompt advice rather than tool semantics, but almost every line carries call-relevant 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?

Ten parameters including a nested scrapeOptions object and no output schema, yet the description covers result shape, pagination lifecycle, failure isolation across sources, cost, and latency tradeoffs. An agent has everything needed to call it and interpret the response.

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 100%, so the baseline would be 3, but the description adds genuine cross-parameter meaning the schema does not carry: includeDomains/excludeDomains are mutually exclusive, research and developer silently ignore the domain filters, and pageTokens must be echoed from nextPageTokens with an inline example showing rank continuity. These interactions are the hard part of calling this tool correctly and they are spelled out.

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 + resource ("Search the web") plus the exact shape of the return ("titles, links and descriptions, as a search engine shows them"). It also names the sibling it is not (spidra_scrape) and the condition that separates them, so an agent can choose 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?

Has explicit "Use it when" and "Don't use it" sections, enumerates the qualified cases (unknown URL, news/images/video, arXiv/PubMed, GitHub issues), and routes the excluded case to spidra_scrape with the reason (direct read plus field extraction). This is the full when/when-not/alternative triad.

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