mcp-composio

Composio MCP is a server implementation of the Model Context Protocol (MCP), which standardizes how AI models connect to external tools and data sources. Developers can easily integrate with over 250 external services without complex setups, providing a highly available environment. This significantly simplifies the integration of AI systems.

GitHub Stars

0

User Rating

Not Rated

Favorites

0

Views

57

Forks

0

Issues

0

README
Composio MCP Server 完整使用指南
目录
什么是 MCP (Model Context Protocol)

Model Context Protocol (MCP) 是由 Anthropic 开发的开放标准协议,旨在帮助 AI 模型(特别是大型语言模型)连接外部数据源和工具。

MCP 的核心概念

把 MCP 想象成 AI 的"USB-C 接口" - 它提供了一个标准化的方式让 AI 系统访问外部工具和数据,而不需要为每个服务单独编写集成代码。

MCP 与传统 API 的区别
特性 传统 API MCP
通信方式 单向请求-响应 双向动态通信
标准化 每个 API 不同 统一标准接口
维护复杂度 每个集成需要单独维护 写一次,所有 AI 系统都能使用
智能程度 静态集成 支持上下文感知和动态操作
Composio MCP 简介

Composio MCP 是一个全面管理的 MCP 服务器实现,让开发者可以轻松地将 AI 代理与 250+ 外部工具、服务器和 API 连接,仅需一行代码。

官方网站
核心特性
🔧 统一 API 接口
  • 通过单一、一致的 API 协议访问多个服务
  • 支持 250+ 预构建工具和服务
  • 20,000+ 预构建 API 操作
🔐 内置认证支持
  • OAuth 2.0
  • API 密钥
  • JWT (JSON Web Tokens)
  • 基本认证 (Basic Auth)
  • 无需创建自己的登录系统
⚡ 全托管服务器
  • 消除复杂设置的需要
  • 自动处理基础设施
  • 高可用性和可扩展性
  • 实时状态监控:status.composio.dev
🎯 高精度工具调用
  • AI 代理与集成应用的流畅交互
  • 减少停机时间
  • 更少的维护问题
系统架构
MCP 架构组件
┌─────────────────┐    ┌─────────────────┐    ┌─────────────────┐
│   MCP 主机       │    │   MCP 客户端     │    │   MCP 服务器     │
│ (Claude/Cursor)  │◄──►│   (协议桥接)     │◄──►│  (Composio)     │
└─────────────────┘    └─────────────────┘    └─────────────────┘
                                                        │
                                               ┌─────────────────┐
                                               │   外部服务       │
                                               │ (Gmail/Slack/   │
                                               │  GitHub/...)    │
                                               └─────────────────┘
核心组件说明
  1. MCP 主机 (Hosts): 需要访问外部数据或工具的应用程序

    • Claude Desktop
    • Cursor IDE
    • Windsurf
    • 其他 AI 驱动的应用
  2. MCP 客户端 (Clients): 维护与 MCP 服务器的一对一连接的协议客户端

  3. MCP 服务器 (Servers): 通过 MCP 暴露特定功能的轻量级服务器

    • 连接到本地或远程数据源
    • 提供标准化的工具和资源接口
  4. 传输层:

    • Stdio 传输: 用于本地运行的服务器
    • SSE (Server-Sent Events): 用于远程部署的服务器
快速开始
前置要求
  • Node.js 16+ (确保 npx 可用)
  • Composio API 密钥 (从 Composio Dashboard 获取)
  • 支持的 MCP 客户端 (Cursor/Claude/Windsurf)
5 步快速集成
步骤 1: 访问 Composio MCP 网站

前往 https://mcp.composio.dev/

步骤 2: 选择所需工具
  • 浏览可用的 MCP 服务器列表
  • 选择你需要的工具/服务器
  • 查看工具描述和兼容性
步骤 3: 生成安装命令
  • 在选定工具页面的"Installation Steps"部分点击"Generate"
  • 复制生成的 URL(包含私有信息)
  • 查看"Available Actions"部分了解所有可用功能
