Plug-and-play CLI for academic research agent skills and Paper Search MCP setup
Project description
Academic Agent Toolkit (AAT)
One command to install academic research skills and paper search across all your AI coding agents.
Students and researchers use different AI agents (Claude Code, OpenCode, Cursor, Copilot, Codex). Each agent needs different config formats, different file locations, and different skill setups. AAT handles all of that so you can focus on your research.
What you get
| Component | What it does |
|---|---|
| Academic Research Suite | Deep research, lit reviews, systematic reviews, paper drafting, peer review, experiment planning |
| Experiment Agent | Study protocol design, statistical interpretation, reproducibility validation |
| Paper Search MCP | Search 20+ academic sources (arXiv, PubMed, Semantic Scholar, Crossref...) and download PDFs |
All configured across every supported agent in one command. No manual JSON/TOML editing.
Installation
Prerequisites: Python 3.11+, uv.
Pick one:
# No install — run directly (always latest from PyPI)
uvx academic-agent-toolkit doctor
# Persistent install (stays in your PATH)
uv tool install academic-agent-toolkit
aat doctor
# Standard pip
pip install academic-agent-toolkit
aat doctor
Quick Start
aat doctor # See what agents are detected
aat install # Install everything (skills + MCP)
aat setup-keys # Configure API keys interactively
aat verify # Confirm everything works
How it works
New users — aat install downloads Academic Research Suite and Experiment Agent automatically, creates a private .env file for your API keys, and configures Paper Search MCP in every detected agent.
Existing users — AAT adopts your existing ARS installation and Paper Search MCP registrations. It skips what you already have and only manages what's missing. Use --replace-skills or --replace-mcp if you want AAT to take over an existing setup.
Commands
| Command | What it does |
|---|---|
aat doctor |
Show environment readiness and agent detection |
aat install |
Install skill adapters and MCP configs with a guided plan |
aat setup-keys |
Configure Paper Search MCP API keys interactively |
aat verify |
Confirm everything is in place |
aat self-check |
Validate runtime prerequisites (Python, uv, ARS source, env file) |
aat repair |
Re-apply the last saved installation |
aat uninstall |
Remove AAT-managed files safely (does not touch your own configs) |
API Keys
Paper Search MCP works without most keys, but some sources need credentials. AAT helps you set them up interactively with aat setup-keys.
| Variable | Required? | Recommended? | Where to get it |
|---|---|---|---|
PAPER_SEARCH_MCP_UNPAYWALL_EMAIL |
yes | — | unpaywall.org |
PAPER_SEARCH_MCP_CORE_API_KEY |
no | yes | core.ac.uk |
PAPER_SEARCH_MCP_SEMANTIC_SCHOLAR_API_KEY |
no | yes | semanticscholar.org |
PAPER_SEARCH_MCP_GOOGLE_SCHOLAR_PROXY_URL |
no | no | Your proxy provider |
PAPER_SEARCH_MCP_DOAJ_API_KEY |
no | no | doaj.org |
PAPER_SEARCH_MCP_ZENODO_ACCESS_TOKEN |
no | no | zenodo.org |
PAPER_SEARCH_MCP_IEEE_API_KEY |
no | no | developer.ieee.org |
PAPER_SEARCH_MCP_ACM_API_KEY |
no | no | acm.org |
Keys are stored in a single private file (~/.config/paper-search-mcp/.env by default). Paper Search MCP reads them automatically via PAPER_SEARCH_MCP_ENV_FILE. No keys are duplicated across agent configs.
Supported Agents
Skill adapters (agent-optimized routers for Academic Research Suite):
- Claude Code
- OpenCode
- Cursor
- GitHub Copilot
- Codex (opt-in with
--include-codex)
MCP configuration (Paper Search MCP registration):
- Claude Code
- OpenCode
- Cursor
- Codex
- VS Code (user and global)
- GitHub Copilot
- Zed
See docs/mcp-agent-matrix.md for the exact config format used per agent.
Install flags
| Flag | Purpose |
|---|---|
--no-bootstrap |
Skip automatic ARS download; requires an existing source |
--ars-source PATH |
Use a specific ARS source tree |
--env-file PATH |
Use a custom .env file path |
--replace-skills |
Back up and replace existing skill directories |
--replace-mcp |
Back up and replace existing MCP entries |
--include-codex |
Also install the Codex skill adapter |
--dry-run --yes |
Preview the full plan without writing files |
Uninstall
aat uninstall
Removes only files AAT created. Your existing hand-written configs and skill directories are never touched. Optional flags:
--remove-envalso removes the Paper Search MCP env file--remove-managed-arsalso removes AAT's downloaded ARS source
Where files live
| What | Location |
|---|---|
| AAT config | ~/.config/academic-agent-toolkit/config.json |
| Managed ARS source | ~/.local/share/academic-agent-toolkit/ars/ |
| Paper Search MCP env | ~/.config/paper-search-mcp/.env (default) |
| Skill adapters | ~/.claude/skills/, ~/.config/opencode/skills/, ~/.cursor/skills/, ~/.copilot/skills/ |
Upstream projects
AAT is an integration layer. It bundles and configures these upstream projects with their permission:
- academic-research-skills by Imbad0202
- experiment-agent by Imbad0202
- paper-search-mcp by openags
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 academic_agent_toolkit-0.1.1.tar.gz.
File metadata
- Download URL: academic_agent_toolkit-0.1.1.tar.gz
- Upload date:
- Size: 85.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3813e090592c5c5219fb724549c7dae3ae5776f206287e7283d313eea9097049
|
|
| MD5 |
20b5a12da5b4a27006ef53484a51e1ea
|
|
| BLAKE2b-256 |
ac78d14ee6344d65206ed89e2908c11174ab5ff58bf721cd154062a54db8e2dd
|
Provenance
The following attestation bundles were made for academic_agent_toolkit-0.1.1.tar.gz:
Publisher:
publish.yml on JhonHander/academic-agent-toolkit
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
academic_agent_toolkit-0.1.1.tar.gz -
Subject digest:
3813e090592c5c5219fb724549c7dae3ae5776f206287e7283d313eea9097049 - Sigstore transparency entry: 1627777254
- Sigstore integration time:
-
Permalink:
JhonHander/academic-agent-toolkit@bc5402ba3a62144c7b01e1c816e86c131c9537db -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/JhonHander
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@bc5402ba3a62144c7b01e1c816e86c131c9537db -
Trigger Event:
push
-
Statement type:
File details
Details for the file academic_agent_toolkit-0.1.1-py3-none-any.whl.
File metadata
- Download URL: academic_agent_toolkit-0.1.1-py3-none-any.whl
- Upload date:
- Size: 19.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0d0b43987ab30f3d4bfc448ba7dda6895c2602fce635a7e7645a5b5d57dc6b6d
|
|
| MD5 |
ee79f7dc71bc8f739442b99c68cd2945
|
|
| BLAKE2b-256 |
632b995ff5da01ef1074be97a8e39f292564baeff744fee2c3346e7075828905
|
Provenance
The following attestation bundles were made for academic_agent_toolkit-0.1.1-py3-none-any.whl:
Publisher:
publish.yml on JhonHander/academic-agent-toolkit
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
academic_agent_toolkit-0.1.1-py3-none-any.whl -
Subject digest:
0d0b43987ab30f3d4bfc448ba7dda6895c2602fce635a7e7645a5b5d57dc6b6d - Sigstore transparency entry: 1627777346
- Sigstore integration time:
-
Permalink:
JhonHander/academic-agent-toolkit@bc5402ba3a62144c7b01e1c816e86c131c9537db -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/JhonHander
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@bc5402ba3a62144c7b01e1c816e86c131c9537db -
Trigger Event:
push
-
Statement type: