项目介绍

mcp-server-openmetadata

这是一个为 OpenMetadata 实现的 Model Context Protocol (MCP) 服务器,使与 MCP 客户端的无缝集成成为可能。该项目提供了一种标准化的方式,通过 Model Context Protocol 与 OpenMetadata 进行交互。
<a href="https://glama.ai/mcp/servers/lvgl5cmxa6">
<img width="380" height="200" src="https://gips3.baidu.com/it/u=3073908571,85682864&fm=3081&app=3081&f=PNG?w=760&h=400" alt="OpenMetadata MCP 服务器" />
</a>
关于
本项目实现了一个 Model Context Protocol 服务器,该服务器封装了 OpenMetadata 的 REST API,允许 MCP 客户端以标准化方式与 OpenMetadata 进行交互。
功能实现状态
核心数据实体 (table, database, databaseschema)
| 功能 | API 路径 | 状态 |
|---|
| 表 | | |
| 列出表 | /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/databases | ✅ |
| 获取数据库 | /api/v1/databases/{id} | ✅ |
| 按名称获取数据库 | /api/v1/databases/name/{fqn} | ✅ |
| 创建数据库 | /api/v1/databases | ✅ |
| 更新数据库 | /api/v1/databases/{id} | ✅ |
| 删除数据库 | /api/v1/databases/{id} | ✅ |
| 数据库模式 | | |
| 列出数据库模式 | /api/v1/databaseSchemas | ✅ |
| 获取数据库模式 | /api/v1/databaseSchemas/{id} | ✅ |
| 按名称获取数据库模式 | /api/v1/databaseSchemas/name/{fqn} | ✅ |
| 创建数据库模式 | /api/v1/databaseSchemas | ✅ |
| 更新数据库模式 | /api/v1/databaseSchemas/{id} | ✅ |
| 删除数据库模式 | /api/v1/databaseSchemas/{id} | ✅ |
数据资产 (dashboard, chart, pipeline, topic, metric, container, report, mlmodel)
| 功能 | API 路径 | 状态 |
|---|
| 仪表板 | | |
| 列出仪表板 | /api/v1/dashboards | ✅ |
| 获取仪表板 | /api/v1/dashboards/{id} | ✅ |
| 按名称获取仪表板 | /api/v1/dashboards/name/{fqn} | ✅ |
| 创建仪表板 | /api/v1/dashboards | ✅ |
| 更新仪表板 | /api/v1/dashboards/{id} | ✅ |
| 删除仪表板 | /api/v1/dashboards/{id} | ✅ |
| 图表 | | |
| 列出图表 | /api/v1/charts | ✅ |
| 获取图表 | /api/v1/charts/{id} | ✅ |
| 按名称获取图表 | /api/v1/charts/name/{fqn} | ✅ |
| 创建图表 | /api/v1/charts | ✅ |
| 更新图表 | /api/v1/charts/{id} | ✅ |
| 删除图表 | /api/v1/charts/{id} | ✅ |
| 管道 | | |
| 列出管道 | /api/v1/pipelines | ✅ |
| 获取管道 | /api/v1/pipelines/{id} | ✅ |
| 按名称获取管道 | /api/v1/pipelines/name/{fqn} | ✅ |
| 创建管道 | /api/v1/pipelines | ✅ |
| 更新管道 | /api/v1/pipelines/{id} | ✅ |
| 删除管道 | /api/v1/pipelines/{id} | ✅ |
| 主题 | | |
| 列出主题 | /api/v1/topics | ✅ |
| 获取主题 | /api/v1/topics/{id} | ✅ |
| 按名称获取主题 | /api/v1/topics/name/{fqn} | ✅ |
| 创建主题 | /api/v1/topics | ✅ |
| 更新主题 | /api/v1/topics/{id} | ✅ |
| 删除主题 | /api/v1/topics/{id} | ✅ |
| 指标 | | |
| 列出指标 | /api/v1/metrics | ✅ |
| 获取指标 | /api/v1/metrics/{id} | ✅ |
| 按名称获取指标 | /api/v1/metrics/name/{fqn} | ✅ |
| 创建指标 | /api/v1/metrics | ✅ |
| 更新指标 | /api/v1/metrics/{id} | ✅ |
| 删除指标 | /api/v1/metrics/{id} | ✅ |
| 容器 | | |
| 列出容器 | /api/v1/containers | ✅ |
| 获取容器 | /api/v1/containers/{id} | ✅ |
| 按名称获取容器 | /api/v1/containers/name/{fqn} | ✅ |
| 创建容器 | /api/v1/containers | ✅ |
| 更新容器 | /api/v1/containers/{id} | ✅ |
| 删除容器 | /api/v1/containers/{id} | ✅ |
| 报告 | | |
| 列出报告 | /api/v1/reports | ✅ |
| 获取报告 | /api/v1/reports/{id} | ✅ |
| 按名称获取报告 | /api/v1/reports/name/{fqn} | ✅ |
| 创建报告 | /api/v1/reports | ✅ |
| 更新报告 | /api/v1/reports/{id} | ✅ |
| 删除报告 | /api/v1/reports/{id} | ✅ |
| 机器学习模型 | | |
| 列出机器学习模型 | /api/v1/mlmodels | ✅ |
| 获取机器学习模型 | /api/v1/mlmodels/{id} | ✅ |
| 按名称获取机器学习模型 | /api/v1/mlmodels/name/{fqn} | ✅ |
| 创建机器学习模型 | /api/v1/mlmodels | ✅ |
| 更新机器学习模型 | /api/v1/mlmodels/{id} | ✅ |
| 删除机器学习模型 | /api/v1/mlmodels/{id} | ✅ |
用户与团队 (user, team)
| 功能 | API 路径 | 状态 |
|---|
| 团队 | | |
| 列出团队 | /api/v1/teams | ✅ |
| 获取团队 | /api/v1/teams/{id} | ✅ |
| 按名称获取团队 | /api/v1/teams/name/{name} | ✅ |
| 创建团队 | /api/v1/teams | ✅ |
| 更新团队 | /api/v1/teams/{id} | ✅ |
| 删除团队 | /api/v1/teams/{id} | ✅ |
| 用户 | | |
| 列出用户 | /api/v1/users | ✅ |
| 获取用户 | /api/v1/users/{id} | ✅ |
| 按名称获取用户 | /api/v1/users/name/{name} | ✅ |
| 创建用户 | /api/v1/users | ✅ |
| 更新用户 | /api/v1/users/{id} | ✅ |
| 删除用户 | /api/v1/users/{id} | ✅ |
治理与分类 (classification, glossary, tag)
| 功能 | API 路径 | 状态 |
|---|
| 分类 | | |
| 列出分类 | /api/v1/classifications | ✅ |
| 获取分类 | /api/v1/classifications/{id} | ✅ |
| 按名称获取分类 | /api/v1/classifications/name/{name} | ✅ |
| 创建分类 | /api/v1/classifications | ✅ |
| 更新分类 | /api/v1/classifications/{id} | ✅ |
| 删除分类 | /api/v1/classifications/{id} | ✅ |
| 术语表 | | |
| 列出术语表 | /api/v1/glossaries | ✅ |
| 获取术语表 | /api/v1/glossaries/{id} | ✅ |
| 按名称获取术语表 | /api/v1/glossaries/name/{name} | ✅ |
| 创建术语表 | /api/v1/glossaries | ✅ |
| 更新术语表 | /api/v1/glossaries/{id} | ✅ |
| 删除术语表 | /api/v1/glossaries/{id} | ✅ |
| 列出术语表条目 | /api/v1/glossaryTerms | ✅ |
| 获取术语表条目 | /api/v1/glossaryTerms/{id} | ✅ |
| 标签 | | |
| 列出标签 | /api/v1/tags | ✅ |
| 获取标签 | /api/v1/tags/{id} | ✅ |
| 按名称获取标签 | /api/v1/tags/name/{name} | ✅ |
| 创建标签 | /api/v1/tags | ✅ |
| 更新标签 | /api/v1/tags/{id} | ✅ |
| 删除标签 | /api/v1/tags/{id} | ✅ |
系统与操作 (bot, services, event)
| 功能 | API 路径 | 状态 |
|---|
| 机器人 | | |
| 列出机器人 | /api/v1/bots | ✅ |
| 获取机器人 | /api/v1/bots/{id} | ✅ |
| 按名称获取机器人 | /api/v1/bots/name/{name} | ✅ |
| 创建机器人 | /api/v1/bots | ✅ |
| 更新机器人 | /api/v1/bots/{id} | ✅ |
| 删除机器人 | /api/v1/bots/{id} | ✅ |
| 服务 | | |
| 列出服务 | /api/v1/services | ✅ |
| 数据库服务 | /api/v1/services/databaseServices | ✅ |
| 仪表板服务 | /api/v1/services/dashboardServices | ✅ |
| 消息服务 | /api/v1/services/messagingServices | ✅ |
| 测试连接 | /api/v1/services/testConnection | ✅ |
| 事件 | | |
| 列出事件 | /api/v1/events | ✅ |
| 列出事件订阅 | /api/v1/events/subscriptions | ✅ |
| 获取事件订阅 | /api/v1/events/subscriptions/{id} | ✅ |
| 创建事件订阅 | /api/v1/events/subscriptions | ✅ |
| 更新事件订阅 | /api/v1/events/subscriptions/{id} | ✅ |
| 删除事件订阅 | /api/v1/events/subscriptions/{id} | ✅ |
| 测试目标 | /api/v1/events/subscriptions/testDestination | ✅ |
分析与监控 (lineage, usage, search)
| 功能 | API 路径 | 状态 |
|---|
| 数据血缘 | | |
| 按实体ID获取数据血缘 | /api/v1/lineage/{entity}/{id} | ✅ |
| 按实体名称获取数据血缘 | /api/v1/lineage/{entity}/name/{fqn} | ✅ |
| 添加/更新数据血缘 | /api/v1/lineage | ✅ |
| 删除数据血缘 | /api/v1/lineage | ✅ |
| 使用情况 | | |
| 获取实体使用情况 | /api/v1/usage/{entity}/{id} | ✅ |
| 添加使用数据 | /api/v1/usage | ✅ |
| 获取使用情况摘要 | /api/v1/usage/summary | ✅ |
| 搜索与发现 | | |
| 搜索查询 | /api/v1/search/query | ✅ |
| 搜索建议 | /api/v1/search/suggest | ✅ |
| 搜索聚合 | /api/v1/search/aggregate | ✅ |
| 字段查询 | /api/v1/search/fieldQuery | ✅ |
数据质量 (test_case, test_suite)
| 功能 | API 路径 | 状态 |
|---|
| 测试用例 | | |
| 列出测试用例 | /api/v1/dataQuality/testCases | ✅ |
| 获取测试用例 | /api/v1/dataQuality/testCases/{id} | ✅ |
| 按名称获取测试用例 | /api/v1/dataQuality/testCases/name/{fqn} | ✅ |
| 创建测试用例 | /api/v1/dataQuality/testCases | ✅ |
| 更新测试用例 | /api/v1/dataQuality/testCases/{id} | ✅ |
| 删除测试用例 | /api/v1/dataQuality/testCases/{id} | ✅ |
| 列出测试结果 | /api/v1/dataQuality/testCases/{fqn}/testCaseResult | ✅ |
| 获取测试结果 | /api/v1/dataQuality/testCases/testCaseResults/{fqn} | ✅ |
| 测试套件 | | |
| 列出测试套件 | /api/v1/dataQuality/testSuites | ✅ |
| 获取测试套件 | /api/v1/dataQuality/testSuites/{id} | ✅ |
| 按名称获取测试套件 | /api/v1/dataQuality/testSuites/name/{name} | ✅ |
| 创建基本测试套件 | /api/v1/dataQuality/testSuites/basic | ✅ |
| 创建可执行测试套件 | /api/v1/dataQuality/testSuites/executable | ✅ |
| 更新测试套件 | /api/v1/dataQuality/testSuites/{id} | ✅ |
| 删除测试套件 | /api/v1/dataQuality/testSuites/{id} | ✅ |
| 获取执行摘要 | /api/v1/dataQuality/testSuites/executionSummary | ✅ |
| 获取数据质量报告 | /api/v1/dataQuality/testSuites/dataQualityReport | ✅ |
访问控制与安全 (policy, role)
| 功能 | API 路径 | 状态 |
|---|
| 策略 | | |
| 列出策略 | /api/v1/policies | ✅ |
| 获取策略 | /api/v1/policies/{id} | ✅ |
| 按名称获取策略 | /api/v1/policies/name/{name} | ✅ |
| 创建策略 | /api/v1/policies | ✅ |
| 更新策略 | /api/v1/policies/{id} | ✅ |
| 删除策略 | /api/v1/policies/{id} | ✅ |
| 验证策略 | /api/v1/policies/validation/condition | ✅ |
| 列出策略资源 | /api/v1/policies/resources | ✅ |
| 角色 | | |
| 列出角色 | /api/v1/roles | ✅ |
| 获取角色 | /api/v1/roles/{id} | ✅ |
| 按名称获取角色 | /api/v1/roles/name/{name} | ✅ |
| 创建角色 | /api/v1/roles | ✅ |
| 更新角色 | /v1/roles/{id} | ✅ |
| 删除角色 | /api/v1/roles/{id} | ✅ |
域管理 (domain)
| 功能 | API 路径 | 状态 |
|---|
| 域 | | |
| 列出域 | /api/v1/domains | ✅ |
| 获取域 | /api/v1/domains/{id} | ✅ |
| 按名称获取域 | /api/v1/domains/name/{name} | ✅ |
| 创建域 | /api/v1/domains | ✅ |
| 更新域 | /api/v1/domains/{id} | ✅ |
| 删除域 | /api/v1/domains/{id} | ✅ |
| 数据产品 | | |
| 列出数据产品 | /api/v1/dataProducts | ✅ |
| 获取数据产品 | /api/v1/dataProducts/{id} | ✅ |
| 按名称获取数据产品 | /api/v1/dataProducts/name/{fqn} | ✅ |
| 创建数据产品 | /api/v1/dataProducts | ✅ |
| 更新数据产品 | /api/v1/dataProducts/{id} | ✅ |
| 删除数据产品 | /api/v1/dataProducts/{id} | ✅ |
尚未实现