SpiceDB MCP Server

SpiceDB MCP Server

site icon
2025.04.05 1
JavaScript权限管理中间件开发效率数据库
SpiceDB MCP Server 是一个实验性的 Model Context Protocol (MCP) 服务器,用于连接 SpiceDB 的 HTTP API 进行权限管理。该服务器使 LLMs(如 Claude)能够与 SpiceDB 实例交互,查询、管理和理解权限系统。
View on GitHub

Overview

基本能力

产品定位

SpiceDB MCP Server 是一个用于权限管理的中间件,旨在通过 MCP 协议连接 SpiceDB 和 LLMs,实现权限系统的交互式查询和管理。

核心功能

  • 资源管理
  • 检索模式及其关联的对象定义资源
  • 查询关系及其交互式关系资源
  • 获取带有详细类型信息的对象定义

  • 工具支持

  • 读取模式及其对象定义资源
  • 读取关系及其关系资源
  • 检查权限并提供详细的授权跟踪和解释
  • 按主题查找资源及其权限上下文
  • 按资源查找主题及其权限详情
  • 写入关系并进行验证

适用场景

  • 权限系统的交互式查询和管理
  • 权限系统的调试和分析
  • 权限系统的测试场景设置
  • 权限系统的合规性检查

工具列表

  • read-schema:检索当前模式及其对象定义资源
  • read-relationships:基于过滤参数查询关系,返回文本输出和关系资源
  • check-permission:检查主题是否对资源具有特定权限,并提供授权决策的调试跟踪和解释
  • lookup-resources:查找主题具有特定权限的资源,优化为数组响应格式
  • lookup-subjects:查找对资源具有特定权限的主题,优化为数组响应格式
  • write-relationship:创建、更新或删除关系并进行验证

常见问题解答

  • 实验性警告:该服务器是实验性的,仅用于教育目的,使用时需自行承担风险。
  • LLM生成:该仓库中的内容几乎完全由 Claude 3.5 Sonnet 生成,可能存在一些异常模式或潜在错误。

使用教程

使用依赖

  • Node.js 16+
  • SpiceDB 实例
  • SpiceDB API 密钥

安装教程

  1. 克隆仓库: bash git clone https://github.com/authzed/spicedb-mcp-server.git cd spicedb-mcp-server

  2. 安装依赖: bash npm install # 或 yarn install

  3. 配置环境: 创建 .env 文件并添加 SpiceDB 连接信息: SPICEDB_ENDPOINT=http://localhost:8443 SPICEDB_API_KEY=your-api-key-here SPICEDB_USE_TLS=false

  4. 构建服务器: bash npm run build # 或 yarn build

调试方式

  1. 直接运行服务器: bash node build/index.js # 或 npm start # 或 yarn start

  2. 查看日志:

  3. macOS/Users/<your username>/Library/Logs/Claude/mcp-server-spicedb.log/Users/<your username>/Library/Logs/Claude/mcp.log

许可证

该项目遵循 Apache-2.0 开源许可条款,请参阅 Apache-2.0 了解完整条款。