OpenMetadata协议服务器

一个为OpenMetadata实现的模型上下文协议(MCP)服务器,提供与MCP客户端标准化的交互方式。

  • by tpavelek
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 tpavelek/om-glossary-mcp-server

使用说明

mcp服务器openmetadata

OpenMetadata的模型上下文协议(MCP)服务器实现,实现了与MCP客户端的无缝集成。该项目提供了一种通过模型上下文协议与OpenMetadata交互的标准化方法。

关于

该项目实现了 模型上下文协议 包装OpenMetadata的REST API的服务器,允许MCP客户端以标准化的方式与OpenMetadata交互。

功能实现状态

功能 API路径 状态
数据资产
列出数据库 /api/v1/databases ❌
获取数据库 /api/v1/databases/{id} ❌
按名称获取数据库 /api/v1/databases/name/{fqn} ❌
导出数据库 /api/v1/databases/name/{name}/export ❌
导入数据库 /api/v1/databases/name/{name}/import ❌
列表表格 /api/v1/tables ✅
获取桌子 /api/v1/tables/{id} ✅
按名称获取表 /api/v1/tables/name/{fqn} ✅
创建表格 /api/v1/tables ✅
更新表格 /api/v1/tables/{id} ✅
删除表格 /api/v1/tables/{id} ✅
导出表 /api/v1/tables/name/{name}/export ❌
导入表 /api/v1/tables/name/{name}/import ❌
列出指标 /api/v1/metrics ❌
获取度量 /api/v1/metrics/{id} ❌
列出仪表板 /api/v1/dashboards ❌
获取仪表板 /api/v1/dashboards/{id} ❌
按名称获取仪表板 /api/v1/dashboards/name/{fqn} ❌
列出报告 /api/v1/reports ❌
获取报告 /api/v1/reports/{id} ❌
列出管道 /api/v1/pipelines ❌
获取管道 /api/v1/pipelines/{id} ❌
按名称获取管道 /api/v1/pipelines/name/{fqn} ❌
列出主题 /api/v1/topics ❌
获取主题 /api/v1/topics/{id} ❌
服务
列出数据库服务 /api/v1/services/databaseServices ❌
获取数据库服务 /api/v1/services/databaseServices/{id} ❌
按名称获取数据库服务 /api/v1/services/databaseServices/name/{fqn} ❌
导出数据库服务 /api/v1/services/databaseServices/name/{name}/export ❌
导入数据库服务 /api/v1/services/databaseServices/name/{name}/import ❌
列出仪表板服务 /api/v1/services/dashboardServices ❌
获取仪表板服务 /api/v1/services/dashboardServices/{id} ❌
按名称获取仪表板服务 /api/v1/services/dashboardServices/name/{fqn} ❌
团队和用户
列出团队 /api/v1/teams ❌
组建团队 /api/v1/teams/{id} ❌
按名称获取团队 /api/v1/teams/name/{fqn} ❌
出口团队 /api/v1/teams/name/{name}/export ❌
导入团队 /api/v1/teams/name/{name}/import ❌
列出用户 /api/v1/users ❌
获取用户 /api/v1/users/{id} ❌
按名称获取用户 /api/v1/users/name/{name} ❌
用户登录 /api/v1/users/login ❌
用户注销 /api/v1/users/logout ❌
用户注册 /api/v1/users/signup ❌
更改密码 /api/v1/users/changePassword ❌
搜索
搜索查询 /api/v1/search/query ❌
搜索建议 /api/v1/search/suggest ❌
搜索聚合 /api/v1/search/aggregate ❌
字段查询 /api/v1/search/fieldQuery ❌
获取文档 /api/v1/search/get/{index}/doc/{id} ❌
标签和分类
列表标签 /api/v1/tags ❌
获取标签 /api/v1/tags/{id} ❌
按名称获取标签 /api/v1/tags/name/{fqn} ❌
世系
获取血统 /api/v1/lineage/getLineage ❌
出口血统 /api/v1/lineage/export ❌
按名称获取实体谱系 /api/v1/lineage/{entity}/name/{fqn} ❌
按ID获取实体谱系 /api/v1/lineage/{entity}/{id} ❌
获取Lineage Edge /api/v1/lineage/getLineageEdge/{fromId}/{toId} ❌
添加/更新谱系 /api/v1/lineage ❌
按FQN添加/更新谱系 /api/v1/lineage/{fromEntity}/name/{fromFQN}/{toEntity}/name/{toFQN} ❌
按ID添加/更新血统 /api/v1/lineage/{fromEntity}/{fromId}/{toEntity}/{toId} ❌
词汇表
列出术语表 /api/v1/glossaries ❌
获取术语表 /api/v1/glossaries/{id} ❌
按名称获取术语表 /api/v1/glossaries/name/{fqn} ❌
出口术语表 /api/v1/glossaries/name/{name}/export ❌
导入术语表 /api/v1/glossaries/name/{name}/import ❌
列出术语表 /api/v1/glossaryTerms ❌
获取术语表 /api/v1/glossaryTerms/{id} ❌
按名称获取术语表 /api/v1/glossaryTerms/name/{fqn} ❌
将资产添加到期限 /api/v1/glossaryTerms/{id}/assets/add ❌
从期限中删除资产 /api/v1/glossaryTerms/{id}/assets/remove ❌
验证术语标签 /api/v1/glossaryTerms/{id}/tags/validate ❌
用法
按名称获取实体使用情况 /api/v1/usage/{entity}/name/{fqn} ❌
按ID获取实体使用情况 /api/v1/usage/{entity}/{id} ❌

