# Lune Research 权限

每个 OAuth 访问令牌和每个访问密钥都带有一组明确的权限。权限决定凭证能调用哪些工具，每个工具在运行时检查自己需要的权限。此外，任何有效凭证都能查看自身信息（所属团队和权限），并列出创建者所在的团队及各团队的套餐。团队的点数、每日用量和订阅需要 `account:read`，而且凭证只能读取签发它的那个团队。

## 权限参考

| 权限            | OAuth      | 访问密钥 | 允许执行的操作                                                                     |
| --------------- | ---------- | -------- | ---------------------------------------------------------------------------------- |
| `papers:read`   | 支持       | 支持     | Paper 类工具：检索、全文、引用、相关 Paper、提取、论断核验、证据收集               |
| `guidance:read` | 支持       | 支持     | 最佳实践类工具                                                                     |
| `account:read`  | 支持       | 支持     | 读取签发凭证的团队的点数、每日用量和订阅。查看凭证自身的团队和权限不需要任何权限。 |
| `subs:rw`       | 需明确申请 | 支持     | 设置控制台「来源配置」页面在结果中隐藏哪些顶会。没有 MCP 工具使用它。              |
| `keys:rw`       | 需明确申请 | 不支持   | 在你的团队里创建访问密钥。Lune 命令行应用会用到它。不能列出或撤销密钥。            |

`list_conferences` 和 `get_conference_papers` 不需要任何权限。完整的工具与权限对照见[工具](https://luneresearch.com/zh-Hans/docs/mcp#工具)。

## 连接器应申请哪些权限

MCP 服务器在[资源元数据](https://mcp.luneresearch.com/.well-known/oauth-protected-resource)中公布了三个权限：`papers:read guidance:read account:read`。三个都要申请，不多不少，它们覆盖全部工具。授权服务器虽然会把 `subs:rw` 和 `keys:rw` 授予明确申请它们的客户端，也不要申请：没有 MCP 工具用到它们，而且 `keys:rw` 会让应用能创建访问密钥，这些密钥在你断开应用后依然有效。

Lune 命令行应用会申请 `keys:rw`，这样 `lune install` 能在你批准后为本地 MCP 客户端创建访问密钥。这样创建的密钥本身不能带 `keys:rw`。

## 默认权限与修改

在控制台创建的密钥带有 `papers:read`、`guidance:read`、`subs:rw` 和 `account:read`，创建时只需填写名称。想自选权限或设置有效期，请用命令行应用创建：

```sh
lune keys create --name ci --scopes papers:read,guidance:read
```

密钥创建后不能修改权限。如需调整，请创建权限正确的新密钥，替换旧密钥，再撤销旧的。

OAuth 客户端在申请授权时发送以空格分隔的 `scope`。Lune 会丢弃不支持的权限，在授权页面展示其余权限，并在令牌响应中返回实际授予的集合。不传 `scope`，或申请的权限 Lune 一个都不支持时，默认申请 `papers:read guidance:read account:read`。新的授权只包含请求里写明的权限，所以客户端需要新增权限时，要重新申请完整的一组。

## 缺少权限时

- **OAuth 访问令牌。** MCP 服务器返回 `403`，`WWW-Authenticate` 响应头里的 `error` 是 `insufficient_scope`，`scope` 写明缺少的权限。客户端应重新发起授权，并申请全部三个权限 `papers:read guidance:read account:read`。
- **访问密钥。** 工具会返回一条写明缺少哪项权限的错误。请创建包含该权限的密钥，然后重试。

工具列表始终显示全部工具，权限决定的是哪些调用能成功。
