Unofficial MCP server for OpenEvidence — authenticated through your own logged-in browser tab via a Chromium relay extension (no API key, no Playwright). Fire-and-forget asks, a shared relay daemon for concurrent sessions, BibTeX + Crossref citations.
OpenEvidence MCP has 10 tools with complete input schemas and descriptions. Naming follows verb_noun convention (oe_health, oe_ask, oe_article_get). Descriptions are detailed (100-300 chars) and explain WHEN to use each tool (e.g., oe_health vs oe_auth_status distinction). Parameters are well-typed with enums (access_level in oe_article_set_access). However, output schemas are not documented in the source, LLMs cannot predict return structure. Error handling is absent from visible code. No tool annotations (readOnlyHint/destructiveHint). Parameter descriptions are good but some lack range constraints (e.g., timeout_sec accepts 5-600 but this is only in description, not schema). No pagination guidance for list tools despite potential large result sets.
Fetch an article (answer) by id or /ask/ URL — the fetch-later half of fire-and-forget oe_ask. Returns the current status; if it is still 'pending' either retry later or pass wait_for_completion:true to block until the answer is ready. After verifying the active account, completed answers are served from that account's local SQLite cache when available (from_cache:true) — pass refresh:true to force a re-fetch from OpenEvidence.
Change the share visibility of an article (answer) — make it private, shareable by link, or public.
Fire-and-forget question submission to OpenEvidence. Returns immediately with an article_id; use oe_article_get to fetch the answer later (or pass wait_for_completion:true to block). Respects per-account rate limits (~1 question/sec) — waits transparently if needed.
Check if the local OpenEvidence session is valid (full network round-trip). For a fast pipeline-connectivity check use oe_health instead.
Add an article (answer) to a collection.
Output schemas not documented. LLMs cannot predict return structure for any tool, forcing them to guess what fields are available for downstream operations.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). LLMs cannot distinguish safe read-only tools from destructive ones without explicit hints.
No error handling guidance in tool descriptions. When a tool fails (e.g., invalid article_id, rate limit), LLMs have no recovery path documented.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 62 | 2026-07-28+ | v2 |
Create a new collection (folder) in the OpenEvidence account.
List all collections (folders) in the OpenEvidence account.
Millisecond-fast local check of the relay pipeline (daemon + browser extension) — no OpenEvidence network call. Use this to confirm the pipeline is up before oe_ask; use oe_auth_status only when you need to verify the login session itself.
List question history from OpenEvidence account.
Fetch a public OpenEvidence conversation by URL (no login required). Extracts the answer text, citations, figures, and follow-up questions from the public page.
List tools (oe_history_list, oe_collection_list) lack explicit pagination guidance. No mention of result limits or how to handle large datasets.
Parameter constraints (timeout_sec 5-600, poll_interval_ms 300-10000) are in descriptions but not in JSON Schema minValue/maxValue. LLMs cannot validate before calling.