# 显式项目范围兼容 真实只读验证发现:同一份 Vercel MCP 授权下,默认 `list_projects({})` 成功,而显式指定相同归属的 `teamId` 返回403和 `You must re-authenticate to this scope`。通过返回项目的 `accountId` 核对,所请求 ID 与默认项目归属完全一致。此现象不能仅凭错误文本解释为令牌过期。 0.3.1另处理了模型传入整数`limit`的情况:远端发现schema将它声明为字符串;数值100会让移除teamId后的调用进入另一条服务器校验路径并失败,字符串`"100"`则成功。插件仅将正安全整数limit转换为同值十进制字符串,保留其余筛选和分页参数,不修改调用者输入,不静默丢弃筛选,也不扩展到写操作。 插件对这个特定读取路径提供兼容处理: 1. 先按用户原始参数请求官方 MCP。 2. 只有 `list_projects`、明确非空 `teamId`、没有额外 `slug`,且返回对应403范围错误时,才尝试移除 `teamId` 后的同一查询。 3. 保留搜索、分页等其他参数。仅当响应非空且每个项目的 `accountId` 都严格等于请求 ID 时,才接受结果。 4. 如果归属缺失、不同、混合、结果为空,或者第二次调用失败,则保留原403。取消请求仍保持取消,不转成成功。 成功使用兼容路径时,模型会收到简短说明,结构化 `_meta` 中的 `dsh-vercel/scope-resolution` 记录请求范围与验证结果;上游结构化数据和元数据仍保留。 这项处理没有扩大 OAuth 权限,也不改变远端服务器的授权规则。它不适用于写入、部署、其他团队、其他403或显式 `slug` 查询。插件不把所有权限错误都自动重试到默认团队。 离线测试覆盖参数保留、同归属验证、不同/混合/未知归属、空结果、普通403、写操作、网络失败与取消。真实验证使用官方 MCP 的只读调用;没有修改授权文件或执行平台写入。