academic-search

Máy chủ MCP (Model Context Protocol) để tìm kiếm và phân tích các bài báo học thuật trên nhiều cơ sở dữ liệu (Semantic Scholar, Crossref, OpenAlex, PubMed), với khả năng lọc bằng regex và phân tích thống kê.

Tài liệu

academic-search 0.8.0

MCP Server for multi-provider academic search (Semantic Scholar, Crossref, OpenAlex, PubMed) with regex filtering and statistics

pip install academic-search

Academic Search MCP Server

An MCP (Model Context Protocol) server for searching, filtering, and exploring academic papers across multiple databases, with citation graph walking.

Providers: Semantic Scholar, Crossref, OpenAlex, PubMed

Features

  • Multi-provider search — unified interface across 4 academic databases
  • Universal regex filtering — regex post-filtering on all providers (not just Semantic Scholar)
  • Rich post-hoc filters — year range, citation count, journal, publication type, open access, author
  • Citation graph walk — random walk on the Semantic Scholar citation graph with backtracking, cross-edge detection, and topic-aware pruning
  • Text similarity — pure-Python TF cosine similarity for topic drift detection and most-similar candidate selection (no heavy dependencies)
  • Stats — per-query metadata on authors, years, and field coverage
  • Normalised output — all providers return data in the same schema

Tools

search_papers

Search papers by keyword with optional regex post-filtering on title and abstract.

Parameters: query, search_type, limit, regex_filter, regex_search_fields, match_mode, year_min, year_max, min_citation_count, max_citation_count, open_access_only, has_pdf, journal, exclude_journals, publication_types, exclude_publication_types, author, has_abstract, provider

search_by_author

Find papers by author name with the same post-hoc filters.

explore_citations

Walk the Semantic Scholar citation graph step by step, starting from a seed paper.

ParameterDefaultDescription
seed_paper_id(required)S2 paper ID
num_steps30Max walk length
max_depthNoneMax hops from seed before forced backtrack
direction_choice"random""forward", "backward", "alternating", or "random"
bias"random""top_cited", "bottom_cited", "most_similar", or "random"
candidates_per_step100Candidates per API call
stop_similarityNone0.0–1.0 topic drift threshold

Includes the same post-hoc filters as search_papers.

get_paper_stats

Fetch papers and compute statistics: field availability, author counts, publication year distributions.

build_extended_query

Preview how a regex pattern gets transformed for a given provider's API.

Usage

Via uvx (recommended)

uvx academic-search

Via uv run

uv run --with academic-search academic-search

From source

git clone ... cd academic-search uv run academic-search

With Claude Desktop

{ "mcpServers": { "academic-search": { "command": "uvx", "args": ["academic-search"] } } }

Development

uv sync uv run academic-search

Providers

ProviderCitation graphNotes
Semantic ScholarYesFull citation/reference graph endpoints, citation counts
CrossrefNoGood DOI coverage, no OA metadata
OpenAlexNoBest OA metadata, abstracts from inverted index
PubMedNoNIH literature

Design Notes

  • query and regex_filter are separate — the API query is plain text; regex filtering is a post-hoc step on all providers
  • Citation walk is a true graph walk — one step at a time, not bucket collection. Uses backtracking, cross-edge recording, and per-step filtering
  • Caching — API responses for (paper_id, direction) are cached per walk to avoid redundant fetches during backtracking
  • Text similarity — pure-Python TF cosine similarity (no sentence-transformers); used for most_similar bias and stop_similarity pruning
  • No API key required — all providers have free tiers, but Semantic Scholar rate limits are ~1 req/5s without a key. Set S2_API_KEY for up to 100 req/s

Key dates

PyPI data

Data sourced directly from PyPI's database.

  • Released: Aug 5, 2026 Latest release

1 maintainer

PyPI data

aufildelanuit

Credits

Author: Yohann

License

MIT

Requires

Python >=3.10

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

academic_search-0.8.0.tar.gz (23.2 kB view details)

Uploaded Aug 5, 2026Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

academic_search-0.8.0-py3-none-any.whl (32.8 kB view details)

Uploaded Aug 5, 2026Python 3

File details

Details for the file academic_search-0.8.0.tar.gz.

File metadata

  • Download URL: academic_search-0.8.0.tar.gz
  • Upload date: Aug 5, 2026
  • Size: 23.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.12.1 {"installer":{"name":"uv","version":"0.12.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Fedora Linux","version":"44","id":"","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

AlgorithmHash digest
SHA256d6125a186e4a72528e4355ca6576c96dddcbb6e1aa2ef98ea3a9495bd1a1b607Copy
MD5cbf1c05e31f2499ea8006e8bc18b83baCopy
BLAKE2b-2561fccdf3ee756f93ae4597511d32fbb8c25293e82b53518c1db558de9911bd489Copy

See more details on using hashes here.

File details

Details for the file academic_search-0.8.0-py3-none-any.whl.

  • Download URL: academic_search-0.8.0-py3-none-any.whl
  • Upload date: Aug 5, 2026
  • Size: 32.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.12.1 {"installer":{"name":"uv","version":"0.12.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Fedora Linux","version":"44","id":"","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

AlgorithmHash digest
SHA256c63ddb12c9f04e873f2f870d47e0671d3155888b551bdbfc0f9688e2036270fdCopy
MD539674572d2de02a4822e4657aa05af20Copy
BLAKE2b-256d9f9114f685d11d8104ef7cbc16b944828d2cd3f85929bd08c5ff0b06514c5e1Copy

Release history Release notifications | RSS feed

This release

0.8.0

Aug 5, 2026

0.7.2

May 22, 2026

0.7.1

May 22, 2026

0.7.0

May 22, 2026

0.6.0

May 22, 2026

0.5.2

May 22, 2026

0.5.1

May 22, 2026

0.5.0

May 21, 2026

0.4.0

May 21, 2026

  • English
  • español
  • français
  • 日本語
  • português (Brasil)
  • українська
  • Ελληνικά
  • Deutsch
  • 中文 (简体)
  • 中文 (繁體)
  • русский
  • עברית
  • Esperanto
  • 한국어

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page