Unofficial HPO MCP Server

Unofficial HPO MCP Server

Provides access to the Human Phenotype Ontology (HPO) API with tools for searching, browsing hierarchy, and analyzing phenotypic terms used in genetic research.

Category
访问服务器

README

Logo

Unofficial HPO MCP Server

An MCP (Model Context Protocol) server that provides access to the Human Phenotype Ontology (HPO) API. The HPO contains over 18,000 terms describing human phenotypic abnormalities and is widely used in genetic research and clinical diagnostics.

Developed by Augmented Nature

Features

This MCP server provides 12 comprehensive tools to interact with the HPO API:

Core Search & Information Tools

  • search_hpo_terms - Search for HPO terms by keyword, ID, or synonym with pagination support
  • get_hpo_term - Get detailed information about a specific HPO term by its ID
  • get_all_hpo_terms - List all HPO terms with pagination
  • batch_get_hpo_terms - Retrieve multiple HPO terms in a single request (up to 20 terms)

Hierarchical Navigation Tools

  • get_hpo_ancestors - Get all ancestor terms (all terms higher in the hierarchy)
  • get_hpo_parents - Get direct parent terms (one level up)
  • get_hpo_children - Get direct child terms (one level down)
  • get_hpo_descendants - Get all descendant terms (all terms lower in the hierarchy)

Analysis & Utility Tools

  • validate_hpo_id - Validate HPO ID format and verify term exists
  • get_hpo_term_path - Get the full hierarchical path from root to a specific term
  • compare_hpo_terms - Compare two terms and find their relationship and common ancestors
  • get_hpo_term_stats - Get comprehensive statistics and analysis for an HPO term

Prerequisites

  • Node.js: Version 18 or higher
  • Internet connection: Required for accessing the HPO API

Installation

  1. Clone or download this server:
cd hpo-server
npm install
  1. Build the server:
npm run build

Usage

Running the Server

npm start
# or
node build/index.js

Configuration

Add the server to your MCP settings file:

{
  "mcpServers": {
    "hpo-server": {
      "command": "node",
      "args": ["/path/to/hpo-server/build/index.js"]
    }
  }
}

Usage Examples

Search and Discovery

  1. Search for seizure-related terms:

    Search for HPO terms related to "seizure" using search_hpo_terms
    
  2. Search with pagination:

    Search for "heart defect" terms with 20 results per page using search_hpo_terms
    
  3. Get detailed term information:

    Get detailed information about seizure (HP:0001250) using get_hpo_term
    

Hierarchical Navigation

  1. Explore term hierarchy:

    Get all ancestors of seizure term using get_hpo_ancestors
    
  2. Find related terms:

    Get direct children of nervous system abnormality using get_hpo_children
    
  3. Browse term descendants:

    Get all descendant terms of seizure using get_hpo_descendants
    

Analysis and Utilities

  1. Validate HPO IDs:

    Validate if "HP:0001250" is a correct HPO ID using validate_hpo_id
    
  2. Get hierarchical path:

    Show the complete path from root to seizure term using get_hpo_term_path
    
  3. Compare two terms:

    Compare seizure and nervous system abnormality terms using compare_hpo_terms
    
  4. Get term statistics:

    Get comprehensive statistics for seizure term using get_hpo_term_stats
    
  5. Batch processing:

    Get information for multiple terms (HP:0001250, HP:0000707, HP:0001626) using batch_get_hpo_terms
    
  6. List all terms:

    Browse all HPO terms with pagination using get_all_hpo_terms
    

API Features

HPO ID Format Support

HPO IDs can be provided in multiple formats:

  • Full format: HP:0001250
  • Short format: 0001250
  • The server automatically handles format conversion

Pagination Support

Search and listing tools support pagination:

  • max - Maximum results per page (varies by tool)
  • offset - Number of results to skip (default: 0)

Parameter Details

  • id (string, required for most tools): HPO term ID
  • query (string, required for search): Search query - keyword, HPO ID, or synonym
  • category (array, optional): Filter by specific HPO categories
  • max (number, optional): Maximum results to return
  • offset (number, optional): Pagination offset

API Details

  • Base URL: https://ontology.jax.org/api/hp/
  • Authentication: None required (public API)
  • Rate Limiting: Managed by client with 30-second timeout
  • Error Handling: Comprehensive error messages and graceful degradation

Project Structure

hpo-server/
├── src/
│   ├── index.ts              # Main MCP server implementation
│   ├── types/
│   │   └── hpo.ts           # TypeScript interfaces for HPO data
│   ├── utils/
│   │   └── api-client.ts    # HPO API HTTP client
│   └── handlers/
│       └── hpo-handlers.ts  # MCP tool implementations
├── build/                   # Compiled JavaScript output
├── package.json
├── tsconfig.json
└── README.md

Development

Building the Server

cd hpo-server
npm run build

Dependencies

  • @modelcontextprotocol/sdk - MCP SDK for server implementation
  • axios - HTTP client for HPO API requests

About the Human Phenotype Ontology

The HPO provides a standardized vocabulary of phenotypic abnormalities encountered in human disease. Each term describes a phenotypic abnormality, such as "Atrial septal defect" or "Intellectual disability". The HPO is:

Error Handling

The server includes comprehensive error handling:

  • Invalid HPO IDs are properly formatted when possible
  • Network errors provide clear user-friendly messages
  • API errors are passed through with context
  • Parameter validation with helpful error messages

Limitations

  • Maximum result limits are enforced to prevent overwhelming responses
  • Network timeouts are set to 30 seconds for stability
  • Some HPO API endpoints may have their own rate limiting (handled gracefully)

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选