mcpField
M
mcp-server-openmetadata

mcp-server-openmetadata

本地服务
github.com/tpavelek数据库077 周前更新

关于 mcp-server-openmetadata

mcp-server-openmetadata 将 OpenMetadata REST API 封装为 MCP 服务,供客户端操作元数据。目前已实现的操作集中于表:列出、查询、创建、更新和删除;其他 API 区域尚未实现。

主要功能

  1. 01列出表
  2. 02按 ID 或名称查询表
  3. 03创建和更新表
  4. 04删除表
  5. 05使用 JWT Token 或基本凭据认证

适用场景

  1. 01查看 OpenMetadata 实例中的表
  2. 02通过 MCP 客户端创建或修改表元数据
  3. 03从 OpenMetadata 删除表记录

MCP 相关

该服务向 MCP 客户端开放已实现的 OpenMetadata REST API 操作,目前覆盖表的列出、查询、创建、更新和删除。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

mcp-server-openmetadata

OpenMetadata 的模型上下文协议(MCP)服务实现,可与 MCP 客户端无缝集成。此项目提供了一种通过模型上下文协议与 OpenMetadata 交互的标准化方式。

OpenMetadata MCP 服务

关于

此项目实现了一个模型上下文协议服务,对 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

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。