Liftover MCP server
Overview
This MCP server provides a programmatic interface to the Broad Institute's Liftover tool, which is available at liftover.broadinstitute.org.
Status
🚧 Under Active Development 🚧
This project is currently under active development. Features and APIs may change without notice.
Dependencies
uv- mcp[cli]
- fastmcp
- beautifulsoup4
- selenium
Directory structure
+.
├── server.py # Main FastMCP server entrypoint
├── liftover_api/ # Python package with tool logic and parsers
├── pyproject.toml # Project metadata and dependencies
└── README.md # Usage and documentation
Setup and Running
Add the MCP server to your MCP server list (Cursor)
{
"mcpServers": {
"liftover": {
"command": "uv",
"args": ["--directory", "where you cloned the repo", "run", "server.py"],
"env": {}
}
}
}
Run MCP Inspector
# Install dependencies
uv sync
# Run MCP Inspector
uv --directory ./ run mcp dev server.py
Run the MCP server
# Install dependencies
uv sync
# Run the MCP server
uv run server.py
MCP tool specification
Tool name
- liftover
Input parameter examples
| Parameter | Type | Required | Description |
|---|---|---|---|
| chr | str | Optional | Chromosome name (e.g., "8" or "chr8") |
| position | int | Optional | Single position (e.g., 141310715) |
| start | int | Optional | Interval start position (e.g., 141310715) |
| end | int | Optional | Interval end position (e.g., 141310720) |
| ref | str | Optional | Reference allele (e.g., "T") |
| alt | str | Optional | Alternate allele (e.g., "G") |
| transcript | str | Optional | Transcript ID (e.g., "NM_001089.3") |
| c_dot | str | Optional | c. notation (e.g., "c.875A>T") |
| p_dot | str | Optional | p. notation (e.g., "p.Glu292Val") |
| from_genome | str | Required | Source genome (e.g., "hg19") |
| to_genome | str | Required | Target genome (e.g., "hg38") |
- Specify only the required parameters for each input format
Input examples
- chr=8, position=141310715, from_genome=hg19, to_genome=hg38
- chr=8, start=141310715, end=141310720, from_genome=hg19, to_genome=hg38
- chr=8, position=141310715, ref=T, alt=G, from_genome=hg19, to_genome=hg38
- transcript=NM_001089.3, c_dot=c.875A>T, p_dot=p.Glu292Val, from_genome=hg19, to_genome=hg38
Please follow the liftover.broadinstitute.org
Credits
This tool relies on the Broad Institute's Liftover web service. All coordinate conversion functionality is provided by their service.
Please cite and credit the Broad Institute when using this tool in your work.
Visit liftover.broadinstitute.org for more information about the original service.
Release Notes
v0.1.0-alpha (2025-04-22)
Initial alpha release with basic functionality:
- ✨ Basic liftover functionality implementation
- 🎯 Support for single position conversion
- 🎯 Support for interval conversion
- 🎯 Support for variant conversion
- 🎯 Support for HGVS notation conversion
- 📚 Basic documentation and usage examples
License
This MCP server itself is licensed under the Apache License 2.0 - see the LICENSE file for details.
Acknowledgements
Recommend MCP Servers 💡
@maxim-saplin/mcp_safe_local_python_executor
Stdio MCP Server wrapping custom Python runtime (LocalPythonExecutor) from Hugging Faces' `smolagents` framework. The runtime combines the ease of setup (compared to docker, VM, cloud runtimes) while providing safeguards and limiting operations/imports that are allowed inside the runtime.
Bigchx/mcp_3d_relief
Converts 2D images into 3D relief models in STL format for 3D printing or rendering
vscode-mcp-server
MCP server to expose VS Code editing features to an LLM for AI coding
@pyroprompts/any-chat-completions-mcp
MCP Server for using any LLM as a Tool
ExternalAttacker-MCP
An MCP server for external attack surface management that provides automated scanning capabilities via a natural language interface
cyberchef_api_mcp_server
This model context protocol (MCP) server interfaces with the [CyberChef Server](https://github.com/gchq/CyberChef-server) API. Allowing you to use any LLM/MCP client of your choosing to utilise the tools and resources within CyberChef.