关于 mcp-server-openmetadata
mcp-server-openmetadata 将 OpenMetadata REST API 封装为 MCP 服务,供客户端操作元数据。目前已实现的操作集中于表:列出、查询、创建、更新和删除;其他 API 区域尚未实现。
主要功能
- 01列出表
- 02按 ID 或名称查询表
- 03创建和更新表
- 04删除表
- 05使用 JWT Token 或基本凭据认证
适用场景
- 01查看 OpenMetadata 实例中的表
- 02通过 MCP 客户端创建或修改表元数据
- 03从 OpenMetadata 删除表记录
MCP 相关
该服务向 MCP 客户端开放已实现的 OpenMetadata REST API 操作,目前覆盖表的列出、查询、创建、更新和删除。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
暂未收录安装方式
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
mcp-server-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} | ❌ |
| 获取血缘边 | /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)
参与贡献
欢迎贡献!请随时提交 Pull Request。
许可证
MIT 许可证
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。