Skip to main content

An MCP server for RNAcentral, providing RNA sequence search, ID mapping, genomic context, and 2D structures.

Project description

RNAcentral MCP Server

Documentation

This is an MCP server that provides a comprehensive interface to the RNAcentral database, allowing for complex searches, sequence mapping, genomic analysis, and metadata retrieval for non-coding RNA sequences.

📖 Full documentation: https://rnacentral.github.io/rnacentral-mcp-server/ — installation guides for Claude Desktop / Claude Code / other MCP clients, per-tool reference, and examples.

Features

  • Comprehensive Search: Query RNAcentral using natural language or filters (RNA type, taxon, expert database). Combines EBI Search and RNAcentral API data for enriched metadata (Rfam hits, GO annotations).
  • Sequence Search: Search for RNA sequences across multiple databases to find identical or similar entries.
  • Bidirectional ID Mapping: Map between RNAcentral URS IDs and external database identifiers (miRBase, Ensembl, HGNC, etc.) with automatic taxonomy resolution.
  • Bulk Sequence Export: Export search results in FASTA or Parquet formats, ideal for downstream analysis or machine learning datasets.
  • Genomic Overlap (Ensembl): Find non-coding RNAs overlapping specific genomic coordinates or gene symbols using Ensembl's GraphQL integration.
  • 2D Structure Diagrams: Retrieve secondary structure (2D) diagrams in SVG format for RNAs with known or predicted folds.
  • Literature Summaries: Access AI-generated literature summaries for RNA sequences to understand their biological context.

Prerequisites

  • Python 3.10 or higher
  • uv (recommended) or pip

Installation

  1. Set up a Python environment:
# Using uv (recommended)
uv venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate

# Add dependencies
uv add "mcp[cli]" aiohttp
  1. Install the package in editable mode:
uv pip install -e .

Running the Server

Development Mode (with MCP Inspector)

mcp dev rnacentral_sequence_search/server.py

This will start the server and open the MCP Inspector, allowing you to test the server interactively.

Using with Claude Desktop

To install the server in Claude Desktop, add this to your claude_desktop_config.json. You can optionally specify a --log-dir to save logs to a specific directory:

{
  "mcpServers": {
    "rnacentral": {
      "command": "uvx",
      "args": [
        "--from",
        "git+https://github.com/rnacentral/rnacentral-mcp-server.git",
        "run-server",
        "--log-dir",
        "/Users/YOUR_USERNAME/logs/rnacentral"
      ]
    }
  }
}

Direct Execution

You can run the server directly using Python. Use the --log-dir argument to specify where to save log files:

python rnacentral_sequence_search/server.py --log-dir ./logs

Or using the installed script:

run-server --log-dir ./logs

Usage Examples

Once the server is running, you can interact with various tools:

Bidirectional ID Mapping

Map an external ID to RNAcentral and see all cross-references:

Tool: map_rna_id
Arguments:
{
  "identifier": "MIMAT0000062",
  "taxon": "Homo sapiens"
}

Genomic Overlap

Find ncRNAs overlapping a specific gene in human:

Tool: get_overlapping_ncrnas
Arguments:
{
  "species": "human",
  "gene_symbol": "HOTAIR"
}

2D Structure Retrieval

Get the secondary structure diagram for a specific URS ID:

Tool: get_secondary_structure_svg
Arguments:
{
  "urs_id": "URS0000049E57"
}

Bulk Sequence Export

Export a set of sequences matching a search query for machine learning:

Tool: export_sequences
Arguments:
{
  "query": "lncRNA",
  "taxon": "9606",
  "format": "parquet",
  "max_length": 500
}

Literature Summaries

Get a summary of the known biological role of an RNA:

Tool: get_rna_description
Arguments:
{
  "rna_id": "mmu-mir-191"
}

Notes

  • The server handles complex queries by orchestrating multiple upstream APIs (EBI Search, RNAcentral, Ensembl).
  • Sequence searches poll for results with a timeout to handle varying server loads.
  • The 2D structure SVG can be used for direct visualization in supporting clients.
  • For very large exports, use the export_sequences tool which uses specialized microservices for efficiency.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rnacentral_mcp_server-0.1.0.tar.gz (137.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

rnacentral_mcp_server-0.1.0-py3-none-any.whl (17.6 kB view details)

Uploaded Python 3

File details

Details for the file rnacentral_mcp_server-0.1.0.tar.gz.

File metadata

  • Download URL: rnacentral_mcp_server-0.1.0.tar.gz
  • Upload date:
  • Size: 137.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.11 {"installer":{"name":"uv","version":"0.9.11"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for rnacentral_mcp_server-0.1.0.tar.gz
Algorithm Hash digest
SHA256 bb543d675355a8b6931d24e03dbbb0e3e4357c10de744c5c2666fb2aa3583eef
MD5 4781ee8f7e358dfcfa1aa15af2792a1d
BLAKE2b-256 aafa6d9164071e6895ddb5c02fe34acdbcbcee38775fa90ef3dae81b349a27de

See more details on using hashes here.

File details

Details for the file rnacentral_mcp_server-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: rnacentral_mcp_server-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 17.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.11 {"installer":{"name":"uv","version":"0.9.11"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for rnacentral_mcp_server-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3dc49d73681f6b41b6a8455369861d1f22b7b387f6564769bf5b95d1654f1e4a
MD5 990a862f0a015a26c40d5e1bd4320473
BLAKE2b-256 b09491f5ccdf9b0ce41dc5ce42ec8ca67d5e05f3f0f08c3ab3cb49cad1cd7aa8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page