For IACR the loop closes: search, download the PDF, and read it back as text in the same session, so an agent can work from the paper rather than its abstract. DBLP and Google Scholar are search only, and Scholar redirects to publishers instead of serving PDFs. Because each backend is a separate switch, you can load only the surface you want in the tool list.
A FastMCP proxy that fronts three backends and loads each one only when its environment variable is set: an academic paper module, a Qwen-powered web search, and GitHub repository reading. Each backend also runs standalone if you want only one of them.
- apaper_search_iacr_papers, apaper_download_iacr_paper, and apaper_read_iacr_paper — search the IACR ePrint Archive, pull the PDF, and extract its text
- apaper_search_dblp_papers — the DBLP computer science bibliography, filtered by year range and venue, with BibTeX entries on request
- apaper_search_google_scholar_papers — cross-discipline search returning citation counts, bounded by a publication year range
- qwen_search_web_search — web search through the Qwen and Dashscope API
- github-repo-mcp_getRepoAllDirectories, github-repo-mcp_getRepoDirectories, and github-repo-mcp_getRepoFile — walk a GitHub repository's tree and read a file out of it
Python 3.10 or higher, plus pipx to launch it: pipx run all-in-mcp. Which backends load is decided by environment variables — APAPER, QWEN_SEARCH, and GITHUB_REPO_MCP, each set to true. The paper and GitHub backends need no credentials; web search needs DASHSCOPE_API_KEY. A standalone entry point exists as pipx run apaper; the second one the README lists, qwen-search, is a name PyPI does not have. Google Scholar has no direct PDF download and rate-limits frequent requests.
One command plus a key — pipx run all-in-mcp, then supply credentials
