About MCP OpenMetadata
MCP OpenMetadata is a FastMCP server for accessing selected OpenMetadata APIs. It helps users search metadata and retrieve focused table details, with responses organized to fit model context limits.
Key features
- 01Search entities with queries, filters, and pagination
- 02List tables with basic details
- 03Retrieve table details and columns
- 04Get table owners and sample data
- 05Token and basic authentication
Use cases
- 01Find tables by name, column, tag, or owner
- 02Inspect a table’s columns and ownership
- 03Retrieve sample rows for a table
MCP support
Exposes selected OpenMetadata search and table APIs as tools for MCP clients. Responses are organized around relevant fields rather than returning the full API payload.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEMCP OpenMetadata
MCP server providing OpenMetadata APIs - A FastMCP integration for OpenMetadata services.
Features
- OpenMetadata API integration with FastMCP
- Easy-to-use interface for metadata management
- Support for table metadata, sample data, and ownership information
Installation
from PyPi (Cursor)
Install it to Cursor with (uv):
uv pip install mcp-openmetadata
uv run python -m mcp-openmetadata.hosts.cursor \
-e OPENMETADATA_URI=<YOUR OPENMETADATA URI> \
-e OPENMETADATA_JWT_TOKEN=<YOUR OPENMETADATA JWT TOKEN>
Install it to Cursor with (pip):
pip install mcp-openmetadata
python -m mcp-openmetadata.hosts.cursor \
-e OPENMETADATA_URI=<YOUR OPENMETADATA URI> \
-e OPENMETADATA_JWT_TOKEN=<YOUR OPENMETADATA JWT TOKEN>
from configuration
{
"mcpServers": {
"OpenMetadata": {
"command": "uv",
"args": [
"run",
"--with",
"fastmcp",
"--with",
"httpx",
"--with",
"mcp-openmetadata",
"python",
"-m",
"mcp_openmetadata.server"
],
"env": {
"OPENMETADATA_URI": "http://localhost:8585",
"OPENMETADATA_JWT_TOKEN": "awesome_jwt_token"
}
}
}
}
Environment Variables
Authorization
mcp-openmetadata provides token auth and basic auth:
Token Auth
OPENMETADATA_URI=http://localhost:8585
OPENMETADATA_JWT_TOKEN=<YOUR OPENMETADATA JWT TOKEN>
Basic Auth
OPENMETADATA_URI=http://localhost:8585
OPENMETADATA_USERNAME=<YOUR OPENMETADATA USERNAME>
OPENMETADATA_PASSWORD=<YOUR OPENMETADATA PASSWORD>
Tool list
mcp-openmetadata does not provide all APIs available in OpenMetadata. Please refer to Supported APIs for the list of available APIs.
Since using the original API directly contains too much unnecessary data that is difficult to fit into the model context, we are working on returning somewhat organized results.
Search Tools
search_entities_with_query: Search entities using query text. Supports pagination and sorting. Useful for:- Listing all tables/topics (q=*)
- Searching by field names (e.g., q=columnNames:address)
- Searching by tags (e.g., q=tags.tagFQN:user.email)
- Complex queries with AND/OR operators
- Filtering by service type, constraints, owners, etc.
Table Tools
get_list_of_tables: Get a paginated list of tables with basic informationget_table_by_fqn: Get detailed table information by fully qualified nameget_table_columns_by_fqn: Get table columns information by fully qualified nameget_table_owners_by_fqn: Get table ownership information by fully qualified nameget_sample_data: Get sample data from a specified table
Each tool returns optimized responses with relevant fields to ensure compatibility with model context limits while providing essential metadata information.
License
This project is open source software licensed as MIT.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.