home / mcp / bioontology mcp server

BioOntology MCP Server

Provides access to 1,200+ ontologies via MCP with search, annotation, and analytics capabilities.

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "augmented-nature-bioontology-mcp-server": {
      "command": "node",
      "args": [
        "/path/to/bioontology-server/build/index.js"
      ],
      "env": {
        "BIOONTOLOGY_API_KEY": "your_api_key_here"
      }
    }
  }
}

You can run the BioOntology MCP Server to access, search, annotate, and explore over 1,200 biological ontologies through a standardized MCP API. This server provides convenient tools for ontology search, text annotation, ontology navigation, and analytics, so you can build robust biological data workflows and apps that leverage a rich ontology ecosystem.

How to use

You interact with the BioOntology MCP Server through MCP-enabled clients. Start the server locally and connect your client using the supported stdio MCP configuration. Once connected, you can perform comprehensive ontology search, annotate text to identify relevant terms, and retrieve detailed ontology information. You can also request ontology recommendations and batch annotate multiple texts to streamline workflows. Use the following practical patterns to accomplish common tasks:

How to install

# Prerequisites
- Node.js installed (version 14+)
- npm installed
- Git installed (optional if you plan to clone the repository)

# Install dependencies and build
npm install
npm run build

# Run the server (stdio mode as shown in the configuration example)
node build/index.js
```

Note: The server expects an API key for the BioOntology API. You must provide BIOONTOLOGY_API_KEY in the environment when running the server or configure it in your MCP client environment.

Configuration and startup notes

Security and access control are managed via your BioOntology API key. Set BIOONTOLOGY_API_KEY in your environment to authorize the server’s requests to the BioPortal services. Start the server using the command shown above and keep the key secure in your deployment environment.

Additional setup and usage notes

The server exposes a variety of resource templates you can reference from your MCP client to access ontology data directly, such as complete ontology information, class details, search results, text annotations, recommendations, and analytics. These templates provide a consistent way to request data from the server and integrate results into your applications.

Tools and endpoints you can use

- Search across ontology terms with advanced filters (search_terms) - Search ontology properties by labels and IDs (search_properties) - Find ontologies by name, description, or domain (search_ontologies) - Retrieve detailed ontology information (get_ontology_info) - Analyze text to identify ontology terms (annotate_text) - Get ontology recommendations for text or keywords (recommend_ontologies) - Process multiple texts for annotation (batch_annotate) - Get detailed ontology class information (get_class_info) - Retrieve usage statistics and metrics (get_ontology_metrics) - Access visitor analytics and trends (get_analytics_data)

Example workflow patterns

You can combine these tools to build practical workflows, such as searching for relevant terms in a set of ontologies, annotating patient notes to extract key ontology terms, and then retrieving analytics to monitor usage and quality metrics over time.

Resource access templates

The server provides direct data access through resource templates that your MCP client can consume. Examples include complete ontology information, class details, search results, and analytics data, all accessible through standardized endpoints exposed by the MCP interface.

Available tools

search_terms

Search across ontology terms with advanced filtering options to refine results by ontologies, domains, and attributes.

search_properties

Search ontology properties by labels and IDs to locate specific metadata or property constraints.

search_ontologies

Discover ontologies by name, description, or domain to assemble a relevant collection for your task.

get_ontology_info

Retrieve detailed information about a selected ontology, including its terms and structure.

annotate_text

Analyze natural language text to identify and map relevant ontology terms.

recommend_ontologies

Obtain ontology recommendations based on input text or keywords to expand coverage.

batch_annotate

Annotate multiple texts efficiently by processing a batch of inputs in one request.

get_class_info

Get detailed information about specific ontology classes, including hierarchy and properties.

get_ontology_metrics

Access usage statistics and quality metrics for ontologies.

get_analytics_data

Retrieve visitor statistics and popularity trends for analytics purposes.