
An MCP server to interact with the UCSC Genome Browser API
概览
A Model Context Protocol (MCP) server that provides comprehensive access to the UCSC Genome Browser API. This server enables LLM applications to query genomic data, sequences, tracks, and metadata from the UCSC Genome Browser. This MCP server exposes 12 tools that cover all major UCSC Genome Browser API endpoints: - - Search for genomes using keywords, accession IDs, or organism names - - List all available public track hubs - - List all UCSC database genomes - - List GenArk assembly hub genomes - - List genomes from a specific hub - - List downloadable files for a genome - - List data tracks in a genome or hub - - List chromosomes in a genome or track - - Get schema/field definitions for a track - - Retrieve DNA sequences from genomes - - Get track data (genes, variants, annotations, etc.) - - Search within a genome assembly - mcp>=0.9.0 - Model Context Protocol SDK - httpx>=0.27.
README
以下为原文 README 节选,完整内容请查看原文。
UCSC Genome Browser MCP Server
A Model Context Protocol (MCP) server that provides comprehensive access to the UCSC Genome Browser API. This server enables LLM applications to query genomic data, sequences, tracks, and metadata from the UCSC Genome Browser.
Features
This MCP server exposes 12 tools that cover all major UCSC Genome Browser API endpoints:
Listing & Discovery Tools
- find_genome - Search for genomes using keywords, accession IDs, or organism names
- list_public_hubs - List all available public track hubs
- list_ucsc_genomes - List all UCSC database genomes
- list_genark_genomes - List GenArk assembly hub genomes
- list_hub_genomes - List genomes from a specific hub
- list_files - List downloadable files for a genome
- list_tracks - List data tracks in a genome or hub
- list_chromosomes - List chromosomes in a genome or track
- list_schema - Get schema/field definitions for a track
Data Retrieval Tools
- get_sequence - Retrieve DNA sequences from genomes
- get_track_data - Get track data (genes, variants, annotations, etc.)
- search_genome - Search within a genome assembly
Installation
Prerequisites
- Python 3.10 or higher
- pip
Install from source
# Clone or download the repository
cd ucsc-genome-mcp-server
# Install in development mode
pip install -e .
Required Dependencies
mcp>=0.9.0- Model Context Protocol SDKhttpx>=0.27.0- HTTP client for API requests
Usage
Running the Server
The server communicates over stdio, following the MCP protocol:
python ucsc_genome_mcp_server.py
Configuration with Claude Desktop
Add this to your Claude Desktop configuration file:
MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"ucsc-genome-browser": {
"command": "/Users/You/.local/bin/uv",
"args": [
"--directory",
"/Users/Path/To/Repository/ucsc-genome-mcp",
"run",
"ucsc-genome-mcp.py"
],
"env": {},
"metadata": {
"description": "UCSC Genome Browser API",
"version": "1.0.0"
}
}
}
Tool Examples
1. Find Genomes
Search for dog genomes:
{
"query": "dog"
}
Search with advanced operators:
{
"query": "+white +rhino* -southern",
"browser": "mustExist"
}
2. List Available Tracks
List all tracks for human genome (hg38):
{
"genome": "hg38"
}
List tracks without container information:
{
"genome": "hg38",
"track_leaves_only": true
}
3. Get DNA Sequence
Get entire mitochondrial chromosome:
{
"genome": "hg38",
"chrom": "chrM"
}
Get specific region:
{
"genome": "hg38",
"chrom": "chrM",
"start": 4321,
"end": 5678
}
Get reverse complement:
{
"genome": "hg38",
"chrom": "chrM",
安装
This server does not publish a one-line install command.
Open the repository installation guide 新手?先看 mcpskill.org 教程 →配置
{
"mcpServers": {
"ucsc-genome-browser": {
"command": "/Users/You/.local/bin/uv",
"args": [
"--directory",
"/Users/Path/To/Repository/ucsc-genome-mcp",
"run",
"ucsc-genome-mcp.py"
],
"env": {},
"metadata": {
"description": "UCSC Genome Browser API",
"version": "1.0.0"
}
}
}