使用说明
Basecamp MCP 服务器
通过模型上下文协议,将您的Basecamp工作区连接到Claude和其他AI工具。
设置
获取Basecamp API凭证
- 首选 Basecamp(可译为“基地营”或根据具体语境译为其他名称,如“总部营地”等,但“Basecamp”本身常直接作为专有名词使用,不直接翻译) 并登录
- 点击您的个人资料 →“设置”→“个人访问令牌”(或“集成与应用程序”→“API凭证”)
- 创建一个新的令牌(需要“全部访问权限”)
- 复制令牌
- 在您的工作区中,找到URL中的账户ID(例如。,
https://3.basecamp.com/ACCOUNT_ID)
2. 设置环境变量
export BASECAMP_API_TOKEN="your_token_here"
export BASECAMP_ACCOUNT_ID="your_account_id_here"
或者创建一个 .env 项目根目录下的文件(添加到 .gitignore):
BASECAMP_API_TOKEN=your_token_here
BASECAMP_ACCOUNT_ID=your_account_id_here
3. 安装依赖项
uv sync
4. 运行服务器
uv run python -m basecamp_mcp.server
或者直接运行它:
uv run python src/basecamp_mcp/server.py
特点/功能
工具(克劳德可调用的功能)
get_projects- 列出所有Basecamp项目get_project_details- 获取项目的详细信息get_messages- 获取项目中的最新消息get_message_with_comments- 获取包含所有评论的特定消息get_todos- 获取待办事项(可选择按完成状态过滤)create_message- 在项目中创建一条新消息update_todo- 将待办事项标记为已完成/未完成get_schedules- 从项目中获取时间表clear_cache- 清除所有缓存数据get_cache_stats- 查看缓存统计信息
资源(克劳德可读取的数据)
basecamp://projects- 所有项目的列表basecamp://project/{project_id}/summary- 项目概要及最新活动情况
缓存
服务器使用SQLite进行具有TTL(生存时间)的持久缓存:
- 项目5分钟缓存
- 信息2分钟缓存
- 所有人2分钟缓存
- 项目详情10分钟缓存
使用 get_cache_stats 查看缓存命中率和大小,或 clear_cache 强制刷新数据。
项目结构
BaseCampMCP/
├── src/
│ └── basecamp_mcp/
│ ├── __init__.py
│ ├── server.py # Main MCP server with tools & resources
│ └── cache.py # SQLite cache manager
├── pyproject.toml # Project configuration
└── README.md
与Claude桌面应用的集成
与Claude桌面版配合使用:
- 编辑
~/Library/Application Support/Claude/claude_desktop_config.json(macOS) 或 Windows 等效系统 - 添加服务器:
{
"mcpServers": {
"basecamp": {
"command": "uv",
"args": ["run", "--with", "mcp", "python", "-m", "basecamp_mcp.server"],
"cwd": "/Users/kaustubh/Documents/BaseCampMCP"
}
}
}
- 重启Claude桌面版
发展
测试服务器
# Run with verbose logging
uv run python -m basecamp_mcp.server
查看缓存
缓存数据库存储在 basecamp_cache.db 在你的工作目录中。你可以使用以下命令查看它:
sqlite3 basecamp_cache.db
sqlite> SELECT key, hits, expires_at FROM cache ORDER BY hits DESC;
API 参考文档
Basecamp API v1 所用端点
GET /projects.json- 列出项目GET /projects/{id}.json- 获取项目详情GET /projects/{id}/messages.json- 列出消息GET /projects/{id}/messages/{message_id}.json- 获取消息GET /projects/{id}/messages/{message_id}/comments.json- 获取评论GET /projects/{id}/todos.json- 列出所有待办事项GET /projects/{id}/todolists/{list_id}/todos.json- 从列表中获取所有待办事项PUT /projects/{id}/todos/{todo_id}.json- 更新待办事项POST /projects/{id}/messages.json- 创建消息GET /projects/{id}/schedules.json- 列出时间表
许可证
麻省理工学院(MIT)