用 Composio 给 AI 智能体一键接上 GitHub / Notion / Slack(1000+ 工具集成层)
你的 AI 智能体会聊天,但能不能让它真的去建一个 GitHub Issue、写一页 Notion、发一条 Slack 消息?过去每接一个 App,都要自己写 OAuth、管 token、处理限流和刷新——烦到劝退。2026 年兴起的 Composio 是一层「托管式工具集成」:一个 MCP 端点就能让 Agent 调 1000+ 应用,认证、令牌刷新、限流全部帮你托管。本教程手把手给 Claude / Cursor / 自研 Agent 接上这套工具层。
先搞懂:Composio 在 Agent 技术栈里的位置
用一句话理解:Composio 是 Agent 的「万能工具箱」——你不用自己买 1000 把螺丝刀,它把 1000+ 把都管好了,Agent 要用哪把直接拿。
| 如果你要…… | 自己写 | 用 Composio |
|---|---|---|
| 建 GitHub Issue | 研究 GitHub API + OAuth + token 刷新 | 一句话调用托管工具 |
| 写 Notion 页面 | 读 Notion API 文档 + 配权限 | 同一套 MCP 端点直接调 |
| 跨 5 个 App 协作 | 5 套集成各自维护 | 1 个 MCP 入口 + Tool Router 路由 |
它和 MCP 冲突吗?不冲突。Composio 本身就是通过 MCP Gateway 暴露的——它把 500+ toolkit 包装成一个标准 MCP Server,兼容 Claude、Cursor、Codex、Hermes、OpenClaw 等所有 MCP 客户端。你可以把它看成「开了会员的 MCP 全家桶」。
Step 1:注册并拿到 API Key
Composio 有免费档(每月 2 万次工具调用),个人练手完全够用:
1. 打开 composio.dev 注册(GitHub / Google 登录)
2. 进入 Dashboard,左侧「Settings / API Keys」
3. 创建一个 API Key,形如 cmp-xxxx,复制保存
4. (可选)设置环境变量,方便后面用:
export COMPOSIO_API_KEY="cmp-你的Key"
Step 2:装 SDK 并创建 Tool Router 会话
Composio 的核心是 Tool Router:一个 MCP Server,能跨所有 toolkit 搜索、认证、执行工具。用几行代码创建会话并拿到它的 MCP URL:
npm install @composio/core @ai-sdk/openai @ai-sdk/mcp
# 然后:
import { Composio } from '@composio/core';
const composio = new Composio({ apiKey: process.env.COMPOSIO_API_KEY });
const { mcp } = await composio.create('your-user-id');
console.log(mcp.url); // 这就是给 Agent 用的 MCP 端点
为什么用 Tool Router 而不是直接列 1000 个工具?因为把上千个原始 action 灌进 prompt 会爆上下文。Tool Router 让模型「先搜再调」——需要 GitHub 时临时检索出相关工具,干净又省 token。
Step 3:把 MCP 端点接给 Claude / Cursor
拿到 mcp.url 后,把它作为自定义 MCP Server 加进你的 Agent 客户端。以 Claude Desktop / Cursor 为例:
# 客户端 MCP 配置里加一项(JSON)
{
"mcpServers": {
"composio": {
"url": "https://mcp.composio.dev/你的会话ID",
"headers": { "x-api-key": "cmp-你的Key" }
}
}
}
# Cursor:Settings → MCP → Add → 填上面 URL
# Claude Desktop:config 里 mcpServers 段同上
Step 4:授权第一个 App(OAuth 交给它管)
第一次让 Agent 操作某个 App,需要你点头授权一次。Composio 会弹出官方 OAuth 流程,token 由它托管刷新,你的密码从不直接给 Agent:
# 在代码里触发连接(或直接对 Agent 说「连 Notion」)
const entity = await composio.getEntity('your-user-id');
const connection = await entity.initiateConnection('notion');
// 浏览器打开 connection.redirectUri 完成授权
// 之后 Agent 就能 create / update Notion 页面
# 或直接对 Agent 说:
"把这次对话的总结写成一页 Notion,放在我的工作区"
安全重点:Composio 支持细粒度权限——每个 toolkit 可单独授权、可限定只读。生产环境务必「最小授权」,别一把给全读写。
Step 5:跑一个跨 App 的真实例子
这是 Composio 官方最爱举的例子,也是最能体现价值的「跨 App 自动化」:
# 对 Agent 描述目标即可,工具调用由 Composio 路由执行
"监听 Slack 的 #bugs 频道,发现新 bug 就:
1) 在 GitHub 建一个 Issue
2) 在 Notion 的『Bug 日志』数据库写一条记录
3) 在 Slack 原线程回一句『已建 Issue #123』"
# Agent 内部会自动:
# search_composio_tools("github create issue")
# search_composio_tools("notion create page")
# 带着你的授权 token 依次执行,全程你不用写一行集成代码
Step 6:进阶——触发器与多账号
除了「你问它做」,还可以让外部事件自动触发:比如 GitHub 来了新 Issue、Slack 收到关键词消息,就自动拉起工作流。
# Composio 的 Triggers:订阅外部事件
# 例:每当 GitHub 新建 Issue,自动发 Slack 通知 + 写 Notion
# 在 Dashboard 或 SDK 里配置 trigger 即可,无需常驻轮询
# 多账号:工作/个人 Gmail 用 alias 区分
# 同一套工具层可绑定多个用户账户,Agent 调用时显式选择
什么时候不用 Composio?① 纯个人、只接 1 个 App,Claude 自带连接器就够了;② 非技术团队要无代码界面,可看 Zapier / Make;③ 需要浏览器自动化(无 API 的网站),配合 Browser Use 这类工具更合适。其余「让 Agent 动手操作 SaaS」场景,Composio 是目前最省心的选择。
常见问题速查
| 你遇到的现象 | 大概率原因 & 解决 |
|---|---|
| Agent 说「没有相关工具」 | 该 App 还没授权,先 initiateConnection 走一次 OAuth |
| 调用报 401 | COMPOSIO_API_KEY 错 / MCP header 没带 x-api-key |
| 只接了 1 个 App 用 Composio 值不值 | 单 App 用客户端原生连接器更轻,多 App 才显优势 |
| 想接没有的私有系统 | 可自建 MCP Server + Composio 共存,按场景混用 |