步骤 4: 配置客户端
对于 Cursor:
npx @composio/mcp@latest setup "https://mcp.composio.dev/[tool]/[your-private-key]" --client cursor
对于其他客户端:
  • 类型: 选择 "sse"
  • 服务器 URL: 粘贴复制的 URL
步骤 5: 测试集成

在客户端中测试功能,例如:

发送邮件到 test@example.com,主题为"MCP 测试"
支持的客户端
Cursor IDE
  • 平台: Windows, macOS, Linux
  • 配置路径: File → Preferences → Cursor Settings → MCP → Add New Server
  • 命令面板: Ctrl + Shift + P → 搜索 "cursor settings"
Claude Desktop
  • 平台: macOS
  • 配置: 通过配置文件设置
Windsurf
  • 平台: macOS, Linux
  • 注意: Windows 支持即将推出
其他兼容客户端
  • OpenAI Agents SDK
  • 自定义 MCP 客户端
安装配置
方法 1: 使用 npx 命令 (推荐)
# 通用安装命令格式
npx @composio/mcp@latest setup "https://mcp.composio.dev/[service]/[api-key]" --client [client-name]

# 示例:安装 Gmail MCP 服务器到 Cursor
npx @composio/mcp@latest setup "https://mcp.composio.dev/gmail/your-api-key-here" --client cursor

# 示例:安装 Linear MCP 服务器到 Cursor
npx @composio/mcp@latest setup "https://mcp.composio.dev/linear/your-api-key-here" --client cursor
方法 2: 手动配置
Cursor 手动配置
  1. 打开 Cursor
  2. 使用 Ctrl + Shift + P 打开命令面板
  3. 搜索 "cursor settings"
  4. 在侧边栏找到 MCP 选项
  5. 点击 "Add New Server"
  6. 填写配置:
    • 名称: 自定义服务器名称
    • 类型: sse
    • URL: 从 Composio 生成的 SSE URL
配置文件位置选择

你可以将配置放在两个位置之一:

  1. 项目特定配置: 在项目目录中创建 .cursorrules 文件

    {
      "mcp": {
        "servers": {
          "composio-gmail": {
            "command": "npx",
            "args": ["@composio/mcp@latest", "server", "--url", "your-sse-url"]
          }
        }
      }
    }
    
  2. 全局配置: 在用户配置目录中设置全局 MCP 服务器

认证设置
认证方式

Composio MCP 支持多种认证方式:

1. OAuth 2.0 (推荐)
# 启动带 OAuth 的服务器
npx @composio/mcp@latest setup "https://mcp.composio.dev/gmail/oauth-key" --client cursor

认证流程:

  1. 在客户端中发起连接:"create a connection with Gmail"
  2. 系统生成认证 URL
  3. 在浏览器中完成 OAuth 流程
  4. 返回客户端确认连接状态
2. API 密钥
# 使用 API 密钥的服务器
npx @composio/mcp@latest setup "https://mcp.composio.dev/github/api-key-here" --client cursor
3. JWT 令牌

适用于企业级集成和自定义认证系统。

4. 基本认证

用于简单的用户名/密码认证场景。

高级认证配置
包含 Composio 辅助操作
# 启用辅助操作,让代理引导用户完成认证
npx @composio/mcp@latest setup "https://mcp.composio.dev/slack/key?include_composio_helper_actions=true" --client cursor
自定义认证体验
  • 提供自己的 OAuth 凭据
  • 自定义同意屏幕
  • 品牌化认证流程

更多详细信息:

常用集成示例
1. Gmail 集成
安装
npx @composio/mcp@latest setup "https://mcp.composio.dev/gmail/your-key" --client cursor
使用示例
# 发送邮件
发送邮件到 john@example.com,主题为"会议安排",内容为"明天下午2点会议室A见面"

# 搜索邮件
搜索来自 boss@company.com 的邮件

