01 / THE SIGNAL

我们发现了什么

几周前,我着手让每个 AI 智能体拥有自己的加密身份。标题:MCP 服务器的智能体专用令牌:运维人员告诉我的内容,以及由此形成的设计。网址来源:https://dev.to/zachbenson/per-agent-tokens-for-mcp-servers-what-operators-told-me-and-the-design-that-came-out-of-it-40ml 发布时间:2026-11-09T14:28:48Z Markdown 内容:跳到正文 (ht

  • 来源:DEV Community(发现于 2026-11-10)
  • 证据等级:D · 发现产品或需求信号,暂未获得可核验的商业证据。
  • 商业模式:待核验
  • 主题:内容与设计
  • 初筛评分:19.1/100 · 收录 1 次
#创作工具#待验证#产品发现
02 / SOURCE & EVIDENCE

证据,比故事更重要。

发现产品或需求信号,暂未获得可核验的商业证据。

规则清洗与初筛,未经人工商业核验。原文语境、实际客户和付费情况仍需自行验证。

引用与数字披露

来源类型(原作者自述/第三方测算/媒体转引)需采集端标注,本版尚未落字段。

短句引用
作者
未标注
抓取日期
来源类型
未标注
数字口径
币种
未标注
口径
未标注
披露主体
未标注
披露日期
未标注

中文辅助译文(全文)

几周前,我开始着手为每个 AI 代理提供独立的加密身份。随后,我询问 MCP 服务器的运营人员他们真正需要什么。我最初的想法大多未能 survives。最终保留下来的方案如下。

问题

用户将 Claude、ChatGPT、Cursor 以及自己的一两个代理连接到您 MCP 服务器上的同一个账户。其中一个代理开始行为异常:陷入循环、过度读取,或执行用户无意进行的操作。如今,若要切断这个代理的权限,通常意味着让用户从所有位置退出登录,或者轮换所有代理共用的密钥。

我最初判断错误的地方

  • “服务器需要无密钥的代理身份。” 事实并非如此。一个免费、自制的 ID 对滥用者没有任何成本,因此无法保护免费服务层。一名运营人员曾眼看着账户以每小时 70 多个的速度被批量刷取;稳定的 ID 不会有帮助。
  • “撤销对所有人来说都很痛苦。” 并非如此。许多运营人员已经将密钥与用户关联,并会撤销该用户的权限。
  • “构建者会为托管式代理钱包付费。” 有三位直接表示不会。他们将密钥保存在密钥链或 Vaultwarden 中,不想把凭据交给初创公司。

运营人员实际上说了什么

  • 任何成本高昂的操作都应继续使用他们自己的账户。 付费工具、写入操作以及任何会花钱的操作,都需要单独登录、使用积分或计费。
  • 不是由他们签发的身份几乎没有什么价值,除非存在合同。 一名安全工程师表示,在他们的 SIEM 中,外部凭据看起来会像一次攻击。只有在达成协议的情况下,才会接受联邦合作伙伴。首先这是个商业问题。
  • 读取操作才是外部身份能够派上用场的场景。 两名运营人员表示,一个经过签名、按代理区分的令牌,可以让成本较低的读取工具适用更宽松的限制。其中一人运营着一台托管式笔记服务器,希望对其搜索和读取工具实施按代理撤销,而不必重新验证整个账户。
  • 撤销必须迅速完成。 如果撤销需要一天,你实际上就是把审核外包给了一个比自身账户系统更慢的流程。读取操作允许缓存一分钟。写入操作则需要实时检查。
  • 为危险工具限定作用域。 任何能够发送、删除或产生支出的操作都应拥有自己的作用域。读取权限可以继续按服务器划分。

现在的设计

它刻意保持简单:采用标准 JWT,由签发方签发,并使用公钥进行验证。

{
"iss": "https://issuer.example",
"sub": "user_123",
"agent_id": "cursor-laptop",
"aud": "https://your-server.example/mcp",
"scope": "search_notes read_document",
"iat": 1762700000,
"exp": 1762700900,
"jti": "6f1c..."
}
  • 验证: 先使用签发方的 JWKS 验证签名,再检查签发方、受众和过期时间。任何 JWT 库都能做到这一点。
  • 撤销: 维护一份已撤销代理 ID 的列表。读取操作最多缓存该列表 60 秒;写入操作则实时检查。
  • 作用域: 起初将读取权限按服务器划分;发送、删除和产生支出各自拥有独立作用域。
  • 推出: 先采用仅观察模式。令牌会被检查和记录,不会拦截任何操作,现有身份验证也不受影响。

尚未解决的问题

  • 写入。 运营人员最希望对危险工具实施按代理控制,但他们只信任由自己签发的身份。对于写入操作,服务器可能必须充当签发方。
  • 是否会有人为此付费。 目前还没有人提出价格。
  • 它是否胜过 OAuth 已经提供的功能。 为每个代理注册一次客户端只能解决部分问题。

寻找测试者

