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=
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许可证
