Wraps the OpenMetadata REST API so agents can browse and manage metadata in this open-source data catalog.
Setup
Choose your client, copy the config, then fill in any required environment variables.
claude mcp add openmetadata --env OPENMETADATA_HOST='<OPENMETADATA_HOST>' --env OPENMETADATA_JWT_TOKEN='<OPENMETADATA_JWT_TOKEN>' --env OPENMETADATA_PASSWORD='<OPENMETADATA_PASSWORD>' --env OPENMETADATA_USERNAME='<OPENMETADATA_USERNAME>' -- python -m src.main --apis table,database,databaseschema~/.codex/config.toml
[mcp_servers.openmetadata]
command = "python"
args = ["-m", "src.main", "--apis", "table,database,databaseschema"]
env = { OPENMETADATA_HOST = "<OPENMETADATA_HOST>", OPENMETADATA_JWT_TOKEN = "<OPENMETADATA_JWT_TOKEN>", OPENMETADATA_PASSWORD = "<OPENMETADATA_PASSWORD>", OPENMETADATA_USERNAME = "<OPENMETADATA_USERNAME>" }
# codex mcp add openmetadata --env OPENMETADATA_HOST='<OPENMETADATA_HOST>' --env OPENMETADATA_JWT_TOKEN='<OPENMETADATA_JWT_TOKEN>' --env OPENMETADATA_PASSWORD='<OPENMETADATA_PASSWORD>' --env OPENMETADATA_USERNAME='<OPENMETADATA_USERNAME>' -- python -m src.main --apis table,database,databaseschema~/.cursor/mcp.json
{
"mcpServers": {
"openmetadata": {
"command": "python",
"args": [
"-m",
"src.main",
"--apis",
"table,database,databaseschema"
],
"env": {
"OPENMETADATA_HOST": "<OPENMETADATA_HOST>",
"OPENMETADATA_JWT_TOKEN": "<OPENMETADATA_JWT_TOKEN>",
"OPENMETADATA_PASSWORD": "<OPENMETADATA_PASSWORD>",
"OPENMETADATA_USERNAME": "<OPENMETADATA_USERNAME>"
}
}
}
}.vscode/mcp.json
{
"servers": {
"openmetadata": {
"type": "stdio",
"command": "python",
"args": [
"-m",
"src.main",
"--apis",
"table,database,databaseschema"
],
"env": {
"OPENMETADATA_HOST": "<OPENMETADATA_HOST>",
"OPENMETADATA_JWT_TOKEN": "<OPENMETADATA_JWT_TOKEN>",
"OPENMETADATA_PASSWORD": "<OPENMETADATA_PASSWORD>",
"OPENMETADATA_USERNAME": "<OPENMETADATA_USERNAME>"
}
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"openmetadata": {
"command": "python",
"args": [
"-m",
"src.main",
"--apis",
"table,database,databaseschema"
],
"env": {
"OPENMETADATA_HOST": "<OPENMETADATA_HOST>",
"OPENMETADATA_JWT_TOKEN": "<OPENMETADATA_JWT_TOKEN>",
"OPENMETADATA_PASSWORD": "<OPENMETADATA_PASSWORD>",
"OPENMETADATA_USERNAME": "<OPENMETADATA_USERNAME>"
}
}
}
}claude_desktop_config.json
{
"mcpServers": {
"openmetadata": {
"command": "python",
"args": [
"-m",
"src.main",
"--apis",
"table,database,databaseschema"
],
"env": {
"OPENMETADATA_HOST": "<OPENMETADATA_HOST>",
"OPENMETADATA_JWT_TOKEN": "<OPENMETADATA_JWT_TOKEN>",
"OPENMETADATA_PASSWORD": "<OPENMETADATA_PASSWORD>",
"OPENMETADATA_USERNAME": "<OPENMETADATA_USERNAME>"
}
}
}
}.trae/mcp.json
{
"mcpServers": {
"openmetadata": {
"command": "python",
"args": [
"-m",
"src.main",
"--apis",
"table,database,databaseschema"
],
"env": {
"OPENMETADATA_HOST": "<OPENMETADATA_HOST>",
"OPENMETADATA_JWT_TOKEN": "<OPENMETADATA_JWT_TOKEN>",
"OPENMETADATA_PASSWORD": "<OPENMETADATA_PASSWORD>",
"OPENMETADATA_USERNAME": "<OPENMETADATA_USERNAME>"
}
}
}
}Environment variables
OPENMETADATA_HOSTOPENMETADATA_JWT_TOKENOPENMETADATA_PASSWORDOPENMETADATA_USERNAME
Replace the placeholders with your own credentials and keep them out of version control.