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.2.tar.gz (15.9 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.2-py3-none-any.whl (25.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: academic_search-0.5.2.tar.gz
  • Upload date:
  • Size: 15.9 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.2.tar.gz
Algorithm Hash digest
SHA256 5982ed5b828e820e20d3267d04e2572802e94e21ef9ead5a0f45a272206baa7a
MD5 a99a35a0aa80f7498c76f194ae50ab8b
BLAKE2b-256 b7e0031744568d973453c7224bbdfd96e6364fd6a6c2d0b88506e3fa92400686

See more details on using hashes here.

File details

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

File metadata

  • Download URL: academic_search-0.5.2-py3-none-any.whl
  • Upload date:
  • Size: 25.5 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 aab278b4c1c7de458c1a814aa72f04daf2fd69c5beb5b08a91dc82510dbbf0cf
MD5 b05be367b072c3c0ad76f077bccf508d
BLAKE2b-256 263af99590cb41e92d6684d79cf266a46145202376ef98d9dc9a63141d3c681a

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