Token导航 LogoToken导航TokenDH.com
Cerbos MCP Authorization Demo logo
AI代理stdio官方级别未说明来源级核验

Cerbos MCP Authorization Demo

MCP Server

Cerbos MCP Authorization 是一个基于角色的访问控制工具,用于AI助手工具,通过Model Context Protocol (MCP)和Cerbos实现动态权限管理。

工具数

0

提示词数

0

GitHub Stars

5

资源数

0
访问控制权限管理JavaScriptDocker

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

cerbos

提供方

cerbos

最后核验

2026/5/17 20:21

运行时

Docker

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

docker run --rm -it -p 3593:3593 \

详细介绍

Cerbos MCP授权

本项目演示了如何使用 模型上下文协议(MCP)Cerbos.

概述

该应用程序创建了一个MCP服务器,向GitHub Copilot等人工智能助手公开费用管理工具,同时使用Cerbos策略强制执行基于角色的访问控制。不同的用户角色(管理员、经理、用户)访问特定工具的权限不同。

特性

  • 基于角色的访问控制:根据用户角色动态启用/禁用MCP工具
  • 声明性策略定义:使用YAML文件定义访问控制策略
  • 集中授权:利用Cerbos PDP(策略决策点)进行授权决策

入门指南

先决条件

  • Node.js(v16+)
  • Docker(用于运行Cerbos PDP)

安装

  1. 克隆此存储库
  2. 安装依赖项:
npm install

运行应用程序

步骤1:启动Cerbos PDP

在Docker中运行Cerbos策略决策点:

docker run --rm -it -p 3593:3593 \
  -v "$(pwd)/policies":/policies \
  ghcr.io/cerbos/cerbos:latest

步骤2:启动MCP服务器

npm start

服务器将在端口3000上运行。

授权策略

应用程序使用以下基于角色的权限:

工具描述允许的角色
list_expenses列出费用管理员、经理、用户
add_expense添加费用用户
approve_expense批准费用管理员、经理
reject_expense拒绝费用管理员、经理
delete_expense删除费用管理员
superpower_tool授予超能力管理员

这些权限在中定义 policies/mcp_expenses.yaml.

测试不同的用户角色

在实际应用中,MCP将通过OAuth服务器对用户进行身份验证,以检索此信息。为了简单起见,您可以通过修改 roles 数组in index.js:

app.use((req, res, next) => {
  req.user = { id: "user-123", roles: ["admin"] }; // Change roles here
  next();
});

可用角色: admin, manager, user

使用MCP客户端进行测试

克劳德

将以下内容添加到您的 claude_desktop_config.json 文件:

{
  "mcpServers": {
    "cerbos-demo": {
      "command": "npx",
      "args": ["mcp-remote", "http://localhost:3000/mcp"]
    }
  }
}

VSCode

  1. 在VS代码中安装MCP客户端扩展
  2. 打开命令面板(Ctrl+Shift+P)并选择“MCP:添加服务器”
  3. 请输入您的服务器URL: http://localhost:3000/mcp
  4. 连接到服务器,根据您的角色查看哪些工具可用

按角色划分的交互示例

在中设置不同角色后尝试这些示例 index.js:

  • 作为一个 user (roles: ['user']):

- “添加100美元的费用”→ 成功 - “批准费用”→ 失败(工具不可用)

  • 作为一个 manager (roles: ['manager']):

- “批准费用123”→ 成功 - “删除费用123”→ 失败(工具不可用)

  • 作为一个 admin (roles: ['admin']):

- “删除费用123”→ 成功 - 所有工具都可用

实现细节

该应用程序通过以下方式将MCP与Cerbos集成在一起:

  1. 定义MCP服务器中的所有工具
  2. 根据用户角色检查Cerbos对每个工具的权限
  3. 根据授权结果动态启用/禁用工具
  4. 通知MCP客户端工具可用性更改

目录标签

目录标签

访问控制权限管理JavaScriptDocker本地部署AI助手MCP协议Cerbos

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

oauth

运行时(runtime,运行环境)

Docker

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiooauth部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP