# MCP 接入

Sanctris 提供基于 Streamable HTTP 的远程 MCP 服务，不是本地 stdio 服务，也不是旧式 SSE 地址。

## 服务端点

| 用途 | 主站地址 |
| --- | --- |
| MCP | https://app.sanctris.com/mcp |
| 受保护资源发现 | https://app.sanctris.com/.well-known/oauth-protected-resource/mcp |
| 授权服务器元数据 | https://app.sanctris.com/.well-known/oauth-authorization-server |
| 动态客户端注册 | https://app.sanctris.com/oauth/register |
| 浏览器授权 | https://app.sanctris.com/oauth/authorize |
| 令牌交换与刷新 | https://app.sanctris.com/oauth/token |

租户地址采用同样路径，域名为 `https://工作区.t.sanctris.com`。优先使用 OAuth 元数据发现，不要硬编码全部端点。

## 认证

已实现 OAuth 授权码、PKCE S256 和动态客户端注册。公共客户端令牌认证方式为 `none`，支持 `authorization_code` 和 `refresh_token`。连接使用被授权工作区用户的身份。

客户端发现元数据、注册准确的回调地址、生成 PKCE 与客户端 state、打开浏览器授权，再用 verifier 换取令牌。resource 必须匹配 MCP 地址。不要通过 AI 工具传递用户密码。

刷新令牌由客户端安全存储，不能写入共享 JSON。可在产品“AI 协作”中撤销连接，停止后续访问。

## 权限与工具集

- `sanctris`：读写权限，仍受角色和用途约束。
- `sanctris:read`、`sanctris:write`：访问限制。
- `sanctris:design`、`sanctris:analytics`、`sanctris:admin`：用途选择，本身不授予读写能力。
- 未指定用途标记时默认日常工具集。

认证后通过 `tools/list` 发现工具，不要假设每个连接都有固定数量的工具。

## 协议兼容

服务端采用 MCP TypeScript SDK v2 的 2026-07-28 协议入口，并保留面向 2025 客户端的无状态协商。实际协议版本由客户端决定，不代表已认证全部客户端或所有可选协议特性。

MCP Apps 可视化界面是可选能力。不支持渲染时使用工具返回的浏览器链接。

## 写操作

遵循[人工确认流程](/docs/zh/security/)。批准后自动执行已审核参数，使用 `execute_approved_operation({ "operation_id": "首次返回的ID" })` 查询结果。不要复制长确认令牌、重试时修改参数，或仅凭 HTTP 200 判定成功。检查 MCP 的 `isError` 和工具内容。