# 创建草稿
创建一封邮件草稿,收件人是 team@company.com,主题是"周报总结"
可用功能
  • 发送邮件
  • 获取附件
  • 创建邮件草稿
  • 修改线程标签
  • 回复邮件线程
  • 获取联系人
  • 删除消息
  • 移至垃圾箱
  • 搜索联系人
2. Linear 项目管理集成
安装
npx @composio/mcp@latest setup "https://mcp.composio.dev/linear/your-key" --client cursor
使用示例
# 创建任务
在 Linear 中创建一个新任务:"优化登录页面性能",优先级为高

# 更新任务状态
将任务 #123 的状态更新为"进行中"

# 搜索问题
搜索标签为"bug"的所有 Linear 问题
3. Slack 集成
安装
npx @composio/mcp@latest setup "https://mcp.composio.dev/slack/your-key" --client cursor
使用示例
# 发送消息
在 #general 频道发送消息:"项目部署完成"

# 创建频道
创建一个名为"新项目讨论"的新 Slack 频道

# 搜索消息
搜索包含"部署"关键词的消息
4. GitHub 集成
安装
npx @composio/mcp@latest setup "https://mcp.composio.dev/github/your-key" --client cursor
使用示例
# 创建仓库
创建一个名为"新项目"的公共 GitHub 仓库

# 创建 Issue
在 my-repo 中创建一个 Issue:"修复登录 bug"

# 创建 Pull Request
为 feature-branch 创建一个 PR 到 main 分支
5. 多服务器综合使用案例
场景:项目管理工作流
# 从 Linear 创建任务并同步到 Slack
1. 在 Linear 中创建高优先级任务:"网站性能优化"
2. 在 #dev-team Slack 频道通知团队新任务已创建
3. 发送邮件给项目经理,包含任务详情
高级用法
创建自定义 MCP 服务器
基本服务器结构
# Python 示例
from mcp import McpServer, Tool, Resource
import asyncio

# 创建服务器实例
server = McpServer("my-custom-server")

# 定义工具
@server.tool("calculate_sum")
async def calculate_sum(a: int, b: int) -> int:
    """计算两个数的和"""
    return a + b

# 定义资源
@server.resource("user_preferences")
async def get_user_preferences() -> str:
    """获取用户偏好设置"""
    return "用户偏好数据"

# 启动服务器
if __name__ == "__main__":
    server.run()
TypeScript 示例
import { McpServer } from '@mcp/server';

const server = new McpServer('my-ts-server');

// 注册工具
server.registerTool({
  name: 'get_weather',
  description: '获取天气信息',
  parameters: {
    type: 'object',
    properties: {
      city: { type: 'string', description: '城市名称' }
    },
    required: ['city']
  },
  handler: async (params) => {
    const { city } = params;
    // 实现天气查询逻辑
    return `${city} 的天气是晴天`;
  }
});

server.start();
MCP Inspector 调试工具

MCP Inspector 是一个 GUI 工具,用于测试自定义 MCP 服务器而无需集成到 LLM/AI 代理中。

安装和使用
# 安装 MCP Inspector
npm install -g @mcp/inspector

# 启动 Inspector
mcp-inspector

# 连接到你的服务器
# 访问显示的 localhost URL
调试步骤
  1. 启动你的 MCP 服务器
  2. 在 Inspector 中连接到服务器
  3. 测试资源功能
  4. 测试工具调用
  5. 验证响应格式
故障排除
常见问题和解决方案
1. 连接失败

问题: 无法连接到 MCP 服务器

解决方案:

# 检查 Node.js 版本
node --version  # 应该是 16+

# 检查 npx 是否可用
npx --version

# 重新安装服务器
npx @composio/mcp@latest setup "your-url" --client cursor --force

# 重启电脑(如果仍然无法连接)
2. 认证失败

问题: OAuth 认证流程失败

解决方案:

# 检查 API 密钥是否有效
curl -H "Authorization: Bearer your-api-key" https://api.composio.dev/v1/auth/verify

# 重新生成认证 URL
# 在客户端中执行: "create a connection with [service-name]"

# 清除缓存的认证信息
rm -rf ~/.composio/cache
3. 工具调用失败

