mcpField
M
mcp-server-openmetadata

mcp-server-openmetadata

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

关于 mcp-server-openmetadata

mcp-server-openmetadata 将 OpenMetadata REST API 封装为标准接口,供 MCP 客户端访问。目前已实现表的查询、创建、更新和删除,其他列出的功能尚未实现。

主要功能

  1. 01列出表
  2. 02按 ID 或名称获取表
  3. 03创建、更新和删除表

适用场景

  1. 01查询 OpenMetadata 中的表
  2. 02在 OpenMetadata 中维护表记录

MCP 相关

该 MCP 服务将 OpenMetadata REST API 提供给 MCP 客户端。目前实现范围为表的列出、读取、创建、更新和删除操作。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 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 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。