Installable MCP server for the Retrieval API: academic-paper search + journal memory + ACE playbook + semantic code search
Project description
retrieval-mcp
An MCP server for the Retrieval academic-paper API — semantic paper search,
document matching, ACE journal memory, and index inventory. Self-contained: it talks
to the backend over HTTP only (just mcp + httpx), so it installs anywhere with
uvx / pip — no repo checkout, no GPU, no models.
By default it targets the compute box on the lab LAN (http://10.100.100.111:8000),
which trusts LAN callers so no key is needed. Off-LAN, point RETRIEVAL_API_URL at
the public gateway (https://retrieval.rnarket.com) and set RETRIEVAL_API_KEY (sk-...).
Tools
Every tool's full docstring (purpose + each argument with its default + an example) is what your LLM sees — call them by name. Summary:
Paper retrieval
| Tool | What it does |
|---|---|
search_papers |
Semantic hybrid search over 95k+ top-venue CS papers (filters: venue, year, title_only) |
search_within_paper |
Every matching passage inside one paper |
match_document / match_paper |
Content-nearest papers to a passage / to a paper |
list_conferences / corpus_stats |
Venue registry / corpus size |
Journal work-memory (scoped to the current project by default)
| Tool | What it does |
|---|---|
journal_record |
Record a work note (memory) or a file's current content (doc, latest-wins) |
journal_search |
Search memory — keyword (FTS5, no embedding) or hybrid/dense/sparse |
journal_recent |
List recent entries |
journal_index_dir |
Batch-index a local dir's files into the journal (latest-wins per file) |
Code KB (source stays local — only chunks are uploaded)
| Tool | What it does |
|---|---|
index_code |
AST-chunk a repo locally (40+ languages) and index it, scoped to you |
search_code |
Semantic code search with path:line citations |
index_inventory |
Your indexed-file tree: user → host → project → dir → file |
ACE playbook (accumulated, curated lessons per project)
| Tool | What it does |
|---|---|
ace_context_aware / ace_playbook |
Retrieve relevant / list all curated bullets |
ace_enhance_prompt / ace_smart_generate |
Attach playbook lessons to a prompt (no LLM call) |
ace_smart_reflect |
Curate a transferable lesson into the playbook (grow-and-refine dedup) |
Code KB language coverage
index_code chunks 40+ languages structurally via tree-sitter (chonkie CodeChunker): Python,
TypeScript/TSX/JS/JSX (React), Java, Kotlin (incl. Jetpack Compose .kt/.kts),
Swift, Go, Rust, C/C++, C#, Ruby, PHP, Lua, Scala, Dart, R, Julia, Elixir, Erlang,
Haskell, OCaml, SQL, GraphQL, Protobuf, HTML, CSS/SCSS (Tailwind = CSS classes),
Vue, Svelte, shell, PowerShell, Dockerfile, Terraform/HCL, CMake, YAML/JSON/TOML/XML,
and more. Grammarless config/text files fall back to line-window chunks; docs (.md)
and binaries are skipped (docs belong in the journal via journal_index_dir).
Install
Claude Code
# LAN (no key):
claude mcp add retrieval -- uvx retrieval-mcp
# Off-LAN (public gateway + key):
claude mcp add retrieval \
--env RETRIEVAL_API_URL=https://retrieval.rnarket.com \
--env RETRIEVAL_API_KEY=sk-... \
-- uvx retrieval-mcp
Claude Desktop / any MCP client
claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/,
Windows: %APPDATA%\Claude\):
{
"mcpServers": {
"retrieval": {
"command": "uvx",
"args": ["retrieval-mcp"],
"env": {
"RETRIEVAL_API_URL": "https://retrieval.rnarket.com",
"RETRIEVAL_API_KEY": "sk-..."
}
}
}
}
No uv? pip install retrieval-mcp then use "command": "retrieval-mcp".
Config (env)
| Var | Default | Notes |
|---|---|---|
RETRIEVAL_API_URL |
http://10.100.100.111:8000 |
LAN compute box (no key). Off-LAN, set to https://retrieval.rnarket.com. |
RETRIEVAL_API_KEY |
— | sk-... key for the gateway (create under /auth/keys). Required off-LAN. |
| Journal/code scope | current absolute directory path | The client derives scope from the directory you run or pass to each tool, so projects do not leak into each other. |
License
MIT
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 retrieval_mcp-0.2.15.tar.gz.
File metadata
- Download URL: retrieval_mcp-0.2.15.tar.gz
- Upload date:
- Size: 25.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0b17d8547799f6bb0a7d86d8faabac52308dd2ce6707f9d6380e03410227a7ff
|
|
| MD5 |
1a3c021a0c80d7382739eb334ea02904
|
|
| BLAKE2b-256 |
2bc5ce31e99a3a4e406c8cb4e03ec177699768a7e6025ec97be245c65f55fb33
|
File details
Details for the file retrieval_mcp-0.2.15-py3-none-any.whl.
File metadata
- Download URL: retrieval_mcp-0.2.15-py3-none-any.whl
- Upload date:
- Size: 25.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b434d2e35123e5d11e4a6851196e480d67018e6cddd65a0a17032ce1e60f42b4
|
|
| MD5 |
376b1983f9ef7e459b7ddfbe5431201c
|
|
| BLAKE2b-256 |
94af4e278f97646ccdb3a2806133250d1b45b3430d14368644af9226f324e0ca
|