HU

hlydecker/ucsc-genome-mcp

开发工具

本页由 AI 翻译,技术细节请以原文为准。 查看原文

7 stars 5 forks 质量 71 趋势 15MIT

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 SDK
  • httpx>=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",
在 GitHub 查看完整 README

安装

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