项目简介
Composio MCP 是一个为 AI Agent 提供生产级工具集的项目,旨在简化和加速 AI 应用的开发流程。它通过 Model Context Protocol (MCP) 框架,使得 AI Agent 能够轻松集成和利用各种外部工具与资源,从而扩展 Agent 的能力边界,提升任务执行的效率和准确性。Composio MCP 核心在于 'composio-core' 库,它作为一个 SDK,支持 Python 和 Javascript,可以方便地集成到多种 AI 框架中,如 Langchain、LlamaIndex、Autogen 等。
注意: Composio MCP 本身更像是一个 SDK 和工具集成框架,用于连接和使用 Composio 提供的 MCP 服务器,而不是一个独立的 MCP 服务器实现。Composio 提供了托管的 MCP 服务器服务 (mcp.composio.dev),此仓库的代码主要是帮助开发者构建 MCP 客户端,并利用 Composio 平台提供的工具和服务。
主要功能点
- 丰富的工具库: 支持 250+ 工具,覆盖软件工具、操作系统工具和搜索能力,例如 GitHub, Notion, Gmail, Google Search 等。
- 广泛的框架支持: 兼容 OpenAI, Claude, LlamaIndex, Langchain, CrewAI, Autogen, Gemini 等主流 AI 框架,方便开发者在熟悉的框架中使用 Composio 工具。
- 托管认证: 提供多种认证方式 (OAuth, API Keys, Basic JWT),简化安全管理。
- 优化的工具调用: 通过优化的设计,提高工具调用的准确率。
- 灵活的架构: 支持自定义工具和扩展,方便用户根据自身需求进行功能扩展。
- 多语言 SDK: 提供 Python 和 Javascript SDK,满足不同开发者的需求。
安装步骤
-
Python SDK 安装:
pip install composio-core如果需要 साथ OpenAI 插件,可以使用以下命令安装:
pip install composio-openai -
Javascript SDK 安装:
npm install composio-core
服务器配置
Composio MCP 工具集主要作为客户端 SDK 使用,开发者通常不需要自行搭建 MCP 服务器。Composio 提供了托管的 MCP 服务器服务,开发者可以通过 SDK 连接到 Composio 的 MCP 服务器来使用工具和服务。
对于 MCP 客户端(例如使用 Composio SDK 构建的 AI Agent),需要配置连接到 MCP 服务器的信息。虽然此仓库本身不直接提供可独立运行的 MCP 服务器配置,但为了连接 Composio 提供的 MCP 服务,通常需要配置 API 密钥等信息。
MCP 客户端配置示例 (JSON 格式,非服务器配置):
{ "server name": "Composio MCP Server", "description": "连接到 Composio 托管的 MCP 服务器", "command": "N/A", // SDK 客户端连接,无需本地服务器启动命令 "args": [], // SDK 客户端连接,无需本地服务器启动参数 "connection_type": "API Key", // 连接类型,例如 API 密钥 "api_key": "YOUR_COMPOSIO_API_KEY" // 你的 Composio API 密钥 // 其他可能的配置,例如服务器端点 (如果需要自定义) }
请注意: 上述 JSON 配置并非用于启动一个独立的 MCP 服务器,而是为了在 MCP 客户端 (例如使用 Composio SDK 构建的 Agent) 中配置连接 Composio 托管的 MCP 服务器所需的信息,例如 API 密钥。 实际的 MCP 服务器由 Composio 平台托管和维护。
基本使用方法
以下 Python 代码示例展示了如何使用 Composio SDK 获取 GitHub 工具并执行操作:
from openai import OpenAI from composio_openai import ComposioToolSet, Action openai_client = OpenAI() # 假设已配置 OpenAI API Key # 初始化 Composio 工具集 composio_tool_set = ComposioToolSet() # 获取 GitHub 工具 (例如 Star 仓库操作) actions = composio_tool_set.get_actions( actions=[Action.GITHUB_STAR_A_REPOSITORY_FOR_THE_AUTHENTICATED_USER] ) my_task = "Star a repo composiodev/composio on GitHub" # 使用 OpenAI Assistant (示例) assistant = openai_client.beta.assistants.create( name="GitHub Assistant", instructions="You are a GitHub assistant.", model="gpt-4-turbo", tools=actions, ) thread = openai_client.beta.threads.create() message = openai_client.beta.threads.messages.create( thread_id=thread.id, role="user", content=my_task ) run = openai_client.beta.threads.runs.create( thread_id=thread.id, assistant_id=assistant.id ) # 执行工具调用并获取响应 response_after_tool_calls = composio_tool_set.wait_and_handle_assistant_tool_calls( client=openai_client, run=run, thread=thread, ) print(response_after_tool_calls)
关键步骤:
- 安装 SDK: 根据使用的语言 (Python 或 Javascript) 安装 'composio-core'。
- 初始化 'ComposioToolSet': 创建 'ComposioToolSet' 实例。
- 获取工具: 使用 'get_tools' 或 'get_actions' 方法,根据 App 或 Action 类型获取所需的工具列表。
- 集成到 AI 框架: 将获取的工具集成到您选择的 AI 框架 (例如 Langchain, LlamaIndex, OpenAI Assistant) 中。
- 执行任务: 通过 AI 框架调用 Composio 提供的工具,完成各种任务。
更详细的使用方法和示例,请参考 Composio 官方文档。
信息
分类
开发者工具