BioOntology MCP Server
Provides comprehensive access to the BioOntology API for searching, annotating, and exploring over 1,200 biological ontologies, including features for term searching, text annotation, ontology navigation, and analytics.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@BioOntology MCP Server search for diabetes terms in NCIT and DOID ontologies"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.

Unofficial BioOntology MCP Server
A production-ready Model Context Protocol (MCP) server that provides comprehensive access to the BioOntology API for searching, annotating, and exploring over 1,200 biological ontologies.
Features
Search & Discovery
search_terms - Search across ontology terms with advanced filtering options
search_properties - Search ontology properties by labels and IDs
search_ontologies - Find ontologies by name, description, or domain
get_ontology_info - Get detailed information about specific ontologies
Text Analysis
annotate_text - Analyze text and identify relevant ontology terms
recommend_ontologies - Get ontology recommendations for text or keywords
batch_annotate - Process multiple texts for annotation efficiently
Ontology Navigation
get_class_info - Get detailed information about ontology classes
Analytics & Metadata
get_ontology_metrics - Get usage statistics and quality metrics
get_analytics_data - Get visitor statistics and popularity trends
Related MCP server: biothings-mcp
Installation
Clone or download this server
Install dependencies:
npm installBuild the server:
npm run build
Configuration
You need a BioOntology API key to use this server. Get one from BioPortal:
Create an account at https://bioportal.bioontology.org/
Generate an API key from your account settings
Set the environment variable:
export BIOONTOLOGY_API_KEY=your_api_key_here
Usage
Running the Server
node build/index.jsThe server runs on stdio and implements the MCP protocol for communication with MCP-compatible clients.
Resource Templates
The server provides several resource templates for direct data access:
bioontology://ontology/{acronym}- Complete ontology informationbioontology://class/{ontology}/{class_id}- Ontology class detailsbioontology://search/{query}- Term search resultsbioontology://annotations/{text}- Text annotation resultsbioontology://recommendations/{input}- Ontology recommendationsbioontology://analytics/{ontology}- Analytics data
Example Tool Calls
Search for terms:
{
"tool": "search_terms",
"arguments": {
"query": "diabetes",
"ontologies": "NCIT,DOID",
"require_definitions": true,
"pagesize": 10
}
}Annotate text:
{
"tool": "annotate_text",
"arguments": {
"text": "The patient has diabetes mellitus and hypertension",
"ontologies": "NCIT,DOID,HP",
"longest_only": true
}
}Get ontology recommendations:
{
"tool": "recommend_ontologies",
"arguments": {
"input": "cancer treatment protocols",
"input_type": 1,
"output_type": 1
}
}Batch annotate multiple texts:
{
"tool": "batch_annotate",
"arguments": {
"texts": ["diabetes mellitus", "cardiac arrest", "lung cancer"],
"ontologies": "NCIT",
"longest_only": true
}
}Supported Ontologies
The server works with all ontologies available in BioPortal (1,200+), including:
Medical/Clinical:
NCIT - NCI Thesaurus (cancer terminology)
DOID - Disease Ontology
HP - Human Phenotype Ontology
MESH - Medical Subject Headings
Biological/Chemical:
GO - Gene Ontology
UBERON - Anatomy ontology
CHEBI - Chemical entities of biological interest
And 1,190+ more specialized ontologies
Integration with MCP Clients
This server is compatible with any MCP-enabled client. Popular options include:
Claude Desktop - Add to your MCP configuration
VSCode Extensions - Use with MCP-compatible extensions
Custom Applications - Integrate via the MCP protocol
MCP Configuration Example
Add to your MCP client configuration:
{
"servers": {
"bioontology": {
"command": "node",
"args": ["/path/to/bioontology-server/build/index.js"],
"env": {
"BIOONTOLOGY_API_KEY": "your_api_key_here"
}
}
}
}Advanced Features
Input Validation
Comprehensive parameter validation with proper error messages
Type checking for all inputs
Range validation for numeric parameters
Enum validation for restricted values
Error Handling
Graceful handling of API errors
Structured error responses
Network timeout management
Authentication error reporting
Performance
Efficient API request handling
Proper timeout management
Memory usage optimization
Concurrent request support
API Documentation
For detailed BioOntology API documentation, see: https://data.bioontology.org/documentation
Production Use
This server has been thoroughly tested and is ready for production use. It provides:
Reliable API integration with robust error handling
Comprehensive input validation for all tools
Full MCP protocol compliance for seamless integration
Support for 1,200+ ontologies across all biological domains
High performance with optimized response times
License
MIT License - see LICENSE file for details.
Citation
If you use this project in your research or publications, please cite it as follows:
Available Tools
10 toolsannotate_textC
Analyze text and identify relevant ontology terms with configurable parameters
Inputs: text (required), ontologies, semantic_types, expand_semantic_types_hierarchy, +9 more.
batch_annotateC
Process multiple texts for annotation efficiently
Inputs: texts (required), ontologies, longest_only, whole_word_only.
get_analytics_dataC
Get visitor statistics and popularity trends with optional date filtering
Inputs: month, year, ontology.
get_class_infoB
Get detailed information about a specific ontology class
Inputs: ontology (required), class_id (required), include.
get_ontology_infoB
Get detailed information about a specific ontology
Inputs: acronym (required), include_views.
get_ontology_metricsC
Get usage statistics and quality metrics for an ontology
Inputs: ontology (required).
recommend_ontologiesC
Get ontology recommendations for text or keywords with customizable weights
Inputs: input (required), input_type, output_type, max_elements_set, +5 more.
search_ontologiesC
Search for ontologies by name, description, or domain
Inputs: query, also_search_views, include_views, display_context, +1 more.
search_propertiesC
Search ontology properties by their labels and IDs
Inputs: query (required), ontologies, require_exact_match, also_search_views, +6 more.
search_termsC
Search across ontology terms with advanced filtering options
Inputs: query (required), ontologies, require_exact_match, suggest, +10 more.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 10 tools
Most tools have clearly distinct purposes, such as annotate_text for text analysis, get_class_info for class details, and search_ontologies for ontology discovery. However, get_analytics_data and get_ontology_metrics both involve statistics, which could cause some confusion as they overlap in tracking usage or popularity data.
All tool names follow a consistent verb_noun pattern, such as annotate_text, get_class_info, and search_ontologies. This uniformity makes it easy for agents to predict and understand the tool functions without any deviations in style.
With 10 tools, the server is well-scoped for bio-ontology tasks, covering annotation, retrieval, search, and analytics. Each tool serves a specific function, such as batch processing or recommendation, ensuring a comprehensive yet manageable set.
The tool set provides strong coverage for ontology exploration, including search, annotation, and information retrieval. A minor gap exists in update or management operations, such as modifying ontology data, but core workflows for analysis and discovery are well-supported.
Maintenance
Related MCP Connectors
EBI OLS4 MCP — Ontology Lookup Service.
MCP gateway federating 22 biomedical MCP servers behind one endpoint: gnomAD, ClinVar, HPO, VEP.
Auditable MCP server for PubMed, Europe PMC, ClinicalTrials.gov, and bioRxiv/medRxiv queries
MCP server for querying BrainKB, a knowledge base for neuroscience knowledge graphs.
Related MCP Servers
- AlicenseAqualityDmaintenanceA comprehensive Model Context Protocol (MCP) server that provides access to the Ensembl REST API for genomic data, comparative genomics, and biological annotations.194MIT
- AlicenseAqualityDmaintenanceProvides a Model Context Protocol server for accessing and querying biomedical data from BioThings services, including gene, variant, chemical, and taxon annotations.1937MIT
- FlicenseAqualityDmaintenanceA Model Context Protocol (MCP) server for interacting with the BioPortal API to search and retrieve ontology terms.36-
- AlicenseAqualityBmaintenanceA high-performance MCP server that gives LLMs access to 25 biomedical tools federated across 50+ upstream APIs for genes, variants, drugs, diseases, literature, clinical trials, and structural biology.43173 npm12Apache 2.0