设置

环境变量

设置以下身份验证方法之一:

令牌身份验证(推荐)

OPENMETADATA_HOST=<your-openmetadata-host>
OPENMETADATA_JWT_TOKEN=<your-jwt-token>

基本身份验证

OPENMETADATA_HOST=<your-openmetadata-host>
OPENMETADATA_USERNAME=<your-username>
OPENMETADATA_PASSWORD=<your-password>

使用Claude Desktop

添加到您的 claude_desktop_config.json 使用以下身份验证方法之一:

令牌身份验证(推荐)

{
  "mcpServers": {
    "mcp-server-openmetadata": {
      "command": "uvx",
      "args": ["mcp-server-openmetadata"],
      "env": {
        "OPENMETADATA_HOST": "https://your-openmetadata-host",
        "OPENMETADATA_JWT_TOKEN": "your-jwt-token"
      }
    }
  }
}

基本身份验证

{
  "mcpServers": {
    "mcp-server-openmetadata": {
      "command": "uvx",
      "args": ["mcp-server-openmetadata"],
      "env": {
        "OPENMETADATA_HOST": "https://your-openmetadata-host",
        "OPENMETADATA_USERNAME": "your-username",
        "OPENMETADATA_PASSWORD": "your-password"
      }
    }
  }
}

使用替代配置 uv:

令牌身份验证(推荐)

{
  "mcpServers": {
    "mcp-server-openmetadata": {
      "command": "uv",
      "args": [
        "--directory",
        "/path/to/mcp-server-openmetadata",
        "run",
        "mcp-server-openmetadata"
      ],
      "env": {
        "OPENMETADATA_HOST": "https://your-openmetadata-host",
        "OPENMETADATA_JWT_TOKEN": "your-jwt-token"
      }
    }
  }
}

基本身份验证

{
  "mcpServers": {
    "mcp-server-openmetadata": {
      "command": "uv",
      "args": [
        "--directory",
        "/path/to/mcp-server-openmetadata",
        "run",
        "mcp-server-openmetadata"
      ],
      "env": {
        "OPENMETADATA_HOST": "https://your-openmetadata-host",
        "OPENMETADATA_USERNAME": "your-username",
        "OPENMETADATA_PASSWORD": "your-password"
      }
    }
  }
}

替换 /path/to/mcp-server-openmetadata 使用克隆存储库的实际路径。

手动执行

您还可以手动运行服务器:

python src/server.py

选项:

  • --port:监听SSE的端口(默认值:8000)
  • --transport:传输类型(stdio/sse,默认值:stdio)

贡献

欢迎投稿!请随时提交拉取请求。

许可证

MIT许可证