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.
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。