miEAA3 MCP Server
Integrates the miEAA 3.x bioinformatics platform with Claude Desktop, enabling microRNA enrichment analysis, identifier conversion between miRBase versions, and miRNA-precursor transformations through natural language.
README
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
miEAA3_mcp/
├── README.md
├── manifest.json
├── package.json
├── package-lock.json
├── tsconfig.json
├── dist/
│ ├── server.js
│ └── handlers/
│ ├── mieaa_categories_handler.js
│ ├── mieaa_mirna_precursor_converter_handler.js
│ ├── mieaa_mirbase_converter_handler.js
│ └── over_representation_analysis_handler.js
├── src/
│ ├── server.ts
│ ├── handlers/
│ │ ├── mieaa_categories_handler.ts
│ │ ├── mieaa_mirna_precursor_converter_handler.ts
│ │ ├── mieaa_mirbase_converter_handler.ts
│ │ └── over_representation_analysis_handler.ts
│ └── utils/
│ └── mieaa.ts
├── test.mjs
└── miEAA3_mcp.dxt
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:
npm install
Build Process
The MCP server must be bundled into a single ESM-compatible file for Claude Desktop.
npx esbuild src/server.ts --bundle --platform=node --format=esm --target=node18 --outfile=dist/server.js --log-level=debug
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
node test.mjs
All tools execute correctly in a local Node.js environment.
MCP Inspector
For protocol-level inspection and debugging:
npm install @modelcontextprotocol/inspector --save-dev
npx @modelcontextprotocol/inspector
Using in Claude as .dxt
-
Install prerequisites: Node.js ≥ 18, npm, and Claude Desktop
-
Clone or open the
miEAA3_mcpproject directory -
Install dependencies:
npm install
Build the MCP server into a single ESM file:
npx esbuild src/server.ts \
--bundle \
--platform=node \
--format=esm \
--target=node18 \
--outfile=dist/server.js
npx esbuild src/server.ts `
--bundle `
--platform=node `
--format=esm `
--target=node18 `
--outfile=dist/server.js
Create the Claude extension package (.dxt)
(or use the existing .dxt file from the repository):
zip -r miEAA3_mcp.dxt \
manifest.json \
package.json \
package-lock.json \
tsconfig.json \
dist \
-x "*.ts" "*.map" "*.log"
- 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.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.