reactome-mcp
OfficialProvides Cypher query access to a local Reactome Neo4j graph database, enabling curation and graph-based exploration of pathway data.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@reactome-mcpFind pathways involving the TP53 gene"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
reactome-mcp
An MCP (Model Context Protocol) server that exposes the Reactome pathway knowledgebase to AI assistants. It wraps Reactome's Content Service and Analysis Service REST APIs, giving LLMs the ability to search, browse, analyse, and export biological pathway data through natural language.
Features
Pathway enrichment analysis — submit gene/protein lists and retrieve over-representation results, including p-values, FDR, and found/not-found identifiers
Search — full-text search across pathways, reactions, proteins, genes, and compounds with faceting, pagination, autocomplete, and spellcheck
Pathway browsing — navigate the pathway hierarchy, retrieve event details, ancestors, contained events, and participants
Entity lookup — inspect physical entities, complexes, subunits, and cross-references
Interactors — query protein–protein interaction data from PSICQUIC resources and Reactome's curated interactor database
Export — diagrams (PNG/SVG/JPG/GIF), SBGN, SBML, PDF reports, and CSV/JSON analysis results
Species & disease — list available species and disease annotations
ID mapping — map external identifiers (UniProt, Ensembl, CHEBI, etc.) to Reactome pathways and reactions
Over 40 tools and 10 resources are registered — see Tools and Resources below for the full list. Curators can additionally opt in to direct Cypher / Neo4j access against a local Reactome graph database (see Graph Database / Cypher).
Related MCP server: KEGG MCP Server
Prerequisites
Node.js >= 18
Installation
git clone https://github.com/reactome/reactome-mcp.git
cd reactome-mcp
npm install # runs `prepare` which builds dist/Configuration
All configuration is via environment variables — pass them in the env block of your MCP client config.
Variable | Default | Purpose |
|
| Base URL for the Content + Analysis Services. Override to point at staging / a specific release host. |
| derived from | Fine-grained override for the Content Service only. |
| derived from | Fine-grained override for the Analysis Service only. |
| (unset) | Set to enable the optional Cypher tools (see below). |
|
| |
|
| Works against auth-disabled local images ( |
|
| Matches the default in |
|
| Server-side transaction timeout (ms) for |
|
|
|
Usage
With Claude Desktop
Add the server to your Claude Desktop configuration (claude_desktop_config.json):
{
"mcpServers": {
"reactome": {
"command": "node",
"args": ["/absolute/path/to/reactome-mcp/dist/index.js"]
}
}
}With Claude Code
claude mcp add reactome node /absolute/path/to/reactome-mcp/dist/index.jsAdd --env NEO4J_URI=bolt://localhost:7687 (and friends) to enable the Cypher tools. See Configuration for the full list.
Example prompts
Once the server is registered, try asking Claude:
Exploration (REST — works with default install):
"What does Reactome know about the TP53 gene? Show me the top pathways it appears in."
"Give me the top-level pathways for Mus musculus and point out which are disease pathways."
"Summarize pathway R-HSA-109582 — include the references."
"I have these UniProt IDs: P04637, P53350, Q9UPN9, Q9Y243. Run a Reactome pathway enrichment and list the top 10 hits by FDR."
"Find pathways in the HHV8 infection area and show me the contained reactions of the best match."
"Export the SBGN for pathway R-HSA-1640170."
Graph queries (requires NEO4J_URI):
"Show me the Reactome graph schema, then find all
Pathwaynodes that are disease pathways and have a human species annotation.""Using the graph DB: for reaction R-HSA-199420, list every input and output entity with its display name and stable ID."
"Count how many
ReactionLikeEventnodes exist per species."
Claude reads per-server instructions on connection explaining the tool categories, ID conventions, and a recommended workflow, so it can usually chain the right calls without hand-holding. If an answer looks off, ask it to "show me the tool call and its result" and correct from there.
Standalone
npm startThe server communicates over stdio using the MCP protocol.
MCP Inspector
npm run inspectOpens the MCP Inspector UI for interactive testing.
Web Demo
npm run demoStarts a local web UI with an MCP bridge for browser-based exploration.
Tools
Analysis (9 tools)
Tool | Description |
| Analyse a single gene/protein identifier for pathway enrichment |
| Pathway enrichment analysis on a list of identifiers |
| Retrieve a previously computed analysis result by token |
| Get identifiers found in a specific pathway from an analysis |
| Get identifiers that could not be mapped in an analysis |
| Get a summary of molecule types found in an analysis |
| Compare Homo sapiens pathways to another species |
| Get pathway size distribution from an analysis result |
| Filter an analysis result to specific pathways |
Pathways (7 tools)
Tool | Description |
| Get details of a specific pathway or reaction |
| List top-level pathways for a species |
| Get the ancestor hierarchy of an event |
| Get all events contained within a pathway |
| Find pathways containing a specific entity |
| Find diagram-level pathways containing an entity |
| Get the complete event hierarchy for a species |
Search (7 tools)
Tool | Description |
| Full-text search across the knowledgebase |
| Search with pagination |
| Autocomplete suggestions |
| Spell-check suggestions |
| Get available search facets/filters |
| Find pathways containing an entity by database ID |
| Search for entities within a pathway diagram |
Entities (8 tools)
Tool | Description |
| Get details of a physical entity |
| Get all subunits of a complex |
| Get other forms of a physical entity |
| Find larger structures containing an entity |
| Get molecular participants in a reaction or pathway |
| Get physical entities participating in an event |
| Get reference entities for event participants |
| Find complexes containing an external identifier |
Export (9 tools)
Tool | Description |
| Export a pathway diagram as an image |
| Export a reaction diagram as an image |
| Export the species pathway overview diagram |
| Export to SBGN XML |
| Export to SBML |
| Export documentation to PDF |
| Generate a PDF analysis report |
| Export analysis results as CSV |
| Export analysis results as JSON |
Interactors (6 tools)
Tool | Description |
| List available PSICQUIC interaction databases |
| Summarise interactions from a PSICQUIC resource |
| Get detailed interactions from a PSICQUIC resource |
| Get curated interactions from Reactome |
| Find pathways where a protein's interactors appear |
| Summarise curated interactions for a protein |
Graph Database / Cypher (3 tools, opt-in)
Only registered when NEO4J_URI is set. Designed for curators running the reactome_neo4j_env Docker image locally (or pointing at a remote Reactome Neo4j).
Tool | Description |
| Run a Cypher query with optional parameters; row count, per-row size, and total response size are all capped; a server-side timeout terminates runaway queries |
| Live APOC introspection: labels with node counts, relationship cardinalities, per-label and per-rel property types (with mandatory flags), indexes, constraints. Cached for the session after first call; pre-warmed at MCP startup. |
| Return a small sample of nodes for a given label |
Read-only posture — what it is and isn't. Sessions run in Neo4j READ mode, which rejects native write clauses (CREATE, MERGE, DELETE, SET, REMOVE). On top of that, reactome_cypher_query rejects APOC procedures that can write or reach outside the graph through back-channels (apoc.cypher.runWrite / apoc.cypher.doIt, apoc.periodic.*, apoc.create/merge/refactor.*, apoc.load/import/export.*, apoc.trigger.*, apoc.nodes.delete). Treat this as a guardrail against accidental mutation, not a security boundary — a real trust boundary should live at the Neo4j RBAC / plugin configuration layer, or by pointing at a read-only replica.
Configuration (add to your Claude MCP config env block):
{
"mcpServers": {
"reactome": {
"command": "node",
"args": ["/absolute/path/to/reactome-mcp/dist/index.js"],
"env": {
"NEO4J_URI": "bolt://localhost:7687",
"NEO4J_USER": "neo4j",
"NEO4J_PASSWORD": "neo4j",
"NEO4J_DATABASE": "graph.db",
"CYPHER_QUERY_TIMEOUT_MS": "30000"
}
}
}
}NEO4J_USER / NEO4J_PASSWORD default to neo4j / neo4j (which works when the server has auth disabled, as in reactome_neo4j_env). NEO4J_DATABASE defaults to graph.db. CYPHER_QUERY_TIMEOUT_MS defaults to 30000 ms.
Utilities (7 tools)
Tool | Description |
| List species available in Reactome |
| List diseases annotated in Reactome |
| Get database version information |
| Map an external identifier to pathways |
| Map an external identifier to reactions |
| Get orthologous events/entities in another species |
| Query any Reactome database object by identifier |
Resources
Static
URI | Description |
| All species in Reactome |
| Main species with curated pathways |
| All annotated diseases |
| Database version and name |
Templates
URI Template | Description |
| Pathway details |
| Pathway diagram (SVG) |
| Entity details |
| Analysis result |
| Top-level pathways for a species |
| Full event hierarchy for a species |
Development
npm run dev # watch mode — recompiles on changes
npm run inspect # interactive MCP Inspector
npm run demo # web demo with MCP bridgeLicense
This project is licensed under the Apache License 2.0 — see LICENSE for details.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/reactome/reactome-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server