# @aauth/mcp-server 中文文档

规范地址：https://npmcn.com/package/%40aauth/mcp-server/

版本：1\.0\.0
npm 元数据更新时间：2026-05-26T13:04:50.354Z
中文译文更新时间：2026-11-08T09:39:33.665Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40aauth/mcp-server
原文对照：https://npmcn.com/package/%40aauth/mcp-server/?lang=original
项目主页：https://github.com/aauth-dev/packages-js#readme
源码仓库：https://github.com/aauth-dev/packages-js

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：81.4 kB，38 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- 运行依赖：1 个
- 首次发布：2026-03-01T20:17:54.917Z
- 最新版本发布：2026-05-26T13:04:50.063Z
- 近 30 天下载量：1827（2026-10-05 至 2026-11-03，npm 官方下载统计）
- 已发布版本数：28（近 12 个月 28 个）

## 中文简介

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

## 安装

```sh
npm install @aauth/mcp-server
```

也可以使用：`pnpm add @aauth/mcp-server`、`yarn add @aauth/mcp-server`、`bun add @aauth/mcp-server`

## README

# @aauth/ mcp- 服务器

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

部分 [(auth-dev-packages-js) (韩语)](https://github.com/aauth-dev/packages-js)。协议规格: [迪克哈特/澳大利亚](https://github.com/dickhardt/AAuth)。 。 。 .

## 安装

```bash
npm install @aauth/mcp-server
```

## 使用量

### `verifyToken(options): Promise<VerifiedToken>`

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

```ts
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` 响应头.

```ts
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` 双方模式的响应头。 令牌对代理不透明——资源包裹着自己的授权状态.

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

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

### `parseCapabilitiesHeader(headerValue): Capability[]`

解析 a `AAuth-Capabilities` 请求头.

```ts
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`。 。 。 .

```ts
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 挑战中.

```ts
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:claude@user.github.io',
    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起递延反应流量请求.

```ts
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`。 。 。 .

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

clearMetadataCache()
```

## 许可证

麻省理工学院

## 常见问题

### @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 和提交记录判断。

