](https://mseep.ai/app/yangkyeongmo-mcp-server-openmetadata)
mcp服务器openmetadata
](https://smithery.ai/server/@yangkyeongmo/mcp-server-openmetadata)
OpenMetadata的模型上下文协议(MCP)服务器实现,实现了与MCP客户端的无缝集成。该项目提供了一种通过模型上下文协议与OpenMetadata交互的标准化方法。
关于
该项目实现了 模型上下文协议 包装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} | ✅ |
| ML模型 | ||
| 列出ML模型 | /api/v1/mlmodels | ✅ |
| 获取ML模型 | /api/v1/mlmodels/{id} | ✅ |
| 按名称获取ML模型 | /api/v1/mlmodels/name/{fqn} | ✅ |
| 创建ML模型 | /api/v1/mlmodels | ✅ |
| 更新ML模型 | /api/v1/mlmodels/{id} | ✅ |
| 删除ML模型 | /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 | ✅ |
| 获取Bot | /api/v1/bots/{id} | ✅ |
| 按名称获取Bot | /api/v1/bots/name/{name} | ✅ |
| 创建机器人 | /api/v1/bots | ✅ |
| 更新Bot | /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 | ✅ |
| 更新角色 | /api/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} | ✅ |
尚未实施
| 功能 | API路径 | 状态 |
|---|---|---|
| API管理 | ||
| API集合 | /api/v1/apiCollections | ❌ |
| API终点 | /api/v1/apiEndpoints | ❌ |
| 其他资产 | ||
| 应用程序 | /api/v1/apps | ❌ |
| 饲料和活动 | ||
| 饲料 | /api/v1/feed | ❌ |
| 高级功能 | ||
| 人物角色 | /api/v1/personas | ❌ |
| 查询 | /api/v1/queries | ❌ |
| 搜索索引 | /api/v1/searchIndexes | ❌ |
| 存储过程 | /api/v1/storedProcedures | ❌ |
| 建议 | /api/v1/suggestions | ❌ |
| Webhooks | /api/v1/webhooks | ❌ |
API组
服务器支持通过命令行参数进行模块化API组选择。可用的API组:
核心数据实体
table-表实体管理database-数据库实体管理databaseschema-数据库模式管理
数据资产
dashboard-仪表板实体管理chart-图表实体管理pipeline-管道实体管理topic-主题实体管理metrics-度量实体管理container-容器实体管理report-报表实体管理mlmodel-ML模型实体管理
用户和团队
user-用户实体管理team-团队实体管理
治理与分类
classification-分类实体管理glossary-术语表和术语管理tag-标签和标签类别管理
系统和操作
bot-机器人实体管理services-服务配置和连接测试event-事件订阅和通知
分析和监控
lineage-数据沿袭管理usage-使用分析管理search-搜索和发现操作
数据质量
test_case-数据质量测试用例管理test_suite-数据质量测试套件管理
访问控制和安全
policy-访问策略和安全管理role-基于角色的访问控制管理
域管理
domain-域和数据产品管理
您可以指定在运行服务器时启用哪些API组:
# Enable only core entities
python -m src.main --apis table,database,databaseschema
# Enable comprehensive data quality and governance
python -m src.main --apis test_case,test_suite,policy,role,tag,domain
# Enable all available APIs
python -m src.main --apis table,database,databaseschema,dashboard,chart,pipeline,topic,metrics,container,report,mlmodel,user,team,classification,glossary,tag,bot,services,event,lineage,usage,search,test_case,test_suite,policy,role,domain
# Use default selection (all implemented APIs)
python -m src.main设置
通过Smithery安装
通过以下方式自动安装克劳德桌面版OpenMetadata MCP服务器 史密瑟里:
npx -y @smithery/cli install @yangkyeongmo/mcp-server-openmetadata --client claude环境变量
设置以下身份验证方法之一:
令牌身份验证(推荐)
OPENMETADATA_HOST=
OPENMETADATA_JWT_TOKEN=基本身份验证
OPENMETADATA_HOST=
OPENMETADATA_USERNAME=
OPENMETADATA_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许可证
