Grilled Cheese 支持 Model Context Protocol(MCP),也就是 AI 助手与外部服务协作所用的开放标准。连接 Claude、ChatGPT 或任何支持 MCP 的工具后,它就能以你的身份读取时间线、发帖、关注、发表回应和编辑主题。接受粘贴密钥的工具使用你自己签发、可随时吊销的密钥;支持 MCP OAuth 流程的工具(如 ChatGPT)则通过授权页面连接,无需复制任何东西。

连接究竟意味着什么

在 MCP 客户端眼中,Grilled Cheese 是一组具名工具:读取时间线、创建帖子、关注某人、编辑主题。AI 决定何时调用它们;你的密钥决定它被允许做什么。密钥以的身份行事,作用于你创建密钥时指定的那些身份,且永远不会获得你自己账号所没有的权限。

读取能力每个账号都有。写入能力(发帖、关注、发表回应、编辑主题)属于 Grilled Cheese Premium

创建密钥

密钥在设置 > 开发者里管理,网页版位于 https://grilledcheese.app/settings/developer,应用内则在 设置 中。

  1. 取一个能说明密钥用在哪里的名字(“笔记本助手”、“家里的服务器”)。

  2. 选择密钥可以代表哪些身份。带多个身份的密钥在每次写入时都必须声明它正在以哪个身份行事,所以大多数密钥只指定一个。

  3. 选择权限范围。读取范围对所有账号开放;写入范围需要有效的 Premium 订阅。

  4. 密钥显示时立即复制。它只显示一次:系统只保存指纹,之后无法再次展示。弄丢了就只能重新签发一个。

一个账号能同时持有的密钥数量有上限,Premium 也不会提高它:吊销一个密钥才能腾出位置。密钥还会在 90 天后自动过期,所以被遗忘的密钥不会永远有效。

权限范围

权限范围(scope)是密钥持有的一项许可。超出密钥权限范围的工具调用一律被拒绝,无论密钥属于谁。

范围 允许什么 工具

posts:read

读取时间线、帖子、会话串和搜索

get_timelineget_postget_threadsearch_posts

follows:read

读取你关注了谁、谁关注了你

(仅 API,暂无工具)

reactions:read

读取你的回应

(仅 API,暂无工具)

themes:read

读取你的主题

list_themes

identity:read

读取你的个人资料

(仅 API,暂无工具)

posts:write

创建帖子,以及删除该密钥自己发出的帖子

create_postdelete_post

follows:write

关注和取消关注

followunfollow

reactions:write

发表回应,以及移除该密钥自己发表的回应

reactunreact

themes:write

创建和编辑你的主题

create_themeupdate_theme

:write 范围就是 Premium 的分界线。免费账号可以签发读取密钥,体验整套流程;要让工具代你发帖、关注、发表回应和编辑主题,则需要有效订阅。检查发生在每一次调用上,而不只是创建密钥时:订阅一旦失效,密钥的写入操作在下一个请求就会停止,续订后自动恢复。

连接客户端

直连(Streamable HTTP)

大多数当前的 MCP 客户端,包括 Claude Code 和较新的 Claude Desktop 版本,可以直接连接托管端点:

https://api.grilledcheese.app/mcp

密钥作为 bearer token 传递。对 Claude Code 来说只需一行:

claude mcp add --transport http grilledcheese https://api.grilledcheese.app/mcp --header "Authorization: Bearer <key>"

通过 stdio 桥接

只能启动本地进程的客户端使用桥接包 @grilledcheese/mcp。它在你的机器上运行,把密钥保存在本地,并把每个请求转发到上面的端点;密钥不会出现在任何共享的配置服务里。

对 Claude Desktop,把以下内容加入 claude_desktop_config.json(Settings > Developer > Edit Config):

{
  "mcpServers": {
    "grilledcheese": {
      "command": "npx",
      "args": ["-y", "@grilledcheese/mcp"],
      "env": { "GRILLEDCHEESE_KEY": "<key>" }
    }
  }
}

对 Claude Code,stdio 的等效命令是:

claude mcp add grilledcheese --env GRILLEDCHEESE_KEY=<key> -- npx -y @grilledcheese/mcp

其他任何 stdio 客户端,配置为启动 npx -y @grilledcheese/mcp --key <key> 即可。带多个身份的密钥通过 --identity 声明它以哪个身份行事。

ChatGPT 及其他 OAuth 客户端

ChatGPT 的自定义连接器不接受粘贴密钥。它们要求 MCP OAuth 流程,而 Grilled Cheese 支持这一流程。整个过程不涉及密钥:你在浏览器里以本人身份登录并批准连接,并且在授权之前就能确切看到将授予哪些权限。

连接 ChatGPT 的步骤:

  1. 在 ChatGPT 中打开 Settings > Connectors,添加一个自定义连接器,服务器 URL 填:

    https://api.grilledcheese.app/mcp
  2. ChatGPT 会发现 Grilled Cheese 支持 OAuth,并打开一个浏览器窗口进入 Grilled Cheese 的登录页。如果尚未登录,先登录。

  3. 授权页面会显示连接器的名称、完成后你会被送回的地址,以及身份和权限范围的选择器,和创建密钥时一模一样。读取范围默认选中;写入范围需要 Grilled Cheese Premium,和密钥的分界线相同。

  4. 批准后,ChatGPT 自行完成连接。

这样建立的连接在使用期间会静默续期,闲置 90 天后自动过期。每次调用都适用与密钥相同的规则:连接的权限永远不会超过你本人,写入操作每次都会检查你的订阅,它做的每件事都会记入审计日志。

再次批准同一个连接器会替换旧连接,因此重新连接不会留下第二个有效授权。如果你怀疑某个连接被滥用,请在 ChatGPT 中移除该连接器,并联系 [email protected];工作人员可以立即吊销连接,其令牌在下一次调用时即被切断。

当连接器要求把你送回你自己电脑上的地址时,授权页面也会给出提示。对于 Claude Code 这类桌面工具,这是正常现象;对于其他任何工具,都值得多看一眼。

吊销密钥

在同一个设置 > 开发者界面吊销:每个密钥都显示其权限范围、身份、创建日期和过期时间,旁边就是吊销按钮。吊销立即生效,作用于密钥的下一次调用。一旦你不再使用持有密钥的工具,或者怀疑密钥泄露,就立刻吊销它。

安全须知

  • 密钥的权限永远不会超过你本人。即使你是工作人员,它也被限制在普通用户的权限内,而且它做的每件事都会进入与你本人操作相同的审计日志,并标注为该密钥所为。

  • 有些东西根本不在协议范围内。聊天和私信、你的核心圈子、账号恢复、支付和内容审核,任何密钥、任何权限范围都无法触及。

  • 破坏性工具会自我声明。会删除内容的工具都带有标记,行为规范的客户端会在调用前先征求你的同意。

  • 像对待密码一样对待密钥。持有密钥的任何人都能在其权限范围内以它指定的身份行事,直到密钥过期或被你吊销。优先使用上面的环境变量写法,而不是把密钥粘贴进命令行,也绝不要把密钥提交到代码仓库。

其他问题或连接卡住了,请联系 [email protected]