---
title: MCP tools discovery
slug: mcp-tools-discovery
createdAt: 2026-08-26T22:44:59.197Z
---

This guide explains how to discover and use MCP (Model Context Protocol) tools available on the Bridge Platform. MCP tools provide your agent with capabilities to interact with external services like ServiceNow, Azure, Dynatrace, and the Bridge Data platform.

Before registering your agent in the Bridge Catalog, you need to:

1. **Discover** available MCP tools on your Bridge Platform instance
2. **Select** the tools your agent requires
3. **Configure** the tools in your agent-catalog-registration.json

The Bridge Platform provides a centralized MCP server that exposes tools from multiple backend services.

# Prerequisites

- Bridge Platform access with KAIF\_HOST URL
- Service API Key (SERVICE\_API\_KEY)
- MCP Server URL (BRIDGE\_MCP\_SERVER\_URL) — **optional**; SDK auto-resolves from KAIF\_HOST
- Python 3.12+ with requests and python-dotenv packages

# Discovery Script

Use the scripts/list\_mcp\_tools.py utility to discover available MCP tools.

## Installation

Copy the script to your agent project:

```javascript
mkdir -p scripts
# Copy from template or sample agent repository
```

## Configuration

Ensure your .env file contains the required variables:

```javascript
# Bridge Platform host
KAIF_HOST=https://your-instance.bridge.kyndryl.com

# Service API Key (from Bridge Platform Admin)
SERVICE_API_KEY=your-service-api-key

# MCP Server URL (optional — SDK auto-resolves from KAIF_HOST in bridge_dev)
# BRIDGE_MCP_SERVER_URL=https://your-account-us-accountid.bridge.kyndryl.com/kaif/v2/mcp/tools
```

## Usage

```javascript
# Activate virtual environment
source venv/bin/activate

# List all available tools (summary view)
python scripts/list_mcp_tools.py

# Export tools to JSON file
python scripts/list_mcp_tools.py --output available-tools.json

# Format for catalog registration
python scripts/list_mcp_tools.py --format catalog --output catalog-tools.json

# Filter specific MCP servers
python scripts/list_mcp_tools.py --filter servicenow,bridge

# Quiet mode (for CI/CD)
python scripts/list_mcp_tools.py --quiet --output tools.json
```

## Command options

| <font color="#f3f4f6">**Option**</font> | <font color="#f3f4f6">**Description**</font>   |
| --------------------------------------- | ---------------------------------------------- |
| --output, -o                            | Output file path (JSON format)                 |
| --format, -f                            | Output format: raw, catalog, summary (default) |
| --filter                                | Comma-separated MCP server prefixes to filter  |
| --quiet, -q                             | Suppress progress messages                     |

# Available MCP servers

The Bridge Platform typically provides these MCP servers:

### Core platform tools

| <font color="#f3f4f6">**MCP Server**</font> | <font color="#f3f4f6">**Description**</font>        | <font color="#f3f4f6">**Common Operations**</font>                                           |
| ------------------------------------------- | --------------------------------------------------- | -------------------------------------------------------------------------------------------- |
| servicenow\_mcp                             | ServiceNow ITSM integration                         | servicenow\_get\_all\_incidents, servicenow\_create\_incident, servicenow\_search\_incidents |
| bridge\_mcp                                 | Bridge Data Platform                                | bridge\_execute\_query, bridge\_list\_domains, bridge\_get\_table\_details                   |
| aiops\_mcp                                  | Artificial Intelligence for IT Operations Analytics | aiops\_ask\_me\_anything, aiops\_nlq\_service                                                |

### Cloud provider tools

| <font color="#f3f4f6">**MCP Server**</font> | <font color="#f3f4f6">**Description**</font> | <font color="#f3f4f6">**Example Operations**</font>        |
| ------------------------------------------- | -------------------------------------------- | ---------------------------------------------------------- |
| azure\_mcp                                  | Azure services (50+ tools)                   | azure\_aks, azure\_keyvault, azure\_monitor, azure\_cosmos |

### Observability tools

| <font color="#f3f4f6">**MCP Server**</font> | <font color="#f3f4f6">**Description**</font> | <font color="#f3f4f6">**Example Operations**</font>  |
| ------------------------------------------- | -------------------------------------------- | ---------------------------------------------------- |
| dynatrace\_mcp (if configured)              | Dynatrace monitoring                         | execute\_dql, list\_problems, get\_environment\_info |
| mock\_mcp                                   | Mock data for testing                        | mock\_datadog\_metrics, mock\_servicenow\_changes    |

### Utility tools

| <font color="#f3f4f6">**MCP Server**</font> | <font color="#f3f4f6">**Description**</font> | <font color="#f3f4f6">**Operations**</font>    |
| ------------------------------------------- | -------------------------------------------- | ---------------------------------------------- |
| search\_mcp                                 | Web search                                   | search\_web, search\_news, search\_images      |
| file\_mcp                                   | File operations                              | file\_read, file\_write, file\_list\_directory |
| db\_mcp                                     | MongoDB operations                           | db\_mongo\_query, db\_mongo\_insert            |
| api\_mcp                                    | HTTP requests                                | api\_get, api\_post, api\_request              |

 

### Tool definition structure

Each MCP tool has this structure:

```javascript
{
 "name": "servicenow_get_all_incidents",
 "description": "Get all incidents from ServiceNow ITSM platform...",
 "inputSchema": {
 "type": "object",
 "properties": {
 "limit": {
 "type": "integer",
 "description": "Maximum number of incidents to return",
 "default": 100
 }
 },
 "required": []
 }
}
```

### Key fields

| <font color="#f3f4f6">**Field**</font> | <font color="#f3f4f6">**Description**</font>      |
| -------------------------------------- | ------------------------------------------------- |
| name                                   | Tool identifier (used in call\_tool())            |
| description                            | What the tool does                                |
| inputSchema                            | JSON Schema defining required/optional parameters |
| inputSchema.required                   | List of mandatory parameters                      |

