Context7
Feeds AI the latest docs for libraries and frameworks before it answers, so code it writes does not use outdated, removed functions.
Description from the maker (original English)
Every OpenAlex search stores its request, response and checksums so sources can be checked later.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
HARVESTER_OPENALEX_API_KEYValues marked secret are keys to your account. Never share them or paste them into a chat.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"notanda": {
"command": "uvx",
"args": [
"notanda-mcp",
"--evidence-dir",
"your-value"
],
"env": {
"HARVESTER_OPENALEX_API_KEY": "your-value"
}
}
}
}Run this in your terminal
claude mcp add notanda --env HARVESTER_OPENALEX_API_KEY=your-value -- uvx notanda-mcp --evidence-dir your-valueFill in the empty values before running it.
This one needs values on its command line, so copy the settings and fill them in.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"notanda": {
"command": "uvx",
"args": [
"notanda-mcp",
"--evidence-dir",
"your-value"
],
"env": {
"HARVESTER_OPENALEX_API_KEY": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one needs values on its command line, so copy the settings and fill them in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"notanda": {
"type": "stdio",
"command": "uvx",
"args": [
"notanda-mcp",
"--evidence-dir",
"your-value"
],
"env": {
"HARVESTER_OPENALEX_API_KEY": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 8, 2026
The registry name was verified with the GitHub account RudiRegenwurm, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
You need to fill in: HARVESTER_OPENALEX_API_KEY
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (0.1.0-beta.3) reached the registry 25 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Python (uv) on your computer.
In the same category: Context7, Codebase Memory, Exa
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
Feeds AI the latest docs for libraries and frameworks before it answers, so code it writes does not use outdated, removed functions.
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
Connect AI agents to Exa for web search, content fetching, and multi-step research.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
Every OpenAlex search stores its request, response and checksums so sources can be checked later.
Beta: an external developer's unassisted acceptance test is still pending. Technical tests do not replace that external usability and installation check.
This directory exposes Notanda's provenance-aware OpenAlex retrieval to local MCP clients. It is a separate notanda-mcp package, not a hosted service and not part of the notanda 1.3.2 package. It depends on that released core.
The component provides exactly two tools:
search_literature: search OpenAlex for OA works with a DOI and persist the request, provider observation, returned result and hashes under one evidence ID; the returned receipt is the SHA-256 of manifest.json.get_evidence: verify those hashes and return the original result by evidence ID without repeating the provider request. An optional caller-held receipt also detects replacement of the payloads together with their manifest.Both tool descriptions and every successful response warn that titles and metadata are unverified third-party content, not instructions.
It does not download full text, write to the Notanda corpus or Evidence Ledger, modify the web UI, expose a network server, or provide general agent reasoning.
The implementation is adapted from the isolated branch experiment/local-mcp, commit 366bc2d4827aa915e2e58a82cd567163ed63d4be. The sealed handoff package bound that source to 20 passing MCP tests and a successful live OpenAlex run. For the public repository integration, the duplicated Notanda runtime was replaced by the released notanda==1.3.1 PyPI dependency. Beta 3 updates that pin to notanda==1.3.2; MCP remains pinned to the tested SDK version 1.30.0. SOURCE_PROVENANCE.json records the source hashes and the deliberate integration changes in machine-readable form.
Five of the six original acceptance criteria are technically satisfied. The sixth — an external developer with no Notanda knowledge completing installation, search, restart and independent verification without assistance — remains externally to be verified until that result is returned.
Use Python 3.11 or 3.12. A dedicated virtual environment is recommended:
python -m venv .venv-mcp
. .venv-mcp/bin/activate
python -m pip install "notanda-mcp==0.1.0b3"
Beta 3 requires exactly notanda==1.3.2. Installing it into an environment already containing that version preserves the core version. Beta 2 requires notanda==1.3.1 and pip may downgrade an existing 1.3.2 installation to satisfy that pin. Use a separate environment if you need Beta 2 or a different Notanda core version; do not bypass dependency checks. The exact pin keeps the tested core/server combination reproducible; it does not promise compatibility with future core releases.
For a client that uses uvx, configure this command and arguments (replace the evidence directory with a writable absolute path on your computer):
uvx --python 3.12 notanda-mcp@0.1.0b3 --evidence-dir ABSOLUTE_LOCAL_EVIDENCE_PATH
Set HARVESTER_OPENALEX_API_KEY in the MCP client's local environment. The key is required for searches and must not be placed in the command arguments. The registry manifest declares this variable as secret and the evidence path as a required input.
Use Python 3.11 or 3.12. From the repository root:
python -m venv .venv-mcp
. .venv-mcp/bin/activate
python -m pip install -e ./mcp
This installs the MCP component from the checkout and resolves the reviewed Notanda core as notanda==1.3.2 from PyPI.
Configure an OpenAlex API key locally. For example, in PowerShell without placing the key in terminal history:
$mcpSecureKey = Read-Host 'OpenAlex API key' -AsSecureString
$env:HARVESTER_OPENALEX_API_KEY = [System.Net.NetworkCredential]::new('', $mcpSecureKey).Password
The existing Notanda configuration mechanisms also work: HARVESTER_CONFIG or HARVESTER_OPENALEX_API_KEY. Never add credentials to evidence directories, Git, screenshots or returned test reports.
The supplied real stdio client starts the server, initializes MCP, verifies the two tool names and executes a search:
python mcp/tools/mcp_client.py \
--evidence-dir ./tmp/mcp-evidence \ --query "scientific reproducibility" \ --limit 2
The response contains an evidence_id and a receipt. Keep both outside the evidence directory. A second process can verify that receipt and retrieve the stored response without another provider request:
python mcp/tools/mcp_client.py \
--evidence-dir ./tmp/mcp-evidence \ --id EVIDENCE_ID \ --receipt RECEIPT
For compatibility, get_evidence also works without receipt and performs the previous payload hash and identity checks. Those checks detect corruption, but a coordinated replacement of payloads and manifest is detectable only when the original receipt is supplied.
The independent verifier uses only the Python standard library:
python -S mcp/tools/verify_mcp_evidence.py \
./tmp/mcp-evidence/EVIDENCE_ID
For another local MCP client, configure the virtual environment's notanda-mcp executable with these arguments:
--evidence-dir ABSOLUTE_LOCAL_EVIDENCE_PATH
Transport is stdio. The server has no user interface and opens no listening port.
Each search creates one directory named by its 32-character evidence ID:
| File | Contents |
|---|---|
request.json | supplied and effective query, limit, MCP client name/version, source experiment commit, installed Notanda version and server hash |
provider.json | attempted OpenAlex URL after secret redaction, timestamps, HTTP status and captured parsed JSON |
response.json | the persisted result, including structured failures and the untrusted-content notice; the detached receipt is added to the MCP response after sealing |
manifest.json | byte length and SHA-256 for the three payload files |
The manifest alone detects corruption or one-file modification. It is not a digital signature and, without a caller-held receipt, does not detect coordinated replacement of payloads and manifest. Comparing the optional receipt anchors the exact manifest observed during the original search.
https://api.openalex.org/works is accepted as the provider endpoint.configuration_error; invalid input: invalid_arguments.provider_error; no provider exception text is stored.incomplete; hash or identity mismatch: integrity_failure; supplied receipt mismatch: receipt_mismatch.Install the development extra and run the 23 deterministic checks:
python -m pip install -e "./mcp[dev]"
python -m pytest mcp/tests
The tests cover successful retrieval, restart, independent verification, corruption, invalid input, HTTP 401/429/500, timeouts, malformed and oversized responses, storage failure, process death, secret redaction and real two-process stdio MCP operation.