1. Conduid
  2. Developer Tools
  3. Inspirehep MCP
MCP server · Developer Tools

Inspirehep MCP

InspireHEP MCP Server

Unclaimed AGPL-3.0 devtools
64Good

Scored 11 days ago · breakdown

About Inspirehep MCP

Inspirehep MCP is an MCP server published by MohamedElashri in the Developer Tools category: inspireHEP MCP Server.

The repository has 7 stars and 4 forks, with the last commit 5 days ago. Recent commit activity is the strongest signal that reported issues will get attention.

Install

From source
git clone https://github.com/MohamedElashri/inspirehep-mcp

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Tools (8)

get_author_papersRetrieve an author's publications and citation metrics

Parameters not published.

get_bibtexRetrieve BibTeX citation entry by DOI, arXiv ID, or Inspire ID

Parameters not published.

get_citationsExplore citation graph — who cites a paper, or what it cites

Parameters not published.

get_paper_detailsGet full metadata for a paper by Inspire ID, arXiv ID, or DOI

Parameters not published.

get_paper_figuresRetrieve figures and download URLs for a paper

Parameters not published.

get_referencesGenerate BibTeX, LaTeX, or JSON reference lists

Parameters not published.

search_by_collaborationFind publications from ATLAS, CMS, LHCb, etc.

Parameters not published.

search_papersSearch papers by topic, author, collaboration, or free text

Parameters not published.

Ask AI

✦

Ask AI about Inspirehep MCP

Powered by Claude · Grounded in docs

I know everything about Inspirehep MCP. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

Static checks derived from the repository 4 days ago. Heuristics on the source, not an audit.

  • ✓README presentThe repository ships documentation.
  • ✓License declaredUsable under a stated license.
  • ✓Tests presentA test suite exists in the repository.
  • ✓Dependencies pinnedA lockfile pins dependency versions.
  • ✓No dynamic code executionSource scan found no eval, dynamic Function, or shell execution.
  • !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.

Releases

v0.3.0v0.3.0 · 4 Sep 2026What's Changed update actions using sanad by @MohamedElashri in https://github.com/MohamedElashri/inspirehep-mcp/pull/28 Full Changelog: https://github.com/MohamedElashri/inspirehep-mcp/compare/v0.2.0...v0.3.0
v0.2.0v0.2.0 · 25 Aug 2026What's Changed Configure Dependabot for pip and GitHub Actions by @MohamedElashri in https://github.com/MohamedElashri/inspirehep-mcp/pull/19 chore(deps): bump idna from 3.11 to 3.15 in the uv group across 1 directory by @dependabot[bot]…
v0.1.4v0.1.4 · 10 May 2026What's Changed chore(deps): bump pyjwt from 2.11.0 to 2.12.0 by @dependabot[bot] in https://github.com/MohamedElashri/inspirehep-mcp/pull/9 chore(deps): bump cryptography from 46.0.5 to 46.0.6 by @dependabot[bot] in…
v0.1.3v0.1.3 · 5 Mar 2026What's Changed fix: Add support for 'arxiv:' prefix in arXiv identifiers for parsing. by @MohamedElashri in https://github.com/MohamedElashri/inspirehep-mcp/pull/8 Full Changelog:…
v0.1.2v0.1.2 · 4 Mar 2026What's Changed feat: add tool to retrieve paper figures by @MohamedElashri in https://github.com/MohamedElashri/inspirehep-mcp/pull/5 ci: Add `dev` branch to push/pull request triggers … by @MohamedElashri in…

README

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
git clone https://github.com/MohamedElashri/inspirehep-mcp.git
cd inspirehep-mcp
uv sync
uv run inspirehep-mcp

Remote endpoint deployment

The installed command remains a stdio server by default, so existing desktop configurations continue to work. To run it natively as a remote MCP endpoint, select the Streamable HTTP transport:

INSPIREHEP_ALLOWED_HOSTS="mcp.example.org" \
  INSPIREHEP_HTTP_RATE_LIMIT=60 \
  inspirehep-mcp --transport streamable-http --host 0.0.0.0 --port 8000

The MCP endpoint is http://localhost:8000/mcp and the unauthenticated health probe is http://localhost:8000/health. PORT is also honored when a hosting platform injects it. Put the service behind HTTPS for internet deployment.

Docker

Release tags publish a container to the GitHub Container Registry. The image uses Streamable HTTP by default:

docker run --rm -p 8000:8000 \
  ghcr.io/mohamedelashri/inspirehep-mcp:latest

For a public hostname, add it to the host allowlist:

docker run --rm -p 8000:8000 \
  -e INSPIREHEP_ALLOWED_HOSTS="mcp.example.org" \
  -e INSPIREHEP_HTTP_RATE_LIMIT=60 \
  ghcr.io/mohamedelashri/inspirehep-mcp:latest

The image runs as a non-root user, has a built-in health check, and uses stateless JSON responses so replicas do not need shared MCP session state.

Docker Compose

The included docker-compose.yml can build the current checkout or run the published image:

# Local deployment
docker compose up --build -d

