
Openmetadata
通过封装OpenMetadata的REST API实现集成,以便通过模型上下文协议(Model Context Protocol)进行标准化交互。
概述
mcp-server-openmetadata
一个为 OpenMetadata 实现的模型上下文协议 (MCP) 服务器,实现与 MCP 客户端的无缝集成。该项目提供了通过模型上下文协议与 OpenMetadata 交互的标准化方式。
关于
本项目实现了一个 Model Context Protocol 服务器,封装了 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} |
❌ |
设置
环境变量
设置以下认证方式之一:
Token 认证 (推荐)
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
中,使用以下认证方式之一:
Token 认证 (推荐)
json
{
"mcpServers": {
"mcp-server-openmetadata": {
"command": "uvx",
"args": ["mcp-server-openmetadata"],
"env": {
"OPENMETADATA_HOST": "https://your-openmetadata-host",
"OPENMETADATA_JWT_TOKEN": "your-jwt-token"
}
}
}
}
基本认证
json
{
"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
:
Token 认证 (推荐)
json
{
"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"
}
}
}
}
基本认证
json
{
"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
替换为您克隆存储库的实际路径。
手动执行
您也可以手动运行服务器:
bash
python src/server.py
选项:
--port
: 监听 SSE 的端口 (默认: 8000)--transport
: 传输类型 (stdio/sse, 默认: stdio)
贡献
欢迎贡献!请随时提交 Pull Request。
许可证
MIT 许可证

1panel
mcp-1panel 是为 1Panel 实现的 Model Context Protocol (MCP) 服务器。
Aact mcp
与AACT临床试验数据库集成,支持查询和分析大规模试验数据,适用于研究和医疗应用。
Abap Adt
一个服务器,它将模型上下文协议(MCP)与SAP ABAP系统连接起来,使像Cline这样的工具能够检索ABAP源代码、表结构和其他开发工件。
Adwords Mcp
一个令人尴尬的MCP服务器,向Cursor、Claude和其他客户端的开发者提供广告