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.5.1.tar.gz (15.7 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.5.1-py3-none-any.whl (25.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: academic_search-0.5.1.tar.gz
  • Upload date:
  • Size: 15.7 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.5.1.tar.gz
Algorithm Hash digest
SHA256 47b54198a3298a353774039d1df19d0d614c6ecdc72397d52dac88b3be0218b5
MD5 3c4a80f2f1084cb8d18500afdd3cc2e2
BLAKE2b-256 7f7c0f556cb4718eb1f7a0fe2fc8a23c741faa816d8e8646baaeb1608f6a8270

See more details on using hashes here.

File details

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

File metadata

  • Download URL: academic_search-0.5.1-py3-none-any.whl
  • Upload date:
  • Size: 25.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.5.1-py3-none-any.whl
Algorithm Hash digest
SHA256 cc969a193c1fa77ceb430b5d4712c8a36ae9898e69d33abcb345820bdfd5635b
MD5 b816f00d9b7b3bb858f6619771c95a55
BLAKE2b-256 84e0d2bd2aa83c18952ae608e72ac8d4313f88089179cba220dbb47ca4e5ccaf

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