Hasura MCP服务器
Hasura GraphQL引擎的模型上下文协议服务器-支持与Hasura实例的自然语言交互。
Docker 中心: 桑贾伊3290/hasura mcp 作者桑杰·拉马杜古 许可证:Apache 2.0
这是什么?
MCP服务器,使AI助手(Claude Desktop等)能够与Hasura GraphQL引擎交互,用于:
- 元数据管理(导出、应用、重新加载、清除)
- SQL查询执行
- 模式自省
- 交互式调试和设置
快速开始
# Pull the Docker image
docker pull sanjay3290/hasura-mcp:latest
# Run with your Hasura instance
docker run -i --rm \
--network host \
sanjay3290/hasura-mcp:latest \
--endpoint http://localhost:8080 \
--admin-secret your-secret对于远程Hasura实例,省略 --network host:
docker run -i --rm \
sanjay3290/hasura-mcp:latest \
--endpoint https://your-hasura.com \
--admin-secret your-secret特性
工具(9)
export_metadata-导出当前Hasura元数据apply_metadata-应用元数据更改reload_metadata-从数据库重新加载元数据clear_metadata-清除所有元数据(只读模式阻止此操作)get_inconsistent_metadata-列出元数据不一致drop_inconsistent_metadata-删除不一致的元数据对象run_sql-执行SQL查询get_version-获取Hasura版本信息get_schema-获取数据库架构信息
资源(4)
hasura://metadata-当前元数据为JSONhasura://version-Hasura版本详细信息hasura://schema-数据库架构信息hasura://inconsistent-metadata-当前不一致
提示(4)
setup_table-交互式表格设置向导debug_metadata-元数据调试助手create_migration-迁移创建助手setup_permissions-权限配置指南
源代码
源代码保存在Hasura GraphQL引擎分支中:
仓库: https://github.com/sanjay3290/graphql-engine 位置: cli/cmd/mcp-server/
这允许从源代码构建,同时保持完整的Hasura CLI上下文可用。
文档
- 快速入门指南 -5分钟后起床跑步
- Claude桌面设置 -与Claude Desktop集成
- 示例 -常见使用模式
- 故障排除 -常见问题和解决方案
- 贡献 -如何做出贡献
Docker镜像详细信息
- 基础:Alpine Linux 3.19
- 尺寸:已压缩约41MB
- 用户:非根(hasura:1000)
- 建筑:linux/amd64
- 标签:
latest,1.0.0
配置
命令行标志
--endpoint, -e Hasura endpoint URL (required)
--admin-secret, -s Hasura admin secret (optional but recommended)
--read-only, -r Enable read-only mode (disables destructive operations)
--name, -n MCP server name (default: "hasura-mcp-server")
--version, -v Print version information环境变量
HASURA_GRAPHQL_ENDPOINT # Hasura endpoint URL
HASURA_GRAPHQL_ADMIN_SECRET # Admin secret命令行标志优先于环境变量。
只读模式
为安全生产启用只读模式:
docker run -i --rm \
sanjay3290/hasura-mcp:latest \
--endpoint https://prod-hasura.com \
--admin-secret secret \
--read-only在只读模式下,这些操作被阻止:
apply_metadataclear_metadatadrop_inconsistent_metadata
示例用例
元数据管理
“导出当前元数据并显示表配置”
模式探索
“数据库中存在哪些表,它们之间的关系是什么?”
调试
“检查元数据是否不一致,并解释其含义”
SQL操作
“运行查询以统计过去7天内创建的用户数”
安装协助
“帮助我为用户表设置权限,并为用户角色选择访问权限”
社区
- 问题: 报告错误或请求功能
- 讨论: 提问,分享用例
- Docker 中心: 下载并查看图像详细信息
许可证
根据Apache许可证2.0获得许可-请参阅 许可证 文件以获取详细信息。
归因
此MCP服务器是使用Hasura GraphQL Engine内部库构建的:
- Hasura GraphQL引擎:版权所有(c)Hasura股份有限公司- Apache 2.0
- MCP Go SDK:版权所有(c)2024 Anthropic,中国人民银行- 麻省理工学院
这是基于Hasura开源代码的衍生作品。所有商标和产品名称均为其各自所有者的财产。
这是一个独立的社区项目,不是Hasura股份有限公司的正式附属或认可。
更新日志
看 更改日志.md 查看版本历史和更新。
