Skip to main content

Academic Research Tools

Evidence-grounded academic literature discovery for AI agents, MCP clients, command-line workflows, and Python applications.

CI Python 3.10+ License: MIT

Academic Research Tools provides one normalized interface over several literature sources while preserving the source and identifiers of every record. Its core is independent of any agent harness; MCP, CLI, Python, and Hermes are adapters over the same implementation.

Providers

Provider Credential Availability Notes
arXiv None Core Official public Atom API
Semantic Scholar Optional SEMANTIC_SCHOLAR_API_KEY Core Unauthenticated access uses shared public quota
Scopus ELSEVIER_API_KEY Core, optional at runtime Metadata and abstracts may require subscription or institutional IP
Google Scholar through SerpAPI SERPAPI_API_KEY Experimental Third-party SerpAPI integration; not direct scraping or an official Google Scholar API

The package remains useful without credentials: arXiv is available immediately and Semantic Scholar can be queried without a key, subject to public rate limits.

Features

  • Normalized Paper, Author, SearchResult, and UnifiedSearchResult contracts
  • Concurrent multi-provider search with partial-failure reporting
  • Conservative deduplication by DOI, base arXiv ID, or normalized title plus year
  • Per-record provenance and provider identifiers
  • Local stdio MCP server for compatible clients
  • Automation-friendly CLI and direct Python API
  • Thin native Hermes Agent adapter
  • Local-first credentials with no telemetry

Installation

From GitHub

git clone https://github.com/istgrudd/academic-research-tools.git
cd academic-research-tools
python -m venv .venv
. .venv/bin/activate
python -m pip install .

From PyPI

After the first package release:

pip install academic-research-tools
# or
pipx install academic-research-tools

No credential is required to verify the installation:

academic-research --version
academic-research status
academic-research search "traffic flow estimation low visibility" \
  --sources arxiv semantic_scholar --limit 5

See Getting started and Credential setup.

MCP quick start

Run the local stdio server:

academic-research serve

If you use uvx without a prior install, configure the MCP client to execute:

uvx --from academic-research-tools academic-research serve

Generic MCP configuration:

{
  "mcpServers": {
    "academic-research": {
      "command": "uvx",
      "args": [
        "--from",
        "academic-research-tools",
        "academic-research",
        "serve"
      ],
      "env": {
        "SEMANTIC_SCHOLAR_API_KEY": "${SEMANTIC_SCHOLAR_API_KEY}",
        "ELSEVIER_API_KEY": "${ELSEVIER_API_KEY}"
      }
    }
  }
}

Only include environment variables for providers you intend to use. Details: generic MCP, Claude Desktop, and Cursor.

MCP tools

  • research_provider_status
  • search_papers
  • search_arxiv
  • search_semantic_scholar
  • search_scopus
  • get_scopus_abstract
  • search_scopus_authors
  • search_google_scholar

Python API

from academic_research import ResearchService

client = ResearchService.from_environment()
result = client.search(
    "traffic flow estimation under low visibility",
    sources=["arxiv", "semantic_scholar", "scopus"],
    limit_per_source=10,
    year="2020-2026",
)

for paper in result.papers:
    print(paper.title, paper.doi, paper.provenance)

if result.errors:
    print("Partial provider failures:", result.errors)

A provider that is not configured is excluded from ResearchService.from_environment(). Explicitly requesting a missing provider returns an actionable error rather than silently changing the requested source list.

Hermes Agent

Current Hermes installations can install the repository directly:

hermes plugins install istgrudd/academic-research-tools --enable

Pip-distributed discovery is also declared through the hermes_agent.plugins entry-point group. Scopus and SerpAPI use per-tool checks, so missing optional credentials never disable arXiv or Semantic Scholar.

See Hermes integration.

Credential safety

Credentials are read only from environment variables. This project does not:

  • accept secrets as command-line arguments
  • print credential values in status
  • store credentials or API responses automatically
  • send telemetry
  • require all providers to be configured

Do not commit .env; it is ignored by Git. See SECURITY.md.

Development

python -m venv .venv
. .venv/bin/activate
python -m pip install -e '.[dev]'
ruff check src tests __init__.py
pytest
python -m build

Tests use synthetic fixtures and do not spend provider quota. See CONTRIBUTING.md.

Scope and limitations

  • Search ranking and coverage differ by provider.
  • Citation counts from different providers are retained with provenance and should not be treated as directly interchangeable.
  • Deduplication is intentionally conservative; ambiguous records may remain separate.
  • This project does not bypass paywalls or grant access beyond the user's provider entitlement.
  • Remote hosted MCP, long-term credential storage, and automatic literature-review decisions are outside the v0.1 scope.

Legal and data-provider notice

This project is an independent, unofficial integration and is not affiliated with or endorsed by Elsevier, Scopus, Semantic Scholar, arXiv, Google, or SerpAPI. Users are responsible for complying with each provider's API terms, acceptable-use policies, subscription conditions, and data licenses. The MIT license covers this project's source code, not provider data or services.

Thank you to arXiv for use of its open access interoperability.

License

Source code is available under the MIT License.

Release files for academic-research-tools 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for academic-research-tools 0.1.0
File Size Uploaded
academic_research_tools-0.1.0.tar.gz 46.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for academic-research-tools 0.1.0
File Interpreter ABI Platform
academic_research_tools-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 79.3 kB

Release files / academic_research_tools-0.1.0.tar.gz

Download URL academic_research_tools-0.1.0.tar.gz
Size 46.3 kB
Tags Source
SHA-256 checksum
How to use checksums
96cd98426b3cf6f6439db6997a7fc6bd74ff2d09853c302156fb59007ed7695e
BLAKE2b-256 checksum
How to use checksums
0ace48b24e2df04af0c268acd945b296e18d0b8e437e248cb87aa474858b6d9c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 9, 2026.

Transparency log

Release files / academic_research_tools-0.1.0-py3-none-any.whl

Download URL academic_research_tools-0.1.0-py3-none-any.whl
Size 33.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
83305f21741c7c2311c6fa5af87fffadd9144d6b77f3a77cbc70f63aeedfdd73
BLAKE2b-256 checksum
How to use checksums
7ccdb5d5c246b82077f994e71056290a34669f0a0f84a962aa95061492285deb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 9, 2026.

Transparency log

Release history Release notifications | RSS feed

0.2.0

2 release files

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page