
Basecamp MCP Integration

2025.03.10
3
Python团队协作自动化工作流开发测试交流协作
Basecamp-MCP-Server 是一个为 Basecamp 3 提供 Magic Copy Paste (MCP) 集成的项目,允许通过 MCP 协议直接与 Basecamp 交互。该项目包含多个组件,如 OAuth 应用、令牌存储、MCP 服务器、Basecamp 客户端等,支持通过 Cursor 或 Composio 进行交互。
View on GitHub
Overview
基本能力
产品定位
Basecamp-MCP-Server 是一个集成工具,旨在通过 MCP 协议连接 Basecamp 3 与其他应用程序(如 Cursor 和 Composio),实现无缝的数据交互和自动化工作流。
核心功能
- OAuth 2.0 认证:通过 Flask 应用处理 Basecamp 的 OAuth 2.0 流程。
- 令牌管理:安全存储和自动刷新 OAuth 令牌。
- MCP 协议支持:实现 MCP 协议,支持与 Basecamp 的直接交互。
- Basecamp API 客户端:提供与 Basecamp API 交互的客户端库。
- 搜索功能:支持搜索 Basecamp 资源。
- Composio 集成:支持与 Composio 的 AI 工作流集成。
适用场景
- 团队协作:通过 Cursor 或 Composio 与 Basecamp 交互,提升团队协作效率。
- 自动化工作流:利用 Composio 的 AI 能力自动化 Basecamp 任务。
- 开发测试:开发者可以通过 MCP 服务器测试 Basecamp API 的调用。
工具列表
- OAuth App (
oauth_app.py
):处理 Basecamp 的 OAuth 2.0 流程。 - Token Storage (
token_storage.py
):安全存储 OAuth 令牌。 - MCP Server (
mcp_server.py
):实现 MCP 协议,支持与 Basecamp 交互。 - Basecamp Client (
basecamp_client.py
):Basecamp API 的客户端库。 - Basecamp OAuth (
basecamp_oauth.py
):处理 Basecamp 的 OAuth 认证。 - Search Utilities (
search_utils.py
):搜索 Basecamp 资源的工具。
常见问题解答
- 令牌问题:如果遇到认证错误,尝试通过 OAuth 应用重新登录。
- MCP 连接问题:确保 OAuth 应用和 MCP 服务器都在运行。
- API 错误:查看
oauth_app.log
和mcp_server.log
获取详细错误信息。
使用教程
使用依赖
- Python 3.7+:确保已安装 Python 3.7 或更高版本。
- Basecamp 3 账户:需要一个 Basecamp 3 账户。
- Basecamp OAuth 应用:在 Basecamp 集成页面 创建 OAuth 应用。
安装教程
- 克隆仓库:
bash git clone <repository-url> cd basecamp-mcp
- 创建并激活虚拟环境:
bash python -m venv venv source venv/bin/activate # Windows: venv\Scripts\activate
- 安装依赖:
bash pip install -r requirements.txt
- 创建
.env
文件并配置环境变量:BASECAMP_CLIENT_ID=your_client_id BASECAMP_CLIENT_SECRET=your_client_secret BASECAMP_REDIRECT_URI=http://localhost:8000/auth/callback USER_AGENT="Your App Name ([email protected])" BASECAMP_ACCOUNT_ID=your_account_id FLASK_SECRET_KEY=random_secret_key MCP_API_KEY=your_api_key COMPOSIO_API_KEY=your_composio_api_key
调试方式
- 启动 OAuth 应用:
bash python oauth_app.py
- 启动 MCP 服务器:
bash python mcp_server.py
- 测试 MCP 服务器:
bash curl http://localhost:5001/composio/check_auth curl http://localhost:5001/composio/schema curl -X POST http://localhost:5001/composio/tool -H "Content-Type: application/json" -d '{"tool": "GET_PROJECTS", "params": {}}'