CitedEvidenceResearch APIs

Research MCP

25 research tools through Streamable HTTP and a JSON API.

Reuse your existing account API key with Research enabled. Enable Metadata for Scholar calls and Files for CEDOA calls on that same key. Browser cookies and third-party provider keys do not authenticate this service.

Connect an AI client

Use a Streamable HTTP client with configurable authorization headers. There is no OAuth login flow. Configuration syntax varies by client; the URL and Bearer header below are the required connection values.

{
  "mcpServers": {
    "citedevidence-research": {
      "url": "https://scholar.citedevidence.com/api/v1/research/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_CITEDEVIDENCE_API_KEY"
      }
    }
  }
}

The transport is stateless and does not require an Mcp-Session-Id. An MCP client handles initialization and notifications. The older five-tool /mcp endpoint is for legacy integrations.

MCP transport example

  • POST/api/v1/research/mcp

    Initialize a connection using JSON-RPC. Advertise both JSON and event-stream response types.

    curl -sS -H "Authorization: Bearer $CE_API_KEY" \
      -H "Content-Type: application/json" \
      -H "Accept: application/json, text/event-stream" \
      --data '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-11-25","capabilities":{},"clientInfo":{"name":"research-client","version":"1"}}}' \
      "https://scholar.citedevidence.com/api/v1/research/mcp"

JSON tool API

Send tool arguments directly as JSON, without a JSON-RPC wrapper. The response contains content, optional structuredContent, and isError. Inspect isError even for HTTP 200; the underlying result is commonly in structuredContent.result. Exact argument schemas are available from the authenticated catalogue and its Playground preset.

  • GET/api/v1/research/tools

    Live tool catalogue and input schemas. Requires the Research use case.

  • GET/api/v1/research/sources

    Source catalogue and identifiers. Requires authentication.

  • POST/api/v1/research/tools/search_papers

    Search CEDOA using Research and Files on the same key.

    curl -sS -H "Authorization: Bearer $CE_API_KEY" \
      -H "Content-Type: application/json" \
      --data '{"query":"climate","source":"cedoa","num_results":5,"brief":false}' \
      "https://scholar.citedevidence.com/api/v1/research/tools/search_papers"

Sources and content

citedevidence is Scholar metadata. cedoa only returns content-backed papers with at least one format: fulltext, xml, pdf (stored), or pdf_url (external). MCP returns links and manifests, not large PDF bytes.

External source IDs are s2, google_scholar, openalex, crossref, pubmed, arxiv, medrxiv, biorxiv, orcid, and unpaywall. Supported operations and availability vary by provider.

smart_search defaults to Scholar, CEDOA, Semantic Scholar, and Crossref with early stopping. An explicit sources list queries each selected source, up to six. Inspect source_status and partial for failures. Provenance and provider-specific citation counts are preserved, not added together.

Abstracts and snippets are not fulltext. Check source licences before reuse; external PDF links can fail or expire.

Discovery and verification

smart_search
Multi-source discovery with deduplication and provenance.
find_paper
Resolve known identifiers and enrich with local content availability.
search_papers
Search a selected source.
search_authors
Find researchers.
get_author
Retrieve a researcher profile.
get_author_works
Retrieve an author's publications.
get_author_funding
Read public ORCID funding information.
get_paper_network
Find Semantic Scholar citations and references.
recommend_papers
Get Semantic Scholar related-paper recommendations.
batch_get_papers
Look up Semantic Scholar papers in a batch.
preprints
Inspect preprint dates, recent records, and publication status.
get_institution
Retrieve OpenAlex institution information.
open_access
Resolve Unpaywall locations and enrich with CEDOA.
validate_citations
Verify identifiers; a failed lookup is not proof of nonexistence.

Literature reviews

create_review
Create a private review.
reviews
List or inspect your reviews.
delete_review
Permanently delete a review.
set_active_review
Set or clear your account's search auto-logging destination.
add_papers_to_review
Resolve and add paper identifiers.
get_review_papers
Browse and filter review papers.
update_paper_status
Update screening status.
snowball_search
Add citations and references to a review.
export_review
Export DOI lists or structured records.
prisma_counts
Compute review workflow counts.

Account cache

cache_manage
Inspect or clear only your account's research cache.

Review workflow

  1. Create a review with create_review, then set its returned ID with set_active_review.
  2. Search to log discoveries, add identifiers, or run snowball_search.
  3. Browse get_review_papers and screen with update_paper_status.
  4. Inspect prisma_counts and export_review.
  5. Set review_id: null with set_active_review to stop auto-logging.

All keys for one account share reviews, cache, and the active review. Search calls can log results to that active review. Confirm destructive actions such as deleting reviews or clearing caches. Counts assist reporting but do not certify methodological compliance.

Limits and recovery

Research quotas are per key and use case; inspect response headers and Account API keys for effective limits. Calls into Metadata or Files also consume those quotas. Only one tool invocation per account can run at a time, and provider limits still apply.

Tools have a 60-second deadline. A timeout may happen after a review write completes: inspect review state before retrying. Respect Retry-After on 429. Invalid keys return 401, disabled use cases 403, and unavailable authentication 503.