miEAA3 MCP Server

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.

Category
Visit Server

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_mcp project 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

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.

Official
Featured
TypeScript
Magic Component Platform (MCP)

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.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

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.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

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.

Official
Featured
TypeScript
Kagi MCP Server

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.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

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.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured