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.4.0.tar.gz (15.1 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.4.0-py3-none-any.whl (24.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: academic_search-0.4.0.tar.gz
  • Upload date:
  • Size: 15.1 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.4.0.tar.gz
Algorithm Hash digest
SHA256 ed2a70e7382936c6d989846f328c1eccde7a45c8776098acf85602474c761a02
MD5 25638189e4bf751549f0feed032ae7a4
BLAKE2b-256 2b8d14f15817b6b8ea8bf1656521ac54756545983e40131520c1a11caef90c8e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: academic_search-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 24.2 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.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 347f51741cb6aa895547b95744aaa18e228e838961e63bcc0e5bb47608723a02
MD5 415e806d46872335b38e2f5a74481619
BLAKE2b-256 20c6a1491c9a6244872002aaabbe5e69d10793170655e46fe3d29c3acd643a97

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