本项目为 Apache Gravitino(incubating) 服务提供 MCP API 集成的 MCP 服务器 - FastMCP 的快速集成方案。借助该服务器,能轻松实现对元数据的管理,提升数据处理效率。
可通过以下配置文件进行安装:
{
"mcpServers": {
"Gravitino": {
"command": "uv",
"args": [
"--directory",
"/Users/user/workspace/mcp-server-gravitino",
"run",
"--with",
"fastmcp",
"--with",
"httpx",
"--with",
"mcp-server-gravitino",
"python",
"-m",
"mcp_server_gravitino.server"
],
"env": {
"GRAVITINO_URI": "http://localhost:8090",
"GRAVITINO_USER_NAME": "admin",
"GRAVITINO_PASSWORD": "admin",
"GRAVITINO_METALAKE": "metalake_demo"
}
}
}
}
mcp-server-gravitino 提供令牌认证和基本认证两种方式:
令牌认证
GRAVITINO_URI=http://localhost:8090
GRAVITINO_JWT_TOKEN=
基本认证
GRAVITINO_URI=http://localhost:8090
GRAVITINO_USERNAME=
GRAVITINO_PASSWORD=
mcp-server-gravitino 并不提供 Gravitino 所有的 API,以下是可用的工具介绍:
get_list_of_catalogs:获取目录的列表及其基本信息。get_list_of_schemas:获取模式的列表及其基本信息。get_list_of_tables:获取表的分页列表及其基本信息。get_table_by_fqn:通过完全限定名称获取表的详细信息。get_table_columns_by_fqn:通过完全限定名称获取表的列信息。get_list_of_tags:获取标签的列表及其基本信息。associate_tag_to_table:将标签关联到表。associate_tag_to_column:将标签关联到列。list_objects_by_tag:获取与标签相关联的对象列表。get_list_of_roles:获取角色的列表及其基本信息。get_list_of_users:获取用户的列表及其基本信息。grant_role_to_user:授予用户角色。revoke_role_from_user:撤销用户的角色。每个工具都返回经过优化的响应,包含相关字段以确保与模型上下文限制兼容,同时提供必要的元数据信息。
此项目是开源软件,采用 Apache License Version 2.0 授权。