Skip to main content

RNAcentral MCP Server

Documentation PyPI

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 the Ensembl REST API.
  • 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

The server is published on PyPI as rnacentral-mcp-server. The easiest way to run it is with uvx, which fetches and runs it without a manual install:

uvx --from rnacentral-mcp-server run-server

Or install it into an environment with pip / uv:

pip install rnacentral-mcp-server
# or
uv add rnacentral-mcp-server

This makes the run-server console script available.

From source (for development)

  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",
        "rnacentral-mcp-server",
        "run-server",
        "--log-dir",
        "/Users/YOUR_USERNAME/logs/rnacentral"
      ]
    }
  }
}

(To run the latest unreleased code instead, replace rnacentral-mcp-server with git+https://github.com/rnacentral/rnacentral-mcp-server.git.)

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.

Metadata

Release files for rnacentral-mcp-server 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for rnacentral-mcp-server 0.2.0
File Size Uploaded Provenance
rnacentral_mcp_server-0.2.0.tar.gz 141.7 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for rnacentral-mcp-server 0.2.0
File Interpreter ABI Platform
rnacentral_mcp_server-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 160.3 kB

Release files / rnacentral_mcp_server-0.2.0.tar.gz

Download URL rnacentral_mcp_server-0.2.0.tar.gz
Size 141.7 kB
Tags Source
SHA-256 checksum
How to use checksums
d97ae926f765492283eac40ef754dfa8f2b3b11b892b32cffa1a07888784d4a2
BLAKE2b-256 checksum
How to use checksums
46f5369623bd1b5e11b12e12269fa9153b1c856c08ec3a63e4137f87f970283f
Upload date
Uploaded using Trusted Publishing?
What is 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}

Release files / rnacentral_mcp_server-0.2.0-py3-none-any.whl

Download URL rnacentral_mcp_server-0.2.0-py3-none-any.whl
Size 18.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
bfe37c380bf3d994685c0acbf62e0d6419464bb907166a2d272c10eda2889ef6
BLAKE2b-256 checksum
How to use checksums
38ea0d8e0919c712d7a3c35fcfac1dbc558d55e9b8fda9a211b9b9fd6ebd93f0
Upload date
Uploaded using Trusted Publishing?
What is 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}

Security for rnacentral-mcp-server 0.2.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page