# Add the public hostname when deploying behind a domain
INSPIREHEP_ALLOWED_HOSTS="mcp.example.org" docker compose up -d

The Compose service is read-only, drops Linux capabilities, enables no-new-privileges, and retains the image health check.

Inbound rate limiting

Streamable HTTP requests are limited per client IP with a token bucket. The default is 60 requests per minute with a burst of 20; /health is exempt. Set INSPIREHEP_HTTP_RATE_LIMIT=0 to disable it.

Requests to /mcp are limited to 256 KiB. The native server also accepts at most 100 concurrent connections or tasks, closes idle keep-alive connections after 5 seconds, and admits at most 32 pending INSPIRE API cache misses. Excess upstream work fails fast instead of accumulating in memory.

By default, the limiter uses the direct peer address and ignores forwarded headers. Only enable INSPIREHEP_TRUST_PROXY_HEADERS when a trusted reverse proxy overwrites X-Forwarded-For; otherwise clients can choose their own rate-limit identity. The limiter is in-memory and per process, so multi-replica deployments should also enforce a shared limit at the proxy or gateway.

[!IMPORTANT] Read-only tools avoid mutation risk, but a public endpoint can still be used to consume your compute and upstream API allowance. This server does not add authentication. Use an authenticating reverse proxy if the endpoint should not be open to everyone, and retain an edge rate limit for distributed deployments. Keep DNS-rebinding protection enabled and set INSPIREHEP_ALLOWED_ORIGINS for clients that send an Origin header.

Integration

Claude Desktop / Cursor

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"]
    }
  }
}

Antigravity CLI

Open the interactive MCP manager with /mcp, or configure the server manually. Antigravity reads global MCP servers from ~/.gemini/config/mcp_config.json and workspace-local servers from .agents/mcp_config.json:

{
  "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

Configuration

All settings via environment variables (prefix INSPIREHEP_):

Variable Default Description
INSPIREHEP_REQUESTS_PER_SECOND 1.5 API rate limit
INSPIREHEP_UPSTREAM_MAX_PENDING 32 Maximum admitted INSPIRE API cache misses
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_TRANSPORT stdio stdio or streamable-http
INSPIREHEP_HOST 127.0.0.1 HTTP bind address
INSPIREHEP_PORT 8000 HTTP port; falls back to PORT
INSPIREHEP_HTTP_PATH /mcp Streamable HTTP endpoint path
INSPIREHEP_HTTP_STATELESS true Disable server-side MCP session state
INSPIREHEP_HTTP_JSON_RESPONSE true Prefer JSON responses over SSE streams
INSPIREHEP_HTTP_RATE_LIMIT 60 Inbound requests per minute per client; 0 disables
INSPIREHEP_HTTP_RATE_LIMIT_BURST 20 Maximum immediate requests per client
INSPIREHEP_HTTP_RATE_LIMIT_MAX_CLIENTS 10000 Maximum in-memory client buckets
INSPIREHEP_HTTP_MAX_BODY_SIZE 262144 Maximum /mcp request body bytes; 0 disables
INSPIREHEP_HTTP_MAX_CONCURRENCY 100 Maximum concurrent HTTP connections or tasks
INSPIREHEP_HTTP_KEEP_ALIVE_TIMEOUT 5 Idle HTTP keep-alive timeout in seconds
INSPIREHEP_TRUST_PROXY_HEADERS false Trust the first X-Forwarded-For address
INSPIREHEP_MAX_INPUT_LENGTH 2048 Maximum general text input characters
INSPIREHEP_MAX_IDENTIFIER_LENGTH 512 Maximum identifier input characters
INSPIREHEP_MAX_RESPONSE_BYTES 1048576 Maximum serialized tool-result bytes
INSPIREHEP_MAX_REFERENCES 250 Maximum references returned per tool call
INSPIREHEP_MAX_FIGURES 100 Maximum figures returned per tool call
INSPIREHEP_ALLOWED_HOSTS 127.0.0.1:*,localhost:* Comma-separated valid HTTP Host headers
INSPIREHEP_ALLOWED_ORIGINS empty Comma-separated valid browser origins
INSPIREHEP_DNS_REBINDING_PROTECTION true Validate Host and Origin headers
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 tests/test_rate_limit.py tests/test_server.py \
  tests/test_api_client_safety.py tests/test_tools_safety.py

LICENCE

This project is licensed under the AGPL-3.0 License - see the LICENSE file for details.

README fetched from the repository 4 days ago. The original is authoritative.

Questions

About Inspirehep MCP

How do I install Inspirehep MCP?

No package has been published for this server, so install it from source: clone the repository and follow its README.

Is Inspirehep MCP safe to use with an AI agent?

Its trust score is 64 out of 100 (good). It passes 5 of the 6 static security checks run so far; the failures are listed above. It has no ConduID identity yet, so agent calls to it are not receipted.

Is Inspirehep MCP still maintained?

Yes — the latest release is v0.3.0 (4 Sep 2026), and the last commit was 5 days ago. The repository has 7 stars and 6 open issues.