Composio
为 AI 应用接入带认证的工具、会话和运行时工具发现。
按维度查看评分与理由
证据显示工作流中明确设置了最小权限(contents: read),发布作业才提升权限,这是好的实践。但用户确认机制未见明确实现,数据流透明度仅部分描述(如会话、认证),敏感数据处理未详细说明,依赖安全有锁文件但未提及漏洞扫描,外部影响(如安装脚本)有说明但未深入,回滚机制未明确,来源归属有版权声明但发布者未验证。
自一致性较好,README、package.json、pyproject.toml 等文件相互印证,依赖可用性有锁文件和版本管理,但失败消息未在源码中体现,仅文档提及。
受众明确(开发者),场景多样(多种框架),能力边界有说明(工具集、会话),触发精度未明确,环境适配有 Node/Python 版本要求。
信息架构清晰(monorepo 布局),安装说明详细,命名稳定(包名一致),示例丰富,已知限制未明确列出,许可证为 MIT,版本管理有 changeset,维护责任有贡献指南。
输出可用性高(多种语言 SDK),边际价值明显(1000+ 工具),成本效益未明确说明(如定价)。
声明可追溯性一般,部分声明有文档支持,跨源佐证有限,事实与推断分离不明确。
- 发布者身份未验证,需谨慎对待供应链风险。
- 未发现明确的用户确认机制,工具执行可能缺乏人工审批。
- 敏感数据处理细节不足,需审查认证和密钥存储。
- 依赖安全未提及漏洞扫描,建议检查依赖版本。
这个 Agent 能做什么,适合哪些场景?
Composio 是一个 SDK 单体仓库,提供 TypeScript SDK、Python SDK、命令行工具和多种 Agent 框架适配器。开发者为每个用户创建 Composio 会话,再将该会话的工具交给 Agent 使用。默认会话通过元工具在运行时发现、认证并执行应用工具,避免一次性把大量工具定义放入上下文。会话还能暴露托管 MCP 端点,供 MCP 客户端连接。它的交付边界是嵌入应用或本地 shell 的 SDK/CLI;实际跨应用操作通过带有 COMPOSIO_API_KEY 的 Composio 会话发起。
应用先使用 new Composio({ provider: new OpenAIAgentsProvider() }) 或 Python 的 Composio(provider=OpenAIAgentsProvider()) 创建客户端,再以用户标识调用 composio.create("user_123") 或 composio.create(user_id="user_123") 建立会话。随后通过 session.tools() 取得可传给 Agent 的原生工具;默认元工具会在运行时搜索、认证并执行应用工具。调用方可保存 session.session_id,并通过 composio.use() 在后续轮次复用会话。若创建时传入 mcp: true,会话提供 session.mcp.url 托管 MCP 地址。命令行则提供 composio search、composio execute、composio link 和 composio run,分别用于查找工具、执行工具、连接账户和编写 TypeScript 工作流。
- 正在开发邮件助理的 TypeScript 团队,可为每位终端用户建立独立会话,把
session.tools()交给 OpenAI Agents 中的Agent。 - 使用 Python 构建自动化助手的开发者,可通过
composio-openai-agents将会话工具传给agents.Agent并使用Runner.run_sync执行请求。 - 希望让 Claude Code 在本地 shell 中调用连接服务的工程师,可安装 CLI,使用
composio link连接账户后搜索和执行工具。 - 使用 MCP 客户端的团队,可在创建会话时启用
mcp: true,并把session.mcp.url配置到 Claude、Cursor 或其他 MCP 客户端。 - 需要控制上下文中工具数量的 Agent 开发者,可利用默认元工具在运行时发现与执行工具,而非预加载大量工具定义。
这个 Agent 有哪些优点和局限?
- 同时提供 TypeScript、Python、MCP 和 CLI 入口,适合嵌入应用、接入 MCP 客户端或从 shell 编排工作流。
- 按用户创建会话并可复用
session.session_id,接口明确支持多用户 Agent 场景。 - 默认元工具在运行时完成工具发现、认证和执行,可减少预先加载大量工具定义的上下文负担。
- README 列出 OpenAI、Anthropic、Claude Agent SDK、LangChain、Vercel AI SDK 等多个框架适配器。
- 使用前需要获取并配置
COMPOSIO_API_KEY,并依赖 Composio 会话来取得工具与托管 MCP 地址。 - 不同框架需要选择并安装对应 provider 包;并非所有 provider 同时提供 TypeScript 与 Python 版本。
- TypeScript SDK 的测试目标是 Node 22+,Python SDK 要求 Python 3.10+,现有运行环境可能需要升级。
- 仓库说明应用工具可认证和执行,但未在所给材料中说明定价、账户授权的细粒度策略或失败重试行为。
如何安装或部署这个 Agent?
TypeScript:先从 Composio dashboard 获取 COMPOSIO_API_KEY,然后执行 npm install @composio/core @composio/openai-agents @openai/agents。Python:执行 pip install composio composio-openai-agents openai-agents。CLI:执行 curl -fsSL https://composio.dev/install | bash,再运行 composio login。TypeScript SDK 的测试目标为 Node 22+;Python SDK 支持 Python 3.10+。
如何使用这个 Agent?
TypeScript 的最小流程是:创建 const composio = new Composio({ provider: new OpenAIAgentsProvider() }),执行 const session = await composio.create("user_123") 和 const tools = await session.tools(),再将 tools 传给 new Agent({ name, instructions, tools }),最后用 run(agent, "Summarize my emails from today") 调用 Agent。Python 中对应地创建 Composio、调用 composio.create(user_id="user_123") 与 session.tools(),把结果传给 Agent,再以 Runner.run_sync 执行。需要 MCP 时,在 composio.create() 中传入 mcp: true,并使用 session.mcp.url。
这个 Agent 与同类方案有什么区别?
如果已使用 OpenAI Agents、Anthropic、Claude Agent SDK、Vercel AI SDK、LangChain、LangGraph 或 LlamaIndex,可选用相应 Composio provider,将同一会话工具转换为框架的原生工具格式;不想使用 provider 时,也可改用 MCP 连接方式。
常见问题
需要什么凭据?
COMPOSIO_API_KEY。能否避免把大量工具定义放进模型上下文?
能否用于 MCP 客户端?
mcp: true,然后使用 session.mcp.url;README 明确提到 Claude、Cursor 和其他 MCP 客户端。