Robomcp
MCP server for Biolink Model Toolkit
Installation
npx robomcpAsk AI about Robomcp
Powered by Claude · Grounded in docs
I know everything about Robomcp. Ask me about installation, configuration, usage, or troubleshooting.
0/500
Reviews
Documentation
RoboMCP
A collection of Model Context Protocol (MCP) servers providing AI assistants with access to biomedical knowledge APIs from the Translator and ROBOKOP ecosystem.
What is MCP?
The Model Context Protocol (MCP) is an open protocol that enables AI assistants like Claude to securely connect to external data sources and tools. These MCP servers act as bridges between Claude and specialized biomedical knowledge services.
Available Servers
Name Resolver MCP
Provides biological entity name lookup and synonym resolution.
Tools:
-
lookup- Search for biological entities by name with filtering options- Filter by entity type (Disease, Gene, ChemicalEntity, etc.)
- Restrict to specific namespaces (MONDO, CHEBI, HGNC, etc.)
- Filter by taxa (e.g., human-only results)
- Autocomplete and highlighting support
-
synonyms- Get all known synonyms for biological entity CURIEs- Returns preferred names and alternative labels
- Useful for entity disambiguation
Node Normalizer MCP
Provides biological entity CURIE normalization and conflation.
Tools:
get_normalized_nodes- Normalize biological entity CURIEs- Maps identifiers to canonical forms
- Shows all equivalent identifiers across namespaces
- Displays biolink types and information content
- Optional gene/protein conflation
- Optional drug/chemical conflation
- Optional descriptions
Biolink MCP
Provides access to the Biolink Model Toolkit for querying and navigating the Biolink Model.
Tools:
get_element- Get a Biolink Model element by nameget_ancestors- Get ancestors of a Biolink elementget_descendants- Get descendants of a Biolink elementget_all_classes- Get all Biolink classesget_all_slots- Get all Biolink slotsget_all_entities- Get all Biolink entitiesget_element_by_mapping- Map external CURIEs to Biolink elementsis_predicate- Check if a name is a Biolink predicateget_slot_domain- Get the domain for a Biolink slotget_slot_range- Get the range for a Biolink slot
ROBOKOP MCP
Provides access to the ROBOKOP Knowledge Graph for querying biomedical relationships.
Tools:
get_node- Get information about a specific node by CURIEget_edges- Get edges connected to a node with optional filteringget_edge_summary- Get a summary of edge types connected to a nodeget_edges_between- Find all edges connecting two nodes
Installation
Each MCP server is published as an independent package on PyPI.
Recommended: Use with uvx
No installation needed! Use uvx to run the servers in isolated environments (see Configuration section below).
Install in a Virtual Environment
If you prefer to install the packages:
# Create and activate a virtual environment
python -m venv mcp-env
source mcp-env/bin/activate # On Windows: mcp-env\Scripts\activate
# Install desired servers
pip install name-resolver-mcp
pip install nodenormalizer-mcp
pip install biolink-mcp
pip install robokop-mcp
Install from Source for Development
# Clone the repository
git clone https://github.com/cbizon/RoboMCP.git
cd RoboMCP
# Install a specific server in editable mode
cd name-resolver-mcp
pip install -e .
Configuration
Environment Variables
Each server can be configured using environment variables to point to different API endpoints:
NAME_RESOLVER_URL- Name Resolution Service endpoint (default:https://name-resolution-sri.renci.org)NODE_NORMALIZER_URL- Node Normalization Service endpoint (default:https://nodenormalization-sri.renci.org)BIOLINK_VERSION- Biolink Model version (optional, defaults to latest)ROBOKOP_URL- ROBOKOP Knowledge Graph endpoint (default:https://automat.renci.org/robokopkg)
Claude Desktop Configuration
Add the servers to your Claude Desktop configuration file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%/Claude/claude_desktop_config.json
Using uvx (Recommended)
The easiest way to use these servers is with uvx, which runs them in isolated environments without installation:
{
"mcpServers": {
"name-resolver": {
"command": "uvx",
"args": ["name-resolver-mcp"]
},
"nodenormalizer": {
"command": "uvx",
"args": ["nodenormalizer-mcp"]
},
"biolink": {
"command": "uvx",
"args": ["biolink-mcp"]
},
"robokop": {
"command": "uvx",
"args": ["robokop-mcp"]
}
}
}
For Local Development
When running from source, use the full uv command:
{
"mcpServers": {
"name-resolver": {
"command": "uv",
"args": [
"run",
"--directory",
"/absolute/path/to/RoboMCP/name-resolver-mcp",
"python",
"run_server.py"
]
},
"nodenormalizer": {
"command": "uv",
"args": [
"run",
"--directory",
"/absolute/path/to/RoboMCP/nodenormalizer-mcp",
"python",
"run_server.py"
]
},
"biolink": {
"command": "uv",
"args": [
"run",
"--directory",
"/absolute/path/to/RoboMCP/biolink-mcp",
"python",
"run_server.py"
]
},
"robokop": {
"command": "uv",
"args": [
"run",
"--directory",
"/absolute/path/to/RoboMCP/robokop-mcp",
"python",
"run_server.py"
]
}
}
}
Note: Replace /absolute/path/to/RoboMCP with your actual path.
Custom API Endpoints
To use custom API endpoints, add environment variables:
{
"mcpServers": {
"name-resolver": {
"command": "name-resolver-mcp",
"env": {
"NAME_RESOLVER_URL": "https://your-custom-endpoint.example.com"
}
}
}
}
Restart Claude Desktop
After updating the configuration, restart Claude Desktop for the changes to take effect.
Example Usage
Once configured, you can ask Claude questions like:
Name Resolution:
- "Look up 'diabetes' in the name resolver"
- "Find all genes with 'BRCA' in the name, limited to human genes"
- "Get synonyms for MONDO:0007739"
Node Normalization:
- "Normalize these CURIEs: MESH:D014867, NCIT:C34373"
- "What are the equivalent identifiers for CHEBI:5931?"
- "Normalize UniProtKB:P04637 with gene/protein conflation enabled"
Development
See CLAUDE.md for development instructions and guidelines.
License
MIT License - see LICENSE file for details.
Support
For issues or questions, please open an issue on the GitHub repository.
