> ## Documentation Index
> Fetch the complete documentation index at: https://openmetadata-fix-mcp-oauth-security-docs.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# OpenMetadata MCP Server Connection Guide

# MCP Server Connection Guide

OpenMetadata provides a Model Context Protocol (MCP) server that allows AI assistants and other clients to interact with your metadata catalog. The MCP server exposes tools for searching metadata, managing glossaries, and working with lineage data. Please check out our guides for [Claude](/v2.0.x-SNAPSHOT/how-to-guides/mcp/claude) and [Goose](/v2.0.x-SNAPSHOT/how-to-guides/mcp/goose) if you are using them as AI assistants.

## Server Information

* **Server Name**: `openmetadata-mcp-stateless`
* **Version**: `1.1.0`
* **Endpoint**: `{OMURL}/mcp`
* **Protocol**: Streamable HTTP (MCP spec `2025-03-26`)
* **Authentication**: OAuth 2.0 (recommended) or JWT Bearer Token

## Connection Setup

### 1. Server URL

Your MCP server is available at:

```
{OMURL}/mcp
```

Replace `{OMURL}` with your OpenMetadata instance URL (e.g., `https://your-openmetadata.com/mcp`)

### 2. Authentication

The MCP server supports two authentication methods:

* **OAuth 2.0 (recommended)**: Sign in with your existing OpenMetadata login. See [OAuth 2.0 Authentication](/v2.0.x-SNAPSHOT/how-to-guides/mcp/oauth) for setup instructions.
* **Personal Access Token (PAT)**: For environments where browser-based login isn't available. Generate a token as described in [Personal Access Token (PAT)](/v2.0.x-SNAPSHOT/how-to-guides/mcp#personal-access-token-pat), then include it in the Authorization header:

```http theme={null}
Authorization: Bearer <your-token>
```

### 3. Content Type

All requests should use:

```http theme={null}
Content-Type: application/json
```

## API Endpoints

### Initialize Connection

**Endpoint**: `POST {OMURL}/mcp`

**Sample Request**:

```json theme={null}
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "initialize",
  "params": {
    "protocolVersion": "2025-03-26",
    "capabilities": {
      "tools": {},
      "prompts": {},
      "resources": {
        "subscribe": true,
        "listChanged": true
      }
    },
    "clientInfo": {
      "name": "your-client",
      "version": "1.0.0"
    }
  }
}
```

**Sample Response**:

```json theme={null}
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "protocolVersion": "2025-03-26",
    "capabilities": {
      "tools": true,
      "prompts": true,
      "resources": {
        "subscribe": true,
        "listChanged": true
      },
      "logging": {}
    },
    "serverInfo": {
      "name": "openmetadata-mcp-stateless",
      "version": "1.1.0"
    }
  }
}
```

### List Available Tools

**Endpoint**: `POST {OMURL}/mcp`

**Sample Request**:

```json theme={null}
{
  "jsonrpc": "2.0",
  "id": 2,
  "method": "tools/list"
}
```

**Sample Response** (truncated — the server exposes 24 tools; see the [MCP Tools Reference](/v2.0.x-SNAPSHOT/how-to-guides/mcp/reference) for the complete list):

```json theme={null}
{
  "jsonrpc": "2.0",
  "id": 2,
  "result": {
    "tools": [
      {
        "name": "search_metadata",
        "description": "Find your data and business terms in OpenMetadata.",
        "inputSchema": {
          "type": "object",
          "properties": {
            "query": {
              "type": "string",
              "description": "Keywords to use for searching."
            },
            "entityType": {
              "type": "string",
              "description": "Optional entity type to filter results."
            },
            "size": {
              "type": "integer",
              "description": "Maximum number of results to return. Default is 10."
            }
          }
        }
      },
      {
        "name": "get_entity_details",
        "description": "Retrieve full details for a specific entity by FQN.",
        "inputSchema": {
          "type": "object",
          "properties": {
            "entityType": {
              "type": "string",
              "description": "Type of entity"
            },
            "fqn": {
              "type": "string",
              "description": "Fully qualified name of the entity"
            }
          },
          "required": ["entityType", "fqn"]
        }
      }
    ]
  }
}
```

### List Available Prompts

**Endpoint**: `POST {OMURL}/mcp`

**Sample Request**:

```json theme={null}
{
  "jsonrpc": "2.0",
  "id": 3,
  "method": "prompts/list"
}
```

**Sample Response**:

```json theme={null}
{
  "jsonrpc": "2.0",
  "id": 3,
  "result": {
    "prompts": [
      {
        "name": "search_metadata",
        "description": "Creates a prompt for Searching metadata in OpenMetadata.",
        "arguments": [
          {
            "name": "query",
            "description": "Keywords to use for searching.",
            "required": true
          },
          {
            "name": "entity_type",
            "description": "Entity Type to Filter Report."
          },
          {
            "name": "limit",
            "description": "Maximum number of results to return. Default is 10."
          }
        ]
      }
    ]
  }
}
```