问题: AI 代理无法正确调用 MCP 工具

解决方案:

# 检查服务器状态
curl https://status.composio.dev/api/v2/status.json

# 验证工具权限
# 确保在 Composio Dashboard 中启用了所需的权限

# 测试工具是否在列表中
# 在客户端问: "列出所有可用的工具"
最佳实践
1. 安全性最佳实践
API 密钥管理
# 使用环境变量存储敏感信息
export COMPOSIO_API_KEY="your-key"
export GMAIL_CLIENT_SECRET="your-secret"

# 不要在代码中硬编码密钥
# ❌ 错误做法
# const apiKey = "sk-1234567890abcdef"

# ✅ 正确做法
const apiKey = process.env.COMPOSIO_API_KEY;
权限最小化原则
{
  "permissions": {
    "gmail": ["read", "send"],
    "linear": ["read", "create_issue"]
  }
}
2. 性能优化
缓存策略
# 启用本地缓存
export MCP_CACHE_TTL=3600  # 1小时缓存

# 使用连接池
export MCP_CONNECTION_POOL_SIZE=10
3. 错误处理
健壮的错误处理
import asyncio
from typing import Optional

async def safe_mcp_call(tool_name: str, params: dict) -> Optional[dict]:
    """安全的 MCP 工具调用,包含重试机制"""
    max_retries = 3
    for attempt in range(max_retries):
        try:
            result = await mcp_client.call_tool(tool_name, params)
            return result
        except Exception as e:
            if attempt == max_retries - 1:
                logger.error(f"MCP call failed after {max_retries} attempts: {e}")
                return None
            await asyncio.sleep(2 ** attempt)  # 指数退避
支持的服务列表
通信工具
  • Slack - 消息发送、频道管理、文件共享
  • Discord - 服务器管理、消息操作
  • Microsoft Teams - 团队协作、会议安排
  • Telegram - 机器人集成、消息处理
邮件服务
  • Gmail - 邮件发送、搜索、标签管理
  • Outlook - 邮件处理、日历集成
  • SendGrid - 批量邮件发送
  • Mailgun - 邮件 API 服务
项目管理
  • Linear - 问题跟踪、项目管理
  • Jira - 工作流管理、bug 追踪
  • Asana - 任务管理、团队协作
  • Trello - 看板管理、卡片操作
  • Monday.com - 工作操作系统
  • ClickUp - 一体化工作空间
开发工具
  • GitHub - 代码仓库、PR 管理、Issue 跟踪
  • GitLab - DevOps 平台、CI/CD
  • Bitbucket - 代码协作、管道管理
  • Docker Hub - 容器镜像管理
文档和知识管理
  • Notion - 笔记、数据库、团队空间
  • Confluence - 团队文档、知识库
  • Google Docs - 文档协作、实时编辑
  • Obsidian - 个人知识管理
相关资源
官方文档
社区资源
教程和示例
常见问题 (FAQ)
Q: MCP 与传统 API 集成有什么区别?

A: MCP 提供标准化接口,支持双向通信和动态操作,而传统 API 需要为每个服务单独编写集成代码。

Q: Composio MCP 支持哪些认证方式?

A: 支持 OAuth 2.0、API 密钥、JWT 和基本认证。推荐使用 OAuth 2.0。

Q: 如何处理 MCP 服务器的限流?

A: 实施指数退避重试、使用连接池、启用缓存,并监控 API 使用情况。

Q: 可以同时连接多个 MCP 服务器吗?

A: 是的,大多数 MCP 客户端支持同时连接多个服务器。

结语

Composio MCP 为 AI 代理与外部工具的集成提供了强大而灵活的解决方案。通过标准化的协议和全托管的服务,开发者可以专注于构建创新的 AI 应用。

开始你的 MCP 之旅

  1. 访问 https://mcp.composio.dev/
  2. 选择你需要的工具
  3. 按照本指南进行配置
  4. 开始构建令人惊叹的 AI 应用!

本文档持续更新中,如有问题或建议,请访问 GitHub Issues