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.6.0.tar.gz (16.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.6.0-py3-none-any.whl (25.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: academic_search-0.6.0.tar.gz
  • Upload date:
  • Size: 16.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.6.0.tar.gz
Algorithm Hash digest
SHA256 32dcb2ea0e8ef2747af766446150ce9ba6164c9693a806b50dae18c86dc35940
MD5 660c38b07ef879091145ae7f0df76057
BLAKE2b-256 5f27e97f84e422992e826aa8ea62536b84a11e5328bac9748178718f7867fcef

See more details on using hashes here.

File details

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

File metadata

  • Download URL: academic_search-0.6.0-py3-none-any.whl
  • Upload date:
  • Size: 25.8 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.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6788e38a6e365d160fcef26e62cd4156e4f6ef27bf15aed748905ca06aeeba02
MD5 282211a24541beec4b08a705d5469e76
BLAKE2b-256 ebd21358a93a8088066ba3ab8cbbd545a33db3623be1d32db0c34f223fd23a8a

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