MCP Server Connection Guide
Collate provides a Model Context Protocol (MCP) server that lets AI assistants and other clients interact with your metadata catalog. The MCP server exposes tools for searching metadata, managing glossaries, and working with lineage data. See the guides for Claude and Goose if you’re using them as AI assistants.Server Information
- Server Name:
openmetadata-mcp-stateless. - Version:
1.1.0. - Endpoint:
https://<YOUR-Collate-SERVER>/mcp. - Protocol: Streamable HTTP (single
POST /mcpendpoint). SSE is used only when explicitly requested by the client. - Authentication: OAuth 2.0 (recommended) or JWT Bearer Token (Personal Access Token).
Connection Setup
1. Server URL
Your MCP server is available at:<YOUR-Collate-SERVER> with your Collate instance URL, for example your-collate-instance.com.
2. Authentication
The MCP server supports two authentication methods:- OAuth 2.0 (interactive clients): Sign in with your existing Collate credentials. Requires a browser and a signed-in user, so it isn’t suitable for headless or unattended agents. See OAuth 2.0 Authentication.
- Bot JWT Token: For unattended agents and environments where browser-based login is unavailable. Generate a token from a Bot as described in Bot JWT Token, then include it in every request:
3. Content Type
All requests should use:API Endpoints
Initialize Connection
Endpoint:POST <YOUR-Collate-SERVER>/mcp
Sample Request:
List Available Tools
Endpoint:POST <YOUR-Collate-SERVER>/mcp
Collate exposes 26 tools in total. The sample response below shows the shape of two tools. For the full list with parameters and examples, see the MCP Tools Reference.
Sample Request:
List Available Prompts
Endpoint:POST <YOUR-Collate-SERVER>/mcp
Sample Request:
Call a Tool
Endpoint:POST <YOUR-Collate-SERVER>/mcp
Sample Request (Search Metadata):
Get a Prompt
Endpoint:POST <YOUR-Collate-SERVER>/mcp
Sample Request:
Error Handling
Protocol-Level Errors
Authentication Error
A request with a missing or invalid/expired bearer token fails at the transport level: the server responds with HTTP status401 Unauthorized (plus a WWW-Authenticate header identifying the OAuth authorization server) and a plain error body, not a full JSON-RPC envelope:
401 response means your client must (re-)authenticate before retrying, rather than treating the call as a normal JSON-RPC tool error.
Invalid Tool Error
Validation Error
Tool Execution Errors
A tool that runs but fails (a bad argument, a missing entity, an authorization denial, or a backend fault) does not return a JSON-RPC protocol-level error object. Instead, the server returns a normal JSON-RPC success response whoseresult.isError field is true. The failure details are a JSON string inside result.content[0].text, and the same object is also available as result.structuredContent for clients that support it.
Sample Response (entity not found):
Always check
result.isError on a successful JSON-RPC response before assuming the tool call succeeded. A 200-shaped response isn’t proof the operation worked.
Best Practices
- Always authenticate: Include the JWT token in every request.
- Handle errors gracefully: Check for error responses and handle them appropriately.
- Use appropriate limits: Don’t request too many results at once to avoid performance issues.
- Cache server capabilities: Store the results of the initialize call to avoid repeated requests.
- Use specific entity types: When possible, specify entity_type to get more relevant results.
Security Considerations
- JWT tokens should stay secure and shouldn’t be logged.
- Use HTTPS for all communications.
- Implement token refresh logic for long-running connections.
- Follow your organization’s security policies for API access.