Token导航 LogoToken导航TokenDH.com
agentid (Samudary) logo
AI代理未说明官方级别未说明来源级核验

agentid (Samudary)

MCP Server

AgentID为AI代理提供短期的、范围限定的任务身份认证和权限管理,确保每个任务都有独立的JWT凭证,实现最小权限原则和可追溯的授权链。

工具数

1

提示词数

0

GitHub Stars

0

资源数

0
权限管理GoAI代理

安装说明

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

作者 / 组织

samudary

提供方

samudary

最后核验

2026/5/17 20:19

快速接入

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

详细介绍

代理商c

项目状态:实验,草稿

自主AI代理的实验性任务范围身份和认证。

问题

如今,人工智能代理借用人工凭据,使用在并发任务中共享的静态API密钥,并产生无法区分哪个代理做了什么或授权了它的审计跟踪。当计划代理产生子任务时,每个代理都继承父代的完全权限,而不是最小的子集。对于从人类授权者通过每个中间代理到叶子操作的委托,没有一种标准的机制来跟踪临时、有范围、可审计的凭据。

AgentID的工作原理

AgentID通过为每个代理工作单元颁发的短期作用域凭据引入任务标识JWT。人工(或父任务)创建具有特定权限的任务凭据,表示为 tool:resource:action 范围。代理使用此JWT通过MCP代理调用工具,该代理验证令牌、检查范围、转换上游API的凭据,并在审计跟踪中记录每个操作。子任务的作用域比其父任务窄,在整个委托树中强制执行最小权限。

安装

go install github.com/samudary/agentid/cmd/agentid@latest

# Or from a local source
go install ./cmd/agentid

配置

这里的示例基于通过代理和MCP与Github API交互。很快将添加更多适配器。

cp configs/example-gateway.yaml gateway.yaml
export GITHUB_TOKEN=ghp_your_token_here

启动服务器

agentid serve --config gateway.yaml

创建任务凭据

agentid task create \
  --authorizer "human:you@company.com" \
  --bundle code-contributor \
  --purpose "implement feature" \
  --ttl 30m \
  --config gateway.yaml

将其与MCP代理一起使用

# List available tools
curl -X POST http://localhost:8080/mcp \
  -H "Authorization: Bearer " \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","method":"tools/list","id":1}'

# Call a tool
curl -X POST http://localhost:8080/mcp \
  -H "Authorization: Bearer " \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","method":"tools/call","params":{"name":"github_get_file","arguments":{"owner":"samudary","repo":"agentid","path":"README.md"}},"id":2}'

检查审计跟踪

agentid audit tail --config gateway.yaml

撤销凭证

agentid task revoke  --reason "done" --config gateway.yaml

核心概念

任务完整性

每个代理任务都会收到自己的JWT凭据,该凭据具有唯一的UUID v7标识符、明确的作用域和有界的生存期。凭据在任务开始时生成,在任务结束或到期时终止。没有长寿的代币。如果需要更多时间,父任务将创建一个新的子任务。

范围缩小

权限使用该格式 tool:resource:action (例如。, github:repo:read).当父任务委托给子任务时,子任务的范围必须等于或小于父任务的范围。通配符段(*)可以用特定值替换,但特定值永远不能用通配符替换。这在整个委托树中强制执行最小特权。

代表团链

每个JWT都带有从授权工作的人到每个中间任务到当前任务的完整授权来源。该链嵌入在令牌本身中,因此任何操作都可以追溯到其人类授权者,而无需外部查找。每个链接都记录了在该委托步骤中是否缩小了范围。

范围捆绑

在网关配置中定义的命名作用域组(例如。, code-contributor 捆绑包 github:repo:read, github:repo:write, github:pulls:write, github:actions:read).捆绑可以防止范围疲劳,并有助于减轻猜测权限数组或授予过于宽泛的通配符的倾向。在JWT编码之前,捆绑包被扩展到粒度范围;它们是一种配置便利,而不是运行时概念。

MCP代理

代理验证任务JWT,检查作用域授权,转换上游API的凭据(代理永远看不到像GitHub PAT这样的上游令牌),并记录每个操作。它通过JSON-RPC 2.0(MCP协议)公开工具,使代理能够发现可用工具并以编程方式调用它们。

建筑

  1. 代理/CLI(任务JWT)
  2. ---MCP(JSON-RPC 2.0)
  3. ------>AgentID代理(JWT验证、范围检查、身份验证转换、审计日志)
  4. ---上游API
  5. ------>Github等。

规格

所提出的身份模型和范围语义记录如下:

  • 任务身份声明 -JWT声明结构、签名、生命周期规则和验证顺序
  • 范围约定 -范围格式、通配符语义、缩小规则和捆绑包
  • 微分 -AgentID与OAuth令牌交换、服务帐户和API网关的区别

与MCP客户端一起使用

AgentID通过JSON-RPC 2.0使用标准MCP,这意味着任何MCP客户端都可以与之通信。唯一特定于AgentID的部分是将任务JWT作为承载令牌传递。

import (
    "github.com/mark3labs/mcp-go/client"
    "github.com/mark3labs/mcp-go/client/transport"
    "github.com/mark3labs/mcp-go/mcp"
)

mcpClient, _ := client.NewStreamableHttpClient(
    "http://localhost:8080/mcp",
    transport.WithHTTPHeaders(map[string]string{
        "Authorization": "Bearer " + taskJWT,
    }),
)
defer mcpClient.Close()

mcpClient.Start(ctx)

tools, _ := mcpClient.ListTools(ctx, mcp.ListToolsRequest{})
result, _ := mcpClient.CallTool(ctx, mcp.CallToolRequest{
    Params: mcp.CallToolParams{
        Name: "github_get_file",
        Arguments: map[string]any{
            "owner": "samudary",
            "repo":  "agentid",
            "path":  "README.md",
        },
    },
})

看 一个完整的工作示例。

CLI参考

agentid serve --config gateway.yaml
agentid task create --authorizer  --scopes  --ttl  --config gateway.yaml
agentid task create --authorizer  --bundle  --ttl  --config gateway.yaml
agentid task inspect  --config gateway.yaml
agentid task revoke  --reason  --config gateway.yaml
agentid scopes list-bundles --config gateway.yaml
agentid scopes expand-bundle  --config gateway.yaml
agentid audit query --task  --since  --config gateway.yaml
agentid audit tail --config gateway.yaml

许可证

Apache 2.0

目录标签

目录标签

权限管理GoAI代理AI代理认证本地部署JWT凭证任务范围审计跟踪

接入字段

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

未说明

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

oauth

工具数量(toolCount,工具数)

1

资源数量(resourceCount,资源数)

0

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

0

权限和风险

未说明oauth部署方式未说明

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

安装前确认

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

仍需确认:installCommand

来源信息

继续浏览同类 MCP