Composio: SDK tích hợp công cụ cho AI agent
Composio là SDK và CLI giúp AI agent có sẵn quyền truy cập đã xác thực vào hơn 1.000 bộ công cụ bên ngoài, khỏi phải tự viết luồng OAuth và bộ bao API. Hãy dùng khi agent cần thực sự hành động trên ứng dụng bên thứ ba — gửi email, cập nhật CRM, tạo ticket — mà không muốn tự xây phần xác thực. Bỏ qua nếu chỉ cần vài công cụ đã tự bao sẵn; mô hình session của Composio là phần thừa không cần thiết trong trường hợp đó.
Composio cung cấp gì cho AI Agent
Composio là lớp tích hợp công cụ cho AI agent, phát hành dưới dạng SDK TypeScript (`@composio/core`), SDK Python (`composio`), và một CLI độc lập, tất cả từ cùng một monorepo. Composio xác thực và cung cấp hơn 1.000 bộ công cụ ứng dụng bên ngoài cho agent qua các session theo từng người dùng, rồi giao chúng cho framework bạn đang dùng qua các provider adapter cho OpenAI Agents, Claude Agent SDK, LangChain và nhiều framework khác trong README.
Năng lực cốt lõi cho Agentic AI
- ✓Session theo từng người dùng: `composio.create("user_123")` giới hạn quyền truy cập công cụ, xác thực và tài khoản đã kết nối cho một người dùng; bạn lưu `session.session_id` để dùng lại qua các lượt sau mà không cần xác thực lại.
- ✓Meta tools theo mặc định: một session đi kèm các meta tool để khám phá, xác thực và thực thi công cụ ứng dụng ngay khi chạy, nên agent không phải nạp sẵn hàng trăm định nghĩa công cụ từ đầu.
- ✓Provider adapter cho OpenAI, OpenAI Agents, Anthropic, Claude Agent SDK, Vercel AI SDK, Google GenAI, Google ADK, LangChain, LangGraph, LlamaIndex, Mastra, Cloudflare Workers AI, CrewAI và AutoGen — mỗi adapter chuyển định dạng công cụ của Composio sang định dạng gốc của framework đó.
- ✓Endpoint MCP cho mỗi session: truyền `mcp: true` vào `composio.create()` rồi trỏ một MCP client như Claude hoặc Cursor tới `session.mcp.url` thay vì phải nối dây qua provider adapter.
- ✓CLI để viết script: `composio search`, `composio execute`, `composio link` và `composio run` giúp bạn tìm, chạy, kết nối và viết script công cụ ngay từ terminal — hữu ích cho các coding agent như Claude Code cần một bề mặt công cụ cục bộ.
- ✓Gói `@composio/slim`: cùng API với `@composio/core` nhưng không kèm mã nguồn TypeScript và tài liệu SDK đóng gói sẵn, dùng khi bạn muốn bản cài đặt nhẹ hơn.
Bắt đầu với Composio SDK
TypeScript: `npm install @composio/core @composio/openai-agents @openai/agents` (đổi gói provider sang framework bạn đang dùng). Python: `pip install composio composio-openai-agents openai-agents`. Dù dùng ngôn ngữ nào, bạn cũng cần một `COMPOSIO_API_KEY` lấy từ dashboard của Composio trước khi gọi lần đầu. CLI cài riêng: `curl -fsSL https://composio.dev/install | sh`, sau đó mở terminal mới và chạy `composio login`; file INSTALL.md có ghi các tùy chỉnh shell như `COMPOSIO_INSTALL_SHELL=none` cho những lần chỉ cần cài đặt. SDK TypeScript được kiểm thử trên Node 22 trở lên, còn SDK Python hỗ trợ Python 3.10 trở lên.
Tích hợp công cụ vào AI Agent của bạn
Cách dùng giống nhau ở cả hai SDK: khởi tạo `Composio` với một provider, tạo session gắn với một người dùng (`composio.create("user_123")`), rồi lấy các tool của session đó đưa vào đối tượng agent trước khi chạy. Trong quickstart TypeScript, một `Agent` của OpenAI Agents nhận `tools` từ `session.tools()`, sau đó `run(agent, "Summarize my emails from today")` chạy với các bộ công cụ đã được xác thực sẵn. Quickstart Python làm y hệt với `Runner.run_sync`. Nếu không muốn dùng provider adapter, bạn có thể đặt `mcp: true` trong `composio.create()` rồi đưa `session.mcp.url` cho bất kỳ MCP client nào.
Điểm mạnh
- ✓Một session object xử lý cả khám phá, xác thực và thực thi cho hơn 1.000 bộ công cụ, giúp giảm nhiều phần code wrapper cho từng API mà một lớp tích hợp tự viết tay sẽ cần.
- ✓Meta tools giúp agent không bị nạp sẵn hàng trăm schema công cụ ngay từ đầu — công cụ được khám phá và xác thực ngay khi chạy.
- ✓Provider adapter phủ khá rộng các framework (OpenAI Agents, Claude Agent SDK, LangChain, LangGraph, LlamaIndex, Mastra, CrewAI, AutoGen và nhiều hơn), nên đổi framework không nhất thiết phải nối dây lại phần truy cập công cụ.
- ✓Cấp phép MIT, và CLI cho coding agent một bề mặt tool cục bộ có thể viết script mà không cần bất kỳ provider adapter nào.
Cân nhắc khi triển khai và tích hợp
- △Bạn xin thông tin xác thực `COMPOSIO_API_KEY` qua dashboard do chính Composio host, nên lớp xác thực và session không phải thứ bạn có thể tự host hay kiểm toán toàn bộ chỉ từ mã nguồn trong repo.
- △Provider Pi được phát hành từ `@composio/experimental` và chính README cũng ghi rõ đây là experimental — nên xem mọi hỗ trợ framework ngoài danh sách chính theo cách tương tự cho đến khi nó được chính thức hóa.
- △`@composio/core` chủ động đóng gói cả mã nguồn TypeScript lẫn tài liệu SDK vào gói cài đặt; điều này hữu ích khi một coding agent cần đọc gói, nhưng đồng nghĩa bản cài đặt nặng hơn trừ khi bạn chuyển sang `@composio/slim`.
- △Độ phủ provider không đối xứng giữa hai ngôn ngữ — Vercel AI SDK và Mastra chỉ có ở TypeScript, còn Google ADK, CrewAI và AutoGen chỉ có ở Python, nên lựa chọn ngôn ngữ của bạn sẽ giới hạn framework nào có thể adapter trực tiếp.
Giải pháp thay thế Composio cho công cụ agent
Câu hỏi thường gặp về Composio
Composio phát hành dưới dạng SDK monorepo với hai SDK chính: gói TypeScript (`@composio/core`) được kiểm thử trên Node 22 trở lên, và gói Python (`composio`) hỗ trợ Python 3.10 trở lên.
Composio được phát hành theo giấy phép MIT, theo file LICENSE trong repository.
Composio hỗ trợ OpenAI agents qua hai provider adapter riêng: `@composio/openai` và `@composio/openai-agents` ở TypeScript, cùng `composio-openai` và `composio-openai-agents` ở Python.
Composio có một CLI độc lập, cài bằng `curl -fsSL https://composio.dev/install | sh`, dùng để chạy `composio search`, `composio execute`, `composio link` và `composio run` ngay từ terminal.
Composio gắn mỗi session với một người dùng qua `composio.create("user_123")`, và session đó tự mang theo phần khám phá công cụ, xác thực và tài khoản đã kết nối; bạn lưu lại `session.session_id` để dùng lại ở các lượt sau.
Giấy phép MIT của Composio cho phép sử dụng thương mại, tuy nhiên API key và hạ tầng session vẫn chạy qua dashboard do chính Composio host, chứ không phải một stack tự host hoàn toàn.
Vấn đề mà Composio giải quyết
Kết nối một AI agent để thực sự hành động trên nhiều ứng dụng bên ngoài đòi hỏi viết luồng OAuth, lưu trữ thông tin xác thực theo từng người dùng, và tự dựng schema function-calling cho từng API — lặp lại cho mỗi dịch vụ trong số hơn 1.000 dịch vụ mà một agent tổng quát có thể cần chạm tới. Composio gom phần xác thực và định nghĩa công cụ đó vào một session object duy nhất, thay vì một file wrapper cho mỗi API.
Trường hợp sử dụng tốt nhất
- •Một agent hỗ trợ khách hàng đọc hộp thư của người dùng và soạn phản hồi: tạo session theo từng người dùng, giao tool của session cho agent OpenAI Agents hoặc Claude Agent SDK, rồi để agent gọi thẳng bộ công cụ email.
- •Một coding agent (Claude Code, Cursor) cần một bề mặt tool cục bộ trên shell: cài CLI rồi chạy `composio search` / `composio execute` thay vì tự viết wrapper cho từng tool.
- •Một nhóm dùng nhiều framework muốn đổi framework agent mà không viết lại phần tích hợp công cụ: các provider adapter (LangChain, LlamaIndex, CrewAI, Mastra và nhiều hơn) đều nằm trên cùng lớp session và toolkit.
- •Một workflow ưu tiên MCP: trỏ Claude, Cursor hoặc bất kỳ MCP client nào tới `session.mcp.url` của một session thay vì phải dựng provider adapter.
Nên dùng — và nên bỏ qua khi nào
Hãy dùng Composio nếu bạn đang xây một agent cần gọi nhiều dịch vụ bên ngoài và không muốn tự xử lý OAuth cùng schema tool cho từng API — mô hình session và provider adapter làm sẵn phần đó. Bỏ qua nếu agent của bạn chỉ chạm tới một hoặc hai API đã tự bao sẵn, hoặc nếu việc dẫn xác thực qua dashboard do Composio host không đáp ứng được yêu cầu tuân thủ của bạn; lúc đó tích hợp trực tiếp hoặc một MCP server tự host sẽ cho bạn nhiều quyền kiểm soát hơn.