如果您运营的 MCP 服务器保存着人们的笔记、记忆、文档或会议数据,我正在寻找一两位其他运营人员,在读取工具上测试这项机制。

  • 大约 30 分钟,由我协助:只需一小段代码和两项设置。
  • 仅观察模式。不会拦截任何操作;移除该设置后,它就会完全消失。
  • 你可以在日志中按代理查看情况、获得针对读取操作的单代理终止开关,并收到一份简短的结果报告,其中包括未能奏效的部分。

如果你感兴趣,请评论或联系我。如果你绝不会使用它,写一句话说明原因同样有帮助。

披露:我正在这一领域开发一个开源库,因此我的判断存在偏向。草稿由 Claude 协助完成,由我编辑。

译文由上游机器翻译生成,可能有误;判断请以英文原文为准。

英文原文(来源本站未改写)

A few weeks ago I set out to give every AI agent its own cryptographic identity. Then I asked the people who run MCP servers what they actually needed. Most of my first idea didn't survive. This is what did.

The problem

A user connects Claude, ChatGPT, Cursor and a couple of their own agents to the same account on your MCP server. One of them starts misbehaving: looping, over-reading, doing something the user didn't intend. Today, cutting off that one agent usually means signing the user out everywhere, or rotating a key every agent shares.

What I got wrong first

  • "Servers want keyless agent identity." They don't. A free, self-made ID costs an abuser nothing, so it can't protect a free tier. One operator watched accounts get farmed at 70+ an hour; a stable ID wouldn't have helped.
  • "Revocation is painful for everyone." It isn't. Many operators already tie keys to users and revoke the user.
  • "Builders will pay for a hosted agent wallet." Three said no outright. They keep secrets in keychains or Vaultwarden and don't want to hand credentials to a startup.

What operators actually said

  • Anything costly stays on their own accounts. Paid tools, writes and anything that spends money need their own sign-in, credits or billing.
  • Identity they didn't issue is worth little, unless there's a contract. One security engineer said outside credentials would look like an attack in their SIEM.Federated partners are accepted only under an agreement.It's a business question first.
  • Reads are where outside identity can help. Two operators said a signed, per-agent token could earn a looser limit on cheap read tools.

One runs a hosted notes server and wants per-agent revocation on its search and read tools without re-authing the whole account. - Revocation has to be fast. If revoking takes a day, you've outsourced vetting to someone slower than your own account system.A minute of caching is fine for reads.Writes need a live check. - Scope the dangerous tools. Anything that can send, delete or spend gets its own scope.Reads can stay per server.

The design now

It's deliberately boring: a standard JWT from an issuer you verify against a public key.

{
  "iss": "https://issuer.example",
  "sub": "user_123",
  "agent_id": "cursor-laptop",
  "aud": "https://your-server.example/mcp",
  "scope": "search_notes read_document",
  "iat": 1762700000,
  "exp": 1762700900,
  "jti": "6f1c..."
}
  • Verification: signature against the issuer's JWKS, then issuer, audience and expiry. Any JWT library does this.
  • Revocation: a list of revoked agent IDs. Reads cache it for up to 60 seconds; writes check it live.
  • Scopes: reads per server to start; send, delete and spend get their own scopes.
  • Rollout: observe-only first. Tokens are checked and logged, nothing is blocked, and existing auth is untouched.

What's still open

  • Writes. Operators want per-agent control most on dangerous tools, but they only trust identity they issue. For writes, the server probably has to be the issuer.
  • Whether anyone pays for this. Nobody has named a price yet.
  • Whether it beats what OAuth already gives you. One client registration per agent gets you part of the way.

Looking for testers

If you run an MCP server that holds people's notes, memory, documents or meeting data, I'm looking for one or two more operators to test this on read tools.

  • About 30 minutes, with me helping: a small snippet and two settings.
  • Observe-only. Nothing is blocked; remove the setting and it's gone.
  • You get per-agent visibility in your logs, a one-agent kill switch on reads, and a short write-up of the results, including what didn't work.

Comment or reach out if you're interested. If you'd never use this, a sentence on why helps just as much.

Disclosure: I'm building an open-source library in this area, so I'm biased. Drafted with help from Claude, edited by me.

出处https://dev.to/zachbenson/per-agent-tokens-for-mcp-servers-what-operators-told-me-and-the-design-that-came-out-of-it-40ml抓取日期 · 采集源 DEV Community

03 / EVIDENCE GAPS

这条还缺什么证据?

下面每条都由本条已有字段推出(等级、理由、商业模式、来源次数、是否演示), 本站不生成推测性结论;通用验证方法放在方法论页。

  • 可核验的收入或付费证据查官网定价页与付费口径;第三方数据源(如 GetLatka)只作旁证,需标注来源与时点。
  • 商业模式未定确认按席位/按用量/授权还是开源托管版收费;开源项目另查 LICENSE 与是否存在付费版。
  • 只有单一来源找一手站点或其他渠道是否重复出现同一产品;社区热帖数量不等于商业进展。

通用验证清单(谁有这个问题/谁愿意付费/一个人能交付哪一小步)见我们的筛选方法。

04 / SIGNAL HISTORY

发现时间线