@aauth/mcp-server

中文文档
1.0.0发布于 2026/05/26MITTypeScriptES Module构建来源已验证近 30 天下载 1827

AAuth 服务器侧构件: 挑战头, 交互管理, 资源符号

中文使用文档
文档目录11 节
  1. 安装
  2. 使用量
  3. verifyToken(options): Promise<VerifiedToken>
  4. buildAAuthHeader(requirement, params?): string
  5. buildAAuthAccessHeader(token): string
  6. parseCapabilitiesHeader(headerValue): Capability[]
  7. parseMissionHeader(headerValue): Mission
  8. createResourceToken(options, sign): Promise<string>
  9. InteractionManager
  10. clearMetadataCache()
  11. 许可证

@aauth/ mcp- 服务器

MCP 的服务器侧 AAuth 。 验证已签名的请求,验证代理和认证令牌,建立AAuth挑战头,创建资源令牌,并管理202个交互流量.

部分 (auth-dev-packages-js) (韩语)。协议规格: 迪克哈特/澳大利亚。 。 。 .

安装

npm install @aauth/mcp-server

使用量

verifyToken(options): Promise<VerifiedToken>

根据签署的申请核证JWT。 支持两者 aa-agent+jwt 财务报告和审定财务报表 aa-auth+jwt 符号类型。 自动获取发件人元数据和JWKS(已标记).

import { verifyToken } from '@aauth/mcp-server'

const result = await verifyToken({
  jwt: tokenFromSignatureKeyHeader,
  httpSignatureThumbprint: thumbprintFromVerifiedSignature,
})

if (result.type === 'agent') {
  // VerifiedAgentToken: iss, sub, cnf, iat, exp
  console.log(`Agent: ${result.sub}`)
}

if (result.type === 'auth') {
  // VerifiedAuthToken: iss, aud, agent, cnf, sub?, scope?, iat, exp
  console.log(`Authorized agent: ${result.agent}, scope: ${result.scope}`)
}

掷出 AAuthTokenError 带有关于失败的光谱定义错误代码 :

代码含义
invalid_agent_token代理符验证失败
invalid_auth_token验证证书失败
key_binding_failed请求签名密钥与令牌不符 cnf.jwk

buildAAuthHeader(requirement, params?): string

构建一个 AAuth-Requirement 响应头.

import { buildAAuthHeader } from '@aauth/mcp-server'

// 401 — require auth token
const header = buildAAuthHeader('auth-token', { resourceToken: '...' })
response.setHeader('aauth-requirement', header)

// 202 — require interaction
buildAAuthHeader('interaction', { url: 'https://example.com/interact', code: 'ABCD1234' })

// Simple levels (no params)
buildAAuthHeader('approval')
buildAAuthHeader('clarification')
buildAAuthHeader('claims')

buildAAuthAccessHeader(token): string

构建一个 AAuth-Access 双方模式的响应头。 令牌对代理不透明——资源包裹着自己的授权状态.

import { buildAAuthAccessHeader } from '@aauth/mcp-server'

response.setHeader('aauth-access', buildAAuthAccessHeader(wrappedToken))

parseCapabilitiesHeader(headerValue): Capability[]

解析 a AAuth-Capabilities 请求头.

import { parseCapabilitiesHeader } from '@aauth/mcp-server'

const caps = parseCapabilitiesHeader(request.headers.get('aauth-capabilities'))
// ['interaction', 'clarification', 'payment']

parseMissionHeader(headerValue): Mission

解析 a AAuth-Mission 请求页眉为 a Mission 可直接传递给 createResourceToken。 。 。 .

import { parseMissionHeader } from '@aauth/mcp-server'

const mission = parseMissionHeader(request.headers.get('aauth-mission'))
// { approver: 'https://ps.example', s256: '...' }

createResourceToken(options, sign): Promise<string>

创建一个 aa-resource+jwt 用于包含在401 AAuth 挑战中.

import { createResourceToken } from '@aauth/mcp-server'

const resourceToken = await createResourceToken(
  {
    resource: 'https://api.example.com',
    authServer: 'https://ps.example',      // PS URL (three-party) or AS URL (four-party)
    agent: 'aauth:[email protected]',
    agentJkt: thumbprint,                  // JWK Thumbprint of agent's signing key
    scope: 'files.read',
    mission: parseMissionHeader(request.headers.get('aauth-mission')),  // optional
    lifetime: 300,                         // seconds, default 300
  },
  async (payload, header) => {
    // Sign the JWT with your resource server's key
    return signedJwtString
  }
)

InteractionManager

管理待处理的202起递延反应流量请求.

import { InteractionManager } from '@aauth/mcp-server'

const manager = new InteractionManager({
  baseUrl: 'https://api.example.com',
  pendingPath: '/pending',  // default
  codeLength: 8,            // default
  ttl: 600,                 // seconds, default
})

// Create a pending request (returns headers for 202 response)
const { headers, pending } = manager.createPending()
// headers: { Location, Retry-After, Cache-Control, AAuth }
// pending: { id, code, promise, resolve, reject }

// Resolve when the interaction completes
manager.resolve(pending.id, { granted: true })

// Or reject
manager.reject(pending.id, 'denied')

// Cleanup expired entries
manager.cleanup()

clearMetadataCache()

清除缓存的发行者元数据和 JWKS verifyToken。 。 。 .

import { clearMetadataCache } from '@aauth/mcp-server'

clearMetadataCache()

许可证

麻省理工学院

版本与发布记录

@aauth/mcp-server 共发布 28 个版本,首次发布于 2026/03/02;过去 12 个月发布了 28 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
1.0.0latest2026/05/265 个月前
0.11.32026/05/215 个月前
0.11.22026/05/215 个月前
0.11.12026/05/155 个月前
0.11.02026/05/155 个月前
0.10.42026/05/135 个月前

关于 @aauth/mcp-server 的常见问题

@aauth/mcp-server 是什么?

AAuth 服务器侧构件: 挑战头, 交互管理, 资源符号

如何安装 @aauth/mcp-server?

在项目目录运行 npm install @aauth/mcp-server,或使用 pnpm add / yarn add / bun add。

@aauth/mcp-server 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@aauth/mcp-server 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@aauth/mcp-server 可以商用吗?

@aauth/mcp-server 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@aauth/mcp-server 的下载量有多少?

根据 npm 官方下载统计,@aauth/mcp-server 在 2026/10/05 – 2026/11/03 这 30 天内被下载 1,827 次,日均约 61 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@aauth/mcp-server 还在维护吗?

最新版本 1.0.0 发布于 2026/05/26(5 个月前);至今共发布 28 个版本,其中过去 12 个月发布了 28 个;首次发布于 2026/03/02。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。