Zero-auth cross-domain research MCP server — web, academic, GitHub, news, weather, macro/finance, SEC, biomedical, Bluesky, YouTube, and more.
OpenResearch MCP demonstrates solid definition quality across 22 tools. All tools have clear, descriptive names following verb_noun conventions (web_search, read_url, search_openalex, etc.). Descriptions are well-written and contextual (avg ~150 chars), explaining both what the tool does and when to use it. Tool annotations are properly defined (readOnlyHint=true across all tools, appropriately destructiveHint=false, idempotentHint set correctly). Input schemas are present for all tools with typed parameters (string, integer, enum). Output documentation is implicit through descriptions rather than explicit JSON Schema documentation. Error handling is minimal but reasonable given the read-only nature. The server's instructions in server.py provide excellent context, including a tool selection guide that compensates for individual tool gaps.
Full Bluesky profile: bio and follower/following/post counts. No API key required. Cheap context before reading a feed.
Annual revenue, earnings, and assets for a US-listed company by ticker, from SEC 10-K filings. No key (set SEC_USER_AGENT to your email to comply with SEC fair-access).
Yearly socio-economic series (GDP, population, inflation, migration, life expectancy…) for a country + indicator code. No key needed (World Bank).
Cryptocurrency price (current or daily history) by coin id/symbol vs a quote currency. No key needed (CoinGecko, keyless tier is rate-limited).
The current UTC date/time. Call this to anchor any relative request ('last 30 days', 'since last year', 'recent') instead of guessing today's date.
Currency exchange rates (ECB): latest, a historical date, or a date-range series (downsample week/month). No key needed (Frankfurter).
Past climate series (since 1940) for a place + date range, aggregated monthly or yearly for trend/anomaly analysis. No key needed (Open-Meteo).
Output schemas not explicitly documented. While input schemas are present with types and descriptions, the response structure for each tool is described in prose only (tool descriptions), not as formal JSON Schema output schemas. This requires LLMs to infer the response format and may lead to incorrect field access or chaining assumptions.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 69 | 2026-07-28+ | v2 |
Current conditions + up to 16-day daily forecast for a place by name. No key needed (Open-Meteo).
Fetch captions from a YouTube video for summarization or citation. Accepts full URLs, youtu.be links, shorts, or bare 11-char video IDs.
A user's recent original posts (reposts/replies filtered). No API key required. Chain: search_openalex → search_bluesky_users → read_bluesky_feed to see live discourse from paper authors.
Extract text from any PDF or arXiv paper. Accepts /abs/, /pdf/, and /html/ arXiv URLs interchangeably.
Explore a public GitHub repository: returns metadata, README, file tree, and key config/doc files. Accepts owner/repo shorthand or full GitHub URL.
Fetch and extract the full text of a specific webpage. Strips navigation and scripts, returns clean text.
Find researcher/dev Bluesky profiles by name, handle, or bio. No API key required.
Biomedical / life-science literature; flags open-access papers and gives a PDF URL to feed into read_pdf. Complements search_openalex (which covers all disciplines).
Search Hacker News stories and discussions via Algolia API. No API key required.
Find a World Bank indicator code by keyword ('GDP', 'migration'); feed the code into get_country_indicator.
Fresh global news on a topic (multilingual) via GDELT; returns articles to feed into read_url. Rate-limited to ~1 call / 5 s — don't loop; it returns a retry message if tripped.
Search OpenAlex for academic papers, books, and datasets. 250M+ works, zero rate limiting on free tier. Set OPENALEX_EMAIL for polite pool.
Full-text search of SEC EDGAR filings (10-K/10-Q/8-K) by keyword/company; returns a document URL to feed into read_url or read_pdf.
Search Stack Overflow for questions and answers. No API key required (throttled without key).
Search the web using DuckDuckGo. Returns web search results with titles, URLs, and snippets.
Pagination not explicitly documented for list-returning tools. Tools like search_openalex, search_hacker_news, search_news, and search_bluesky_users accept max_results but do not document whether they support offset/page parameters, return a total_count, or provide next_cursor for continued pagination. This limits agents' ability to iterate through large result sets.
Error recovery guidance is absent from descriptions. Tools do not document what LLMs should do if a search returns no results, if a URL is unreachable, or if a rate limit is hit. While rate limits are mentioned for search_news and search_stackoverflow, recovery paths are not clear.
Field naming consistency across tools. Some tools return 'snippet' (web_search), others return 'text' or 'content'. While this may reflect upstream API differences, it increases LLM cognitive load when chaining results and forces explicit field mapping.
Parameters like 'place' and 'handle' are human-friendly but may benefit from separate ID-based alternatives for systems that have internal IDs. Current design assumes natural-language input, which is appropriate for agent use but limits integration with systems that only provide identifiers.