Token导航 LogoToken导航TokenDH.com
Mc Pack logo
运维云端未说明官方级别未说明来源级核验

Mc Pack

MCP Server

MCPack是一个基于角色的访问控制(RBAC)工具,用于MCP服务器,确保代理只能访问其角色允许的工具。

工具数

0

提示词数

0

GitHub Stars

2

资源数

0
访问控制TypeScript工具管理Token认证

安装说明

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

作者 / 组织

LoomLabs-Venture-Studio

提供方

LoomLabs-Venture-Studio

最后核验

2026/5/17 20:19

快速接入

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

详细介绍

MCPack

MCP服务器的RBAC。为任何MCP服务器引入基于角色的访问控制——代理只能看到其角色允许的工具。

专为需要让联合创始人和合作伙伴代理级访问共享堆栈而无需构建另一个管理仪表板的风险工作室而构建。他们的克劳德会议成为了共同冒险的终点,范围是他们应该能够接触到的东西。

安装

npm install @llvs/mcpack

对等依赖: @modelcontextprotocol/sdk ^1.0.0

快速开始

import { mcpack } from '@llvs/mcpack';

// your existing MCP server
const server = createMyServer();

const handle = await mcpack(server, {
  roles: {
    cofounder: ['get_deals', 'update_deal_status', 'list_payments'],
    advisor:   ['get_deals'],
    admin:     ['*']
  },
  defaultRole: 'advisor'
});

server.connect(transport);

就是这样。您的服务器现在在两层都强制执行基于角色的访问:

  • 发现: tools/list 返回单个 search_tools 工具。代理按关键字搜索,只看到其角色允许的工具。
  • 执行: tools/call 由于角色外工具而被阻止,即使代理不知何故知道该名称。该错误故意不透明: "Unknown tool: {name}"受限制的工具是不可见的,而不仅仅是被阻止的。

运作原理

1.代理连接。 tools/list 返回一个工具: search_tools。没有模式转储。

2.代理人搜索。 呼叫 search_tools 使用自然语言查询。MCPack返回匹配的模式,按角色过滤,按相关性排序。

{
  "name": "search_tools",
  "arguments": { "query": "deals and payments", "limit": 3 }
}

3.代理人只看到他们的角色所允许的。

A. cofounder 搜索“交易和付款”可以看到 get_deals, update_deal_status, list_paymentsadvisor 搜索同一个查询只会看到 get_dealsadmin'*' 看到一切。

4.强制执行。 如果A advisor 尝试呼叫 update_deal_status MCPack直接返回 "Unknown tool: update_deal_status" --不是“拒绝访问”,不是“权限不足”。据该代理所知,该工具并不存在。

两种模式

环绕模式

用一个函数调用包装任何现有的MCP服务器。MCPack拦截 tools/listtools/call,在上面添加了RBAC和懒惰发现。

import { mcpack } from '@llvs/mcpack';

const handle = await mcpack(server, {
  roles: {
    cofounder: ['get_deals', 'update_deal_status', 'list_payments'],
    advisor:   ['get_deals'],
    admin:     ['*']
  },
  defaultRole: 'advisor'
});

构建模式

从一开始就内置RBAC,从头开始构建一个新的MCP服务器。

import { createMCPackServer } from '@llvs/mcpack';

const { server, handle } = createMCPackServer({
  name: 'venture-server',
  version: '1.0.0',
  roles: {
    cofounder: ['get_deals', 'update_deal_status', 'list_payments'],
    advisor:   ['get_deals'],
    admin:     ['*']
  },
  defaultRole: 'advisor',
  tools: [
    {
      name: 'get_deals',
      description: 'List all active deals in the pipeline',
      inputSchema: { type: 'object', properties: {} },
      handler: async (args, ctx) => {
        return { deals: await db.getDeals() };
      },
    },
    // ... more tools
  ],
});

server.connect(transport);

两种模式使用相同的发动机。相同的RBAC执行。相同 search_tools 界面。相同的会话感知行为。

会话跟踪

每个会话加载一次的模式在后续调用中作为轻量级引用返回。从来没有重复的有效载荷。

{
  "tools": [
    { "name": "get_deals", "loaded": false, "schema": { "..." } },
    { "name": "list_payments", "loaded": true }
  ]
}

loaded: false --包含完整模式(本次会话首次)。 loaded: true --代理已经拥有它,MCPack只发送一个引用。

代币减少:一个值得衡量的副作用

RBAC是主要值。但是,确定代理可以看到的范围也会大大减少令牌的使用——代理只加载他们需要的模式,而不是完整的工具界面。

在Stripe MCP(28个工具)上测量。实际线束输出:

=== MCPack Token Reduction Report ===

Stripe MCP tools discovered: 28

Query: "create a payment"
  Tools: 28 vanilla -> 5 MCPack
  Chars: 33258 -> 4158 (87.5% reduction)
  Est. tokens: 8315 -> 1040 (saved ~7275)

Query: "issue refund"
  Tools: 28 vanilla -> 3 MCPack
  Chars: 33258 -> 3196 (90.4% reduction)
  Est. tokens: 8315 -> 799 (saved ~7516)

--- Aggregate ---
Overall reduction: 80.7%
Total est. tokens saved: 33,560
查询普通代币MCPack代币减少
创建付款8315104087.5%
管理客户18315198476.1%
订阅计费8315327960.6%
问题退款831579990.4%
清单发票831591389.0%
聚合41,5758,01580.7%

结果因服务器大小和查询宽度而异——工具表面越大,减少的工作量就越大。

数字表示序列化JSON有效载荷的字符数,而不是实际的LLM令牌。估计的令牌使用chars/4近似值。

路线图

  • v1.0: RBAC、关键字搜索、会话跟踪(此版本)
  • v1.1: 语义搜索、工具使用分析
  • v2.0: 二进制编码层

规格

完整规格 了解协议细节、架构和配置参考。

许可证

麻省理工学院

目录标签

目录标签

访问控制TypeScript工具管理Token认证RBAC本地部署MCP服务器

接入字段

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

未说明

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

token

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

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

0

权限和风险

未说明token部署方式未说明

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

安装前确认

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

仍需确认:installCommand

来源信息

继续浏览同类 MCP