MCP server for scientific literature research. Search 250M+ papers, traverse citation graphs, and extract full text — powered by OpenAlex.
Project description
aletheia-mcp
An MCP server that gives AI agents structured access to scientific literature — 250M+ papers indexed via OpenAlex, covering arXiv, PubMed, Crossref, and more — so they can do research, not just search.
The gap this fills
Tools like Elicit, Consensus, and SciSpace are great but they're standalone chat apps. You ask one question, you get one answer. You can't chain operations.
With aletheia-mcp running in Claude or any MCP-compatible client, you can ask things like:
"I'm reviewing literature on mitochondrial dysfunction in Parkinson's. Find the 20 most-cited papers from the last 5 years, pull the full text of the three most influential, identify the exact mechanisms they propose, and flag any that contradict each other."
Under the hood, Claude chains multiple tool calls — search, fetch metadata, walk citations, download and parse full PDFs — and synthesizes. That's the difference between search and research.
Tools in v0.3.0
search_papers(query, limit)— unified search across the OpenAlex corpusget_paper_details(paper_id)— full metadata for any paper by OpenAlex ID, DOI, PubMed ID, or URLget_citation_graph(paper_id, direction, limit)— walk citations forward (direction="citations") or references backward (direction="references")get_paper_full_text(paper_id)— new in v0.3 — fetches and extracts the full text of any open-access paper. Handles arXiv, PubMed Central, and direct publisher PDFs. Falls back gracefully when no OA version is available.
All paper-returning tools use a normalized shape: {id, title, abstract, authors, year, citation_count, venue, doi, url, pdf_url, source}. The full-text tool adds text and char_count.
Why OpenAlex (not Semantic Scholar)
Earlier iterations used Semantic Scholar. The free API key there is gated and institution-preferred — independent developers face slow or rejected applications, which meant future users of this tool would hit the same wall.
OpenAlex is the open, CC0-licensed successor to Microsoft Academic Graph, with 250M+ works covering the same sources. As of February 2026, API keys are required but are free and self-serve — 30 seconds to sign up, no approval process.
Install
Not yet on PyPI. To run locally:
git clone https://github.com/TechFusionData/aletheia-mcp
cd aletheia-mcp
uv sync
cp .env.example .env
# edit .env and paste your OpenAlex API key
Then register with Claude Code (or your MCP client of choice):
claude mcp add --scope user aletheia -- uv run --directory $(pwd) aletheia-mcp
Restart your MCP client and the tools become available.
Dependencies worth noting
- PyMuPDF (AGPL-3.0) — used for full-text PDF extraction because it handles two-column scientific layouts far better than alternatives. If AGPL is a concern for your use case, you can swap in
pypdfium2(Apache-2.0) insources/openalex.py:_extract_pdf_textat the cost of somewhat messier text output.
Why "aletheia"
ἀλήθεια — the Greek notion of truth as "unconcealment," the state of not being hidden. Research is the practice of bringing what's there into view.
License
MIT. See LICENSE.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file aletheia_mcp-0.3.0.tar.gz.
File metadata
- Download URL: aletheia_mcp-0.3.0.tar.gz
- Upload date:
- Size: 13.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
17b9dcf07a7a98022911741a6d4c3e5e4ce35e624cc38f2cfbbd41d7f428303f
|
|
| MD5 |
e207c1c25ed85c86491024dafe17e61f
|
|
| BLAKE2b-256 |
f991b90baf2d7d1312a61c4d616fc1226ca3f729e492a4d7e230b01da5226324
|
File details
Details for the file aletheia_mcp-0.3.0-py3-none-any.whl.
File metadata
- Download URL: aletheia_mcp-0.3.0-py3-none-any.whl
- Upload date:
- Size: 17.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
914fc9a75e12c95bf99d517c9fc7ff539e3ff3830f0ed35bdeb3ae67321791aa
|
|
| MD5 |
7057894cd1d43ad6121ba2c62c57af49
|
|
| BLAKE2b-256 |
ca48676eb1e51ca7556ab51f4191021ad3533f912b71212a6be52dff1fae7b0a
|