Skip to main content

MCP server for scholarly literature discovery via arXiv and Semantic Scholar

Project description

literature-discovery-mcp

Private MCP server for scholarly literature discovery. It covers the discovery/metadata side of the LIST literature-search workflow and intentionally delegates web-page/PDF crawling to an external fetch_url MCP.

Capabilities

  • arXiv discovery:
    • search_arxiv_papers
    • get_arxiv_paper
    • search_arxiv_by_author
    • search_arxiv_by_category
    • get_arxiv_urls
  • Semantic Scholar discovery:
    • search_semantic_scholar_papers
    • get_paper_metadata
    • get_paper_citations
    • get_paper_references
    • get_related_papers
    • search_authors
    • get_author
  • Citation export:
    • get_bibtex

Returned arXiv and Semantic Scholar search records use a normalized schema with fields such as:

{
  "id": "arXiv:2402.03300",
  "source": "arxiv",
  "title": "...",
  "authors": ["..."],
  "year": 2024,
  "abstract": "...",
  "url": "https://arxiv.org/abs/...",
  "html_url": "https://arxiv.org/html/...",
  "pdf_url": "https://arxiv.org/pdf/...",
  "doi": "...",
  "citation_count": 42,
  "access": "abstract_only",
  "caveats": []
}

Use your external fetch_url MCP with url, html_url, or pdf_url to retrieve full pages or PDFs.

Install and run

uv sync
uv run literature-discovery-mcp

MCP client configuration example:

mcp_servers:
  literature_discovery:
    command: "uvx"
    args: ["--from", "git+https://github.com/pidgeos/literature-discovery-mcp.git", "literature-discovery-mcp"]
    env:
      SEMANTIC_SCHOLAR_API_KEY: "optional-key"

For local development:

mcp_servers:
  literature_discovery:
    command: "uv"
    args: ["--directory", "/path/to/literature-discovery-mcp", "run", "literature-discovery-mcp"]

Configuration

  • SEMANTIC_SCHOLAR_API_KEY / S2_API_KEY: optional Semantic Scholar API key.
  • ARXIV_RATE_LIMIT_RPS: default 0.33 to respect arXiv's courtesy limit.
  • SEMANTIC_SCHOLAR_RATE_LIMIT_RPS / S2_RATE_LIMIT_RPS: default 1.0.
  • ARXIV_PAGE_SIZE: default 100.
  • SEMANTIC_SCHOLAR_TIMEOUT / S2_TIMEOUT: default 30 seconds.
  • LITERATURE_MAX_ATTEMPTS: default 3.
  • LITERATURE_RETRY_BACKOFF_SECONDS: default 1.0.

Rate limits are process-local, not distributed across multiple MCP processes.

Local quality gates

uv lock --check
uv sync --locked --dev
uv run ruff format --check .
uv run ruff check .
uv run coverage run -m pytest -q
uv run coverage report --fail-under=95
uv build

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

literature_discovery_mcp-0.1.0.tar.gz (10.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

literature_discovery_mcp-0.1.0-py3-none-any.whl (14.2 kB view details)

Uploaded Python 3

File details

Details for the file literature_discovery_mcp-0.1.0.tar.gz.

File metadata

  • Download URL: literature_discovery_mcp-0.1.0.tar.gz
  • Upload date:
  • Size: 10.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.15 {"installer":{"name":"uv","version":"0.11.15","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for literature_discovery_mcp-0.1.0.tar.gz
Algorithm Hash digest
SHA256 39fdd7837336339405001e7e2dfcfe0e5d78abc4be91a5839652faa8f990b621
MD5 d454705d00cc0803d35198859b859c51
BLAKE2b-256 e3fd1a3d210515bc669cb17a91dc38104850155fb0ec0e89706d3d237ba5dc5f

See more details on using hashes here.

File details

Details for the file literature_discovery_mcp-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: literature_discovery_mcp-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 14.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.15 {"installer":{"name":"uv","version":"0.11.15","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for literature_discovery_mcp-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b4d6e7a3901b026fd2caf44f85977817f7390e63557dd5ea52580837402b3267
MD5 999652ab7c241efb41f1ade1c87a0deb
BLAKE2b-256 b282338b1edd09117c0286cbcbbd97c3001a1bf4d5dbc677b6f112f70a634f1c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page