Basecamp 2 MCP服务器
一个MCP(模型上下文协议)服务器,包装Basecamp 2 REST API,使Claude能够通过自然语言创建和管理todo。
先决条件
- Node.js 18+
- 具有API证书(用户名/密码)的Basecamp 2帐户
设置
- 克隆仓库并安装依赖项:
git clone
cd Basecamp2_mcp
npm install- 创建一个
.env文件(或直接设置环境变量):
cp .env.example .env填写4个必填变量:
| 变量 | 描述 |
|---|---|
BASECAMP_ACCOUNT_ID | 您的Basecamp帐户ID(Basecamp URL中的号码) |
BASECAMP_USERNAME | 您的Basecamp登录电子邮件 |
BASECAMP_PASSWORD | 您的Basecamp登录密码 |
BASECAMP_USER_AGENT | 标识您的应用程序的用户代理字符串(例如。 MyApp (you@example.com)) |
Basecamp 2需要一个用户代理,并为其提供联系信息 API政策.
MCP客户端配置
克劳德桌面
添加到您的Claude桌面配置(~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"basecamp2": {
"command": "node",
"args": ["/absolute/path/to/Basecamp2_mcp/src/index.js"],
"env": {
"BASECAMP_ACCOUNT_ID": "your-account-id",
"BASECAMP_USERNAME": "your-email",
"BASECAMP_PASSWORD": "your-password",
"BASECAMP_USER_AGENT": "YourApp (you@example.com)"
}
}
}
}克劳德代码
添加到您的克劳德代码设置(.claude/settings.json 或通过 claude mcp add):
claude mcp add basecamp2 -- node /absolute/path/to/Basecamp2_mcp/src/index.js在shell中设置环境变量或 .env 在启动Claude Code之前,请先打开文件。
工具
| 工具 | 说明 |
|---|---|
list_projects | 列出所有活动项目 |
get_project | 获取特定项目的详细信息 |
list_todolists | 列出项目中的所有待办事项列表 |
get_todolist | 获取包含待办事项的待办事项列表 |
create_todolist | 创建新的待办事项列表 |
create_todo | 创建待办事项(包括可选的受让人、截止日期、附件) |
update_todo | 更新待办事项(内容、受让人、截止日期、完成情况、职位) |
upload_attachment | 上传文件并获取附件令牌 |
list_people | 列出您可见的所有人 |
get_project_accesses | 列出有权访问项目的人员 |
故障排除
“缺少必需的环境变量” --确保设置了所有4个环境变量。检查 .env.example 对于列表。
401未经授权 --验证您的用户名和密码。Basecamp 2使用HTTP基本身份验证与您的登录凭据。
403禁止 --您的用户代理可能缺失或不包含联系信息。
429请求太多 --服务器在重试延迟后自动重试一次。如果你仍然达到了速率限制,请放慢你的请求速度。
连接错误 --确认您的 BASECAMP_ACCOUNT_ID 是正确的,您可以访问 https://basecamp.com/ 在浏览器中。
