InspireHEP MCP Server
An MCP server that integrates InspireHEP high-energy physics literature with LLMs. Search papers, explore citations, retrieve author metrics, and generate formatted references.
Installation
# Using pip
pip install inspirehep-mcp
# Or run directly with uvx (no install needed)
uvx inspirehep-mcp
Install from source
git clone https://github.com/MohamedElashri/inspirehep-mcp.git
cd inspirehep-mcp
uv sync
uv run inspirehep-mcp
Integration
Claude Desktop / Cursor / Windsurf
Add to your MCP client config:
{
"mcpServers": {
"inspirehep": {
"command": "uvx",
"args": ["inspirehep-mcp"]
}
}
}
Claude Code
Option A: Using the CLI
# Global scope (available across all projects)
claude mcp add --scope user inspirehep -- uvx inspirehep-mcp
# Project scope (shared via .mcp.json, checked into source control)
claude mcp add --scope project inspirehep -- uvx inspirehep-mcp
Option B: Manual configuration
For global scope, add to ~/.claude.json:
{
"mcpServers": {
"inspirehep": {
"command": "uvx",
"args": ["inspirehep-mcp"]
}
}
}
For project scope, create .mcp.json in your project root:
{
"mcpServers": {
"inspirehep": {
"command": "uvx",
"args": ["inspirehep-mcp"]
}
}
}
Gemini CLI
Option A: Using the CLI
# Project scope (default)
gemini mcp add inspirehep uvx inspirehep-mcp
# User/global scope
gemini mcp add -s user inspirehep uvx inspirehep-mcp
Option B: Manual configuration
Add to ~/.gemini/settings.json (user scope) or .gemini/settings.json (project scope):
{
"mcpServers": {
"inspirehep": {
"command": "uvx",
"args": ["inspirehep-mcp"]
}
}
}
Tools
| Tool | Description |
|---|---|
search_papers |
Search papers by topic, author, collaboration, or free text |
get_paper_details |
Get full metadata for a paper by Inspire ID, arXiv ID, or DOI |
get_author_papers |
Retrieve an author's publications and citation metrics |
get_citations |
Explore citation graph — who cites a paper, or what it cites |
search_by_collaboration |
Find publications from ATLAS, CMS, LHCb, etc. |
get_paper_figures |
Retrieve figures and download URLs for a paper |
get_references |
Generate BibTeX, LaTeX, or JSON reference lists |
get_bibtex |
Retrieve BibTeX citation entry by DOI, arXiv ID, or Inspire ID |
server_stats |
Monitor cache hit rates and API performance |
Configuration
All settings via environment variables (prefix INSPIREHEP_):
| Variable | Default | Description |
|---|---|---|
INSPIREHEP_REQUESTS_PER_SECOND |
1.5 |
API rate limit |
INSPIREHEP_CACHE_TTL |
86400 |
Cache TTL in seconds (24h) |
INSPIREHEP_CACHE_MAX_SIZE |
512 |
Max cached entries |
INSPIREHEP_CACHE_PERSISTENT |
false |
Enable SQLite persistent cache |
INSPIREHEP_CACHE_DB_PATH |
inspirehep_cache.db |
SQLite cache file path |
INSPIREHEP_API_TIMEOUT |
30 |
HTTP request timeout (seconds) |
INSPIREHEP_LOG_LEVEL |
INFO |
Logging level |
Development
# Run tests
uv run pytest tests/ -v
# Run with coverage
uv run pytest tests/ --cov=inspirehep_mcp --cov-report=term-missing
# Unit tests only (no network)
uv run pytest tests/test_utils.py tests/test_cache.py tests/test_errors.py tests/test_config.py
LICENCE
This project is licensed under the AGPL-3.0 License - see the LICENSE file for details.
Release files for inspirehep-mcp 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| inspirehep_mcp-0.2.0.tar.gz | 80.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| inspirehep_mcp-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 114.1 kB
Release files / inspirehep_mcp-0.2.0.tar.gz
| Download URL | inspirehep_mcp-0.2.0.tar.gz |
|---|---|
| Size | 80.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
95a86f39c2f3e974e6bbcb43c95dd23d905331e2510c3cac03d24882aedf29ad
|
|
BLAKE2b-256 checksum How to use checksums |
9ed88e199c48e3f5ddb95aaf0be238fc365751ee0a1e269671fb56407b3ece4e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 25, 2026.
Transparency logRelease files / inspirehep_mcp-0.2.0-py3-none-any.whl
| Download URL | inspirehep_mcp-0.2.0-py3-none-any.whl |
|---|---|
| Size | 33.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
062017088efaba33b8e3d00bebb69d2658a8f2900f6f211904864303086c2c7f
|
|
BLAKE2b-256 checksum How to use checksums |
49976f2d72dd822f9640aa2105a2538a8b019fa3cf75c6bdf1d68845f771e5dc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 25, 2026.
Transparency log