miEAA3_MCP
An MCP (Model Context Protocol) server that integrates the miEAA 3.x REST API with Claude Desktop, exposing miEAA functionality as callable tools for microRNA and precursor enrichment analysis.
Introduction
miEAA3_MCP provides a clean integration layer between Claude Desktop and the miEAA bioinformatics platform.
The server is implemented in TypeScript, bundled as a single Node.js ESM entry point, and registered with Claude via MCP.
The project focuses on:
Correct MCP protocol integration
Robust request/response normalization
Reliable execution of miEAA tools inside Claude Desktop
No biological logic is reimplemented; all analysis is performed by the official miEAA API.
Repository Structure
Integrated Tools (Claude MCP)
The following four miEAA tools are integrated, registered, and visible in Claude Desktop:
1. Over-Representation Analysis (ORA)
Tool: over_representation_analysis
Runs miEAA ORA for miRNA or precursor inputs
Handles job submission, polling, and result retrieval
Supports category-based enrichment analysis
2. List Enrichment Categories
Tool: list_enrichment_categories
Queries available enrichment categories from miEAA
Intended to guide category selection for ORA
3. miRNA ↔ Precursor Converter
Tool: mirna_precursor_converter
Converts between miRNA and precursor identifiers
Handles miEAA rate limits
Normalizes plain-text API responses into structured output
4. miRBase Version Converter
Tool: mirbase_version_converter
Converts miRNA identifiers between miRBase versions
Explicitly reports converted, unchanged, and unmappable entries
Environment Setup
Prerequisites
Node.js ≥ 18
npm
Install dependencies:
Build Process
The MCP server must be bundled into a single ESM-compatible file for Claude Desktop.
Why this build step is required
Bundles all handlers and utilities into one file
Ensures compatibility with Claude’s Node runtime
Resolves MCP SDK and module resolution issues
Claude Desktop Integration
The MCP server is correctly discovered and launched by Claude Desktop
Extension folder detection issues are resolved
MCP SDK resolution issues are resolved by the current build setup
All four tools appear as callable tools inside Claude
No manual server startup is required when using Claude Desktop.
Local Testing
All tools execute correctly in a local Node.js environment.
MCP Inspector
For protocol-level inspection and debugging:
Using in Claude as .dxt
Install prerequisites: Node.js ≥ 18, npm, and Claude Desktop
Clone or open the
miEAA3_mcpproject directoryInstall dependencies:
npm install
Build the MCP server into a single ESM file:
Create the Claude extension package (.dxt)
(or use the existing .dxt file from the repository):
Open Claude Desktop → Settings → Advanced → Install Extension
Select the miEAA3_mcp.dxt file (from your Windows or local folder)
Open a new Claude chat and use the miEAA tools directly
(no manual server start required)
Current Issue
At the moment, I am refining the result formatting, so the outputs are more structured and easier to use by user, while remaining MCP-compatible. The miEAA server was temporarily down during testing, but I expect to complete this today once it is reachable again.
One issue I encountered is that GSEA analysis has API endpoints but expects a different input format that is not documented on the miEAA website, which currently prevents successful execution. All other API-based tools are working as expected.