夜雨聆风学习资料网

ARTICLE · 1117190

让 AI 发一篇博客 看懂 API MCP 和 OAuth

让 AI 发一篇博客 看懂 API MCP 和 OAuth

给自己的博客接上 AI 发布能力时,我碰到一个看起来矛盾的情况:网站的发布 API 已经能用,AI 助手却不能沿用我把密钥粘进对话的那条路。后来接入 MCP 插件,查询状态、读取文章和发布文章才通过产品支持的工具通道跑起来。

卡点在产品处理凭证的规则。API 本身已经可用,换一个被允许的调用通道,事情就继续往前了。

这次接入的具体过程,记在了给博客装上 MCP 发布链路那篇里。这里想顺着它,讲清几个常见问题:API 和 MCP 有什么区别?装了插件为什么还要授权?OAuth 又在管什么?把同一篇文章怎样发出去看一遍,这些词就容易分清了。

▍API 告诉程序怎样办事

人发博客,会打开后台,填标题、贴正文,再点发布。程序没有必要模仿这一串点击。网站可以提供一个 API,让它按约定交上标题和正文,后台完成保存,返回文章地址。

可以把 API 想成软件的办事窗口:能办什么、材料怎么交、结果怎么返回,都有约定。窗口不要求调用者一定是 AI,普通脚本、手机应用也能用。

API 的范围其实很广,本地软件之间也有 API。博客发布这里说的是网络接口。REST 是一种常见的接口设计风格,通常通过 HTTP 通信。日常说“调一个 REST API”,可以先理解为程序按规则向一个网址发请求。

具体到发布,开发者仍要弄清网址、字段和错误处理。每接一家服务,都可能有一套不同的约定。

▍MCP 让 AI 应用用同一种方式找工具

MCP 的全称是 Model Context Protocol,是连接 AI 应用和外部系统的开放协议。沿用办事窗口的比喻,它像一份格式统一、机器能读的办事菜单,再配上一套统一的调用规则。

比如博客的 MCP 服务可以列出“查询状态”“读取文章”“发布文章”。每个工具说明自己做什么,参数里哪些是标题、正文,哪些必须填写。AI 应用先取得这些说明,模型据此选择工具、组织参数,再由应用发起调用。

MCP 统一了发现工具、描述参数和交换结果的方式。开发者仍要把具体功能接好,模型也仍可能选错工具、填错内容。

图 1  同一套博客能力可以有不同的调用路径。箭头表示请求与结果,图中省略了授权检查。

常见做法是在已有 API 外面增加 MCP 服务,原来的发布功能继续工作。但 MCP 也可以直接连接文件、数据库或本地程序,并不总要包一层网络 API。反过来,开发者也能让 AI 应用直接调用 API,接 MCP 并非必经步骤。

此外,MCP 服务还能提供资源和提示模板,例如可读取的文档、可复用的工作指引。工具只是其中一种能力。官方架构说明把这些职责分得很清楚:AI 应用管理连接和用户许可,MCP 服务提供具体能力。

▍OAuth 管的是允许谁代办什么

菜单上写着“发布文章”,不代表任何人都能发布。接口还要检查调用者有没有权限。

密码、API Key 和 OAuth 经常一起出现,却不是同一种东西。密码通常用于账户登录;API Key 是服务发给程序使用的一类凭证,具体权限取决于服务怎么设计。OAuth 则是一套授权机制,让一个应用在限定范围内代表用户访问服务。

仍用办事的比喻:OAuth 帮你给代办应用发一张有限权限的通行证。应用拿到的是访问令牌,不必拿走你的账户密码。授权范围可以只读,也可以允许写入;能否细分、怎样撤销,要看服务的实现。

在一种常见的 OAuth 流程中,你到授权页面确认权限,应用取得访问令牌,再把它带到请求里。服务端检查令牌和权限后才执行。这套机制既能配合普通 API,也能配合 MCP。OpenAI 的 MCP 授权文档就展示了由应用完成授权、携带令牌调用服务的做法。

图 2  OAuth 的简化示意,省略了授权码交换等细节;不代表本站插件采用了这套实现。

MCP 并非一律要求 OAuth。公开数据可能无需账户授权,本地工具也可能采用其他凭证方式,具体还受宿主产品的要求影响。MCP 授权规范对此有单独说明。至于这次博客插件,我没有核实它内部采用哪种授权实现,不能凭“连接成功”就认定用了 OAuth。

▍插件是入口 工具是具体动作

用户看到的“插件”或“集成”,通常是产品把外部能力打包、安装和连接的入口。底下可能用 MCP,也可能采用其他方案。

“工具”则更具体:读取一篇文章是一个工具,发布文章是另一个。装好插件,只表示这些能力可以被接入;某个动作是否可用,还要看连接状态、服务权限和用户是否允许。

因此,安全也不能只靠一个 MCP 标签。凭证应由应用或服务的安全配置管理,避免混进模型生成的普通工具参数。服务端仍要核验权限、检查输入,只开放必要能力;对发布、删除等有后果的动作,还需要适当的人工确认。MCP 工具规范同样强调用户应能看见并拒绝工具调用。

回到发博客这件小事:API 让网站具备可调用的发布能力;MCP 让 AI 应用按统一规则发现并使用它;OAuth 是管理委托权限的一种办法;插件把接入入口呈现给用户。

以后看到一个产品说“支持 MCP”,可以接着问:它开放了哪些工具?能读什么、能改什么?凭证由谁保管?发错了能否撤回?这些答案,比多记一个缩写更有用。

相关学习资料