inspire-mcp

inspire-mcp

An MCP server for the INSPIRE-HEP API, enabling literature search, author lookups, DOI/arXiv/ORCID resolution, citation export, and bibliography generation with configurable detail levels.

Category
Visit Server

README

inspire-mcp-more

An extensible Model Context Protocol server for the public INSPIRE REST API.

It provides structured tools for literature, authors, DOI/arXiv/ORCID resolution, citation export, and the INSPIRE bibliography generator. Responses offer bounded detail levels so an MCP client can trade metadata completeness for model context size.

Requirements

  • Python 3.11 or newer
  • uv

Install

Install globally from a checkout:

uv tool install .

Install from Git:

uv tool install git+https://github.com/karuboniru/inspire-mcp

Run without a persistent install:

uvx --from git+https://github.com/karuboniru/inspire-mcp inspire-mcp

Run

The default transport is stdio:

inspire-mcp

For a local Streamable HTTP endpoint:

inspire-mcp --transport streamable-http --host 127.0.0.1 --port 8000

The endpoint is http://127.0.0.1:8000/mcp by default. Binding to a non-loopback address requires --allow-public-http; production deployments should add authentication and TLS in front of the server.

Example MCP host configuration:

{
  "mcpServers": {
    "inspire": {
      "command": "inspire-mcp"
    }
  }
}

Tools

Tool Purpose
search_literature Search literature with INSPIRE query syntax
get_literature Read a paper by recid, DOI, or arXiv ID
list_literature_authors Page through embedded paper authors
list_literature_references Page through a paper's references
export_literature Export BibTeX, LaTeX, or CV HTML
search_authors Search public author records
get_author Read an author by recid or ORCID
resolve_external_identifier Resolve DOI, arXiv, or ORCID to an INSPIRE recid
generate_bibliography Generate a bibliography from TeX citation commands

The inspire://capabilities resource describes supported values and limits.

Detail levels

  • compact: identity and discovery fields, optimized for model context.
  • standard: research-oriented metadata with bounded author arrays.
  • detailed: broad public metadata with explicit truncated_fields markers.

Large arrays are never byte-truncated. Use list_literature_authors and list_literature_references to retrieve them in pages.

Author searches never expose email addresses. A single author record requires both detail="detailed" and include_email=true before public email fields are included.

Configuration

Environment variable Default
INSPIRE_API_BASE_URL https://inspirehep.net/api/
INSPIRE_TIMEOUT_SECONDS 30
INSPIRE_CONNECT_TIMEOUT_SECONDS 5
INSPIRE_RATE_LIMIT_REQUESTS 12
INSPIRE_RATE_LIMIT_WINDOW_SECONDS 5
INSPIRE_MAX_RETRIES 2
INSPIRE_MAX_TEX_BYTES 1000000
INSPIRE_MAX_EXPORT_CHARACTERS 1000000
INSPIRE_CACHE_TTL_SECONDS 300
INSPIRE_CACHE_MAX_ENTRIES 256
INSPIRE_DOWNLOAD_HOSTS inspirehep.net,s3.cern.ch
INSPIRE_MCP_LOG_LEVEL INFO

INSPIRE documents an upstream limit of 15 requests per 5 seconds per IP. This server uses a lower default to preserve headroom and retries HTTP 429 responses conservatively.

Successful GET, search, and export responses are cached in each server process. Concurrent identical requests share one upstream request. Set INSPIRE_CACHE_TTL_SECONDS=0 to disable the cache. Multi-process deployments maintain one independent cache per worker.

Generated bibliography content is currently served by INSPIRE through CERN object storage. The default download allowlist therefore contains both inspirehep.net and the exact host s3.cern.ch; arbitrary external download hosts remain blocked.

Development

uv sync --all-groups
uv run ruff check .
uv run mypy
uv run pytest
uv build

The default tests use mocked HTTP responses. Live INSPIRE POST requests are not performed by the test suite.

INSPIRE terms

Use of the upstream API is governed by the INSPIRE terms of use. Bulk collection of email addresses is not allowed.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured