Skip to main content

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

Project description

Academic Search MCP Server

An MCP (Model Context Protocol) server for searching and analyzing academic papers across multiple databases (Semantic Scholar, Crossref, OpenAlex, PubMed), with regex-powered filtering and statistical analysis.

Features

  • Regex-powered search: Write regex patterns and have them automatically transformed into API-compatible queries
  • Multi-provider support: Search Semantic Scholar, Crossref, OpenAlex, and PubMed through a unified interface
  • Post-filtering: Apply the original regex to returned fields (title, abstract) for precise filtering
  • Statistical analysis: Compute author counts, publication year distributions, and field availability stats
  • Normalised output: All providers return data in the same schema, so filters and statistics work identically regardless of source
  • MCP-native: Exposes tools for use with any MCP client (Claude, etc.)

Tools

search_papers

Search with regex filtering. Returns papers matching your pattern, with optional regex post-filtering on title and abstract.

search_by_author

Search for papers by a specific author name, with post-hoc filters.

get_paper_stats

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

build_extended_query

Preview how a regex query 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 src/academic_search

With Claude Desktop

Add to your claude_desktop_config.json:

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

Development

uv sync
uv run academic-search

Providers

Provider Notes
Semantic Scholar Regex-aware search, rich metadata, citation counts
Crossref Good DOI coverage, no open access metadata
OpenAlex Best OA metadata, abstracts from inverted index
PubMed NIH literature, use [au] for author queries

Project details


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.7.0.tar.gz (21.3 kB view details)

Uploaded Source

Built Distribution

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

academic_search-0.7.0-py3-none-any.whl (31.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: academic_search-0.7.0.tar.gz
  • Upload date:
  • Size: 21.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.11 {"installer":{"name":"uv","version":"0.11.11","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

Hashes for academic_search-0.7.0.tar.gz
Algorithm Hash digest
SHA256 2c7f7034b828dde62c868c8cfff67e548b6283cbf11578f9e0a6e4a8cb6186dd
MD5 b7433c2dc3f9de067182f824115af305
BLAKE2b-256 3657ac03467136517575890a9b7ce56b6c1852726367203b58a8195d8e7e38cc

See more details on using hashes here.

File details

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

File metadata

  • Download URL: academic_search-0.7.0-py3-none-any.whl
  • Upload date:
  • Size: 31.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.11 {"installer":{"name":"uv","version":"0.11.11","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

Hashes for academic_search-0.7.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9ab7873b09990d677ef61b93468eafc9beabed3842baccc265dfc30366d30bae
MD5 26c5e441150c02db643ef59b56e816c1
BLAKE2b-256 ff8780b68ae8a665d96a01695bb2536a067ece7e9f2dea1a7a1df7e85d59b51a

See more details on using hashes here.

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