Navan 官方 Cursor 插件解析:基于远程 MCP 服务器集成费用、差旅与卡片数据
【免费下载链接】pluginsCursor plugin specification and official plugins项目地址: https://gitcode.com/GitHub_Trending/plugins125/plugins
本文以 third_party/navan/CHANGELOG.md 的 1.0.0 版本发布记录为核心骨架,结合同插件目录下的 README.md 与 mcp.json,完整讲解 Navan 插件如何通过官方远程 MCP 服务器,让 Cursor 智能体在用户授权范围内查询费用、差旅预订、政策与卡片信息。读完本文,你将掌握该插件的安装方式、MCP 端点配置、OAuth 2.0 认证机制、权限边界与安全模型,以及一套可立即上手的验证与使用策略。
插件定位:为 Agent 接上 Navan 的企业支出数据
Navan 是面向企业的支出管理平台,覆盖费用报销、差旅预订(航班、酒店、地面交通)、政策审批流与企业卡片等场景。Navan 插件把这一整套数据通过官方远程 Model Context Protocol 服务器开放给 Cursor 智能体,使 Agent 能够:
- 查询费用记录与支出趋势;
- 分析航班、酒店、地面交通等差旅预订;
- 询问公司政策、审批流程以及标记/拒绝原因;
- 查询当前登录 Navan 用户的卡片详情。
从仓库的插件市场索引看,该插件在 .cursor-plugin/marketplace.json 中被登记为navan,源目录为third_party/navan,类别为 Integrations,市场描述为 "Query expenses, travel bookings, policies, and cards.",与插件 README.md 的表述完全一致。
1.0.0 版本发布:从 CHANGELOG 看插件的第一版构成
CHANGELOG.md 记录了插件首个正式版本1.0.0(initial release)的两项核心变更:
- Logo:使用 Navan 品牌标识(紫色方块上的白色 "n"),对应仓库中的 assets/logo.png(240×240 的品牌图标),用于插件在市场中的品牌展示。
- MCP 服务器:新增
navanMCP server,指向官方远程端点https://mcp.navan.com/mcp。
第二项是本插件的技术核心——它不内置任何本地数据或解析逻辑,而是以远程 HTTP MCP 服务器的形式,把 Navan 的支出与差旅数据能力直接注入 Agent 的工具集。这一点从插件目录结构也可以印证:整个third_party/navan/目录只包含 mcp.json、README.md、CHANGELOG.md、LICENSE 与 assets 目录,没有技能(skills)、规则(rules)或本地脚本,属于典型的"纯 MCP 接入型"集成插件。
前置条件:管理员必须先在 Navan 侧开启 MCP
在安装并连接插件之前,有一个关键的组织级前置条件:Navan 管理员必须先在组织中启用 MCP。操作路径为:
Navan → Configuration → Integrations → MCP,然后打开开关。
在管理员启用之前,任何 MCP 客户端的连接都会失败。这意味着该插件能否工作不仅取决于本地配置,还取决于组织在 Navan 侧的授权状态——这与后续 OAuth 授权、策略边界构成了完整的三层授权链路。
安装:插件市场搜索与 /add-plugin 两种方式
插件的安装入口在 Cursor 客户端内,与仓库中其他插件的安装方式一致,两种路径任选其一:
- 插件市场安装:打开 Cursor Settings → Plugins,搜索Navan,点击Install,随后完成 Navan SSO 登录提示即可。
- 命令安装:在聊天框直接运行
/add-plugin navan。
从仓库视角看,该插件通过 .cursor-plugin/marketplace.json 登记在市场索引中,插件清单本身遵循 schemas/plugin.schema.json 定义的 manifest 规范;scripts/validate-plugins.mjs 会在 CI 校验市场索引中的每个插件目录存在且plugin.json合法。第三方(third_party)插件在仓库中被统一组织在third_party/目录下,navan即其中之一。
MCP 配置:唯一的端点声明
插件的 MCP 配置完整保存在 mcp.json 中,内容如下:
{ "mcpServers": { "navan": { "type": "http", "url": "https://mcp.navan.com/mcp" } } }要点说明:
- server 名称为
navan,作为客户端侧引用该服务器的标识; - type 为
http,表示这是一个远程 HTTP MCP 服务器,而非本地进程(stdio)类型,客户端需要网络可达该端点; - url指向 Navan 官方托管的 MCP 端点
https://mcp.navan.com/mcp。注意:该端点由 Navan 官方运营,与插件本身是两套独立部署,插件的职责只是把客户端指向它。
这段配置与 README 中的内联示例完全一致,说明 README.md 与 mcp.json 是同一份配置事实的两处载体:前者面向用户阅读,后者是插件随附的实际配置文件。对于需要手动配置的客户端,可以直接复制上述 JSON 写入客户端侧的mcpServers配置。
认证机制:OAuth 2.0 + SSO,无需任何密钥
Navan MCP 的认证是本文最值得关注的设计之一——它完全不需要 API Key 或 Client ID:
- 认证协议为 OAuth 2.0,对接 Navan 标准的 SSO 登录体系;
- 第一次发起工具调用时,客户端会打开浏览器窗口,引导用户完成登录并批准所需 scope(范围授权);
- 会话在使用期间自动续期;
- 若距离上次认证超过100 天无活跃使用,或距认证时间超过365 天,需要重新登录。
这种"零配置密钥"的认证模型极大降低了插件的接入成本:用户不需要在 Cursor 或插件侧保存任何凭据,凭据的获取、刷新与失效管理全部由 OAuth 流程与 Navan 服务端处理。安装插件时看到的 SSO 登录提示(README 第 3 步)正是该流程的入口。
权限边界与安全模型
Navan MCP 的安全设计以"用户上下文"为边界,README 明确说明了以下行为约束:
- 工具调用运行在已登录用户的上下文与角色之下(Employee、Manager、Approver、Finance Admin 等),任何调用都不能超出该用户在 Navan 中的权限范围;
- 越权查询返回空结果:当用户无权查看某些数据时,返回空结果并附带
403_BY_POLICY注解,而不是泄露数据——这保证了"查询失败"与"数据不存在"在响应中可区分,且不产生数据泄露面; - 不可绕过治理:服务器不能绕过审批流程、政策规则或重复检测(duplicate detection),也无法提升权限;
- 全程审计:每一次工具调用都会记录在 Navan 的审计日志中,包含用户身份、客户端名称/版本、工具参数与响应状态。
这套模型意味着:Agent 的能力上限 = 登录用户的 Navan 权限上限。对财务管理员(Finance Admin)类角色,Agent 可覆盖更广的数据面;对普通员工,则仅能触达其自身授权范围内的数据,并且这一边界由服务端强制,而非依赖客户端自律。
使用建议与负载约束
README 对如何高效、合规地使用该插件给出了明确指引,值得作为实操准则:
- 控制载荷:调用时传具体的日期范围,只筛选自己需要的字段,避免全量拉取;
- 优先聚合工具:在钻取原始明细行之前,优先使用汇总类工具(例如
summarize_spend)获取概览; - 负载定位:Navan MCP 并非为高并发或定时(scheduled)批量任务设计,这类场景应改用 Navan 的 REST API。
这提示我们在提示词工程上做配合:例如让 Agent"先给我上个月的支出汇总",比"把所有费用记录逐条列出来"更符合该 MCP 的设计意图,也能显著降低响应延迟与审计噪音。
验证:一条提示词确认连接成功
插件连接是否正确,可以用一个最小化的实测来验证。连接完成后,向 Agent 提问:
"Use Navan to list my five most recent expenses."
如果连接正常,客户端会在几秒内返回结构化表格。如果出现权限提示(permission prompt),直接批准即可——这正是 Navan 的 scope 授权(scoped-consent)流程,属于预期行为而非故障。这个验证用例同时覆盖了"端点可达 + OAuth 完成 + 工具调用 + 数据返回"整条链路。
仓库中的工程化佐证
除了插件自身文档,仓库还提供了若干支撑该插件规范化的工程事实:
- .cursor-plugin/marketplace.json:以
source: "third_party/navan"登记插件,使市场可发现、可安装; - schemas/plugin.schema.json:定义了插件 manifest 的 JSON Schema,其中
mcpServers字段允许以字符串、内联对象或数组形式声明 MCP 服务器——mcp.json 正是"内联对象"形态的直接落地; - scripts/validate-plugins.mjs:批量校验市场索引与各插件 manifest,保证
third_party/navan这类目录在发布时满足 schema 约束; - LICENSE:该插件以 MIT 协议开源发布。
从源码结构看,可以推断:仓库对third_party/目录下的插件采用与一级插件相同的市场登记与校验流程,Navan 插件因此在可发现性、可安装性与格式合法性上都处于受管状态。
结语
Navan 插件 1.0.0 的发布本质上是"一行端点声明 + 一套 OAuth 认证 + 一份权限契约"的组合:它以远程 HTTP MCP 服务器(https://mcp.navan.com/mcp)为数据通道,以 SSO/OAuth 2.0 为身份层,以用户角色与策略注解为安全边界,让 Cursor 智能体在企业授权范围内完成费用、差旅、政策与卡片的查询分析。对使用者而言,记住三条即可:管理员先开 MCP、首次调用走 SSO 授权、优先用汇总工具控制载荷。
【免费下载链接】pluginsCursor plugin specification and official plugins项目地址: https://gitcode.com/GitHub_Trending/plugins125/plugins
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考