Basecamp MCP服务器

一个专业的Model Context Protocol (MCP)服务器,提供完整的Basecamp 4 API编程访问,适用于AI代理、工作流自动化和自定义集成。

  • by QusaiiSaleem
  • TypeScript
  • 本地部署
  • 5 星标
  • 更新于
在 GitHub 查看 QusaiiSaleem/basecamp-mcp-server

使用说明

🏕️ MCP 服务器基地营

一个专业人士 模型上下文协议(MCP) 提供全面编程访问的服务器 Basecamp 4 API非常适合用于人工智能代理、工作流自动化和自定义集成。

🚀 v7.5.0 新增功能:兼容 Claude.ai!

最全面且最兼容的Basecamp MCP服务器!

v7.5的新功能:

  • ✅(对勾符号,通常表示正确、同意或确认) 与Claude.ai完全兼容 - 在Claude网页界面中运行完美
  • ✅ 最新的MCP协议 - 支持2025年6月18日的规范
  • ✅ 会话管理 - 为现代客户端提供适当的连接跟踪
  • ✅ 自动发现 - MCP配置端点用于自动设置
  • ✅ 表示“正确”或“对”。 简化认证 - 不使用KV存储,仅使用OAuth + 环境变量
  • ✅ 表示“正确”或“确认”。 55+种专业工具 完成Basecamp API的全面覆盖

🔥 从v6.0升级? 见 升级至V75.md 用于迁移指南。

✅(勾选标记,表示正确、确认或完成) 8 项目管理 工具 - 完整的项目生命周期管理
✅ 11项全能管理 工具 - 带有自动查找功能的高级任务自动化
✅ 6. 沟通 工具 - 消息和讨论
✅ 翻译成中文是:勾选/确认/正确/成功 6. 文档与文件 工具 - 内容管理和文件处理
✅ 4. 团队管理 工具 - 访问控制和权限管理
✅ 3 野火旁的闲聊 工具 - 实时通信
✅ 3. 进度管理 工具 - 日历和事件
✅ 表示“正确”或“确认”。 四张牌桌 工具 - 看板工作流程
✅ 5条评论系统 工具 - 全方位协作
✅ 4. Webhooks(网络钩子) 工具 - 实时通知
✅ 2 搜索与分析 工具 - 数据洞察
🆕 新的 3 增强功能 - 自动查找,URL解析,OAuth流程

增强功能:

  • 自动查找功能 - 不再出现404错误!自动查找资源ID
  • OAuth 2.0 集成 - 完整的身份验证流程,包括设置用户界面
  • 多种认证方法 - 持有者令牌(Bearer Token)、参数、环境变量
  • 可投入生产的部署 - Cloudflare Workers 已优化

✨ 特点/功能

🛠️ 完整工具覆盖(59种工具)

  • 项目管理 (8种工具):完整的增删改查(CRUD)操作、存档、构建
  • 全面管理 (11种工具):列表、项目、任务分配、完成状态、定位
  • 沟通 (6种工具):消息、回复、讨论、存档
  • 文档与文件 (6种工具):创建、编辑、上传、管理附件
  • 团队管理 (4个工具):添加/移除人员、权限、访问控制
  • 评论与合作 (5种工具):适用于所有内容的通用评论系统
  • 篝火聊天 (3种工具):实时聊天信息和历史记录
  • 进度管理 (3种工具):事件、里程碑、日历条目
  • 折叠桌(或卡式桌) (4种工具):看板板、卡片、列、定位
  • Webhooks(网络钩子) (4种工具):实时通知和事件订阅
  • 搜索与分析 (2种工具):内容搜索和活动追踪

🔐 认证与安全

  • OAuth 2.0 带有设置界面的完整身份验证流程
  • 支持多重身份验证 带有令牌优先级:
    1. access_token 在争论中(最高优先级)
    2. Authorization: Bearer TOKEN 头球
    3. BASECAMP_ACCESS_TOKEN 环境变量(回退)
  • 个人用户令牌 同时共享基础设施
  • 安全处理令牌 经过适当的验证
  • 简化部署 - 无需KV存储(v7.5+)

🚀 准备就绪,可投入生产

  • 边缘部署 在Cloudflare Workers上
  • 全球内容分发网络(Global CDN) 全球响应时间低于100毫秒
  • 自动扩展 处理任何流量量
  • 速率限制 遵守Basecamp API限制
  • 全面的错误处理 带有有意义的信息
  • 自动查找功能 防止404错误

🚀 快速入门

1. 部署到Cloudflare Workers

# Clone the repository
git clone https://github.com/QusaiiSaleem/basecamp-mcp-server.git
cd basecamp-mcp-server

# Install dependencies
npm install

# Configure your environment
cp wrangler.toml.example wrangler.toml
# Edit wrangler.toml with your account ID

# Deploy to Cloudflare Workers
npm run deploy

2. 设置Basecamp OAuth集成

  1. 创建集成访问 Basecamp 集成

  2. 配置设置:

    • 应用程序名称“您的Basecamp MCP服务器”
    • 重定向URI: https://your-worker.workers.dev/auth/callback
    • 客户类型网络应用程序
  3. 设置环境变量:

echo "your_client_id" | wrangler secret put BASECAMP_CLIENT_ID
echo "your_client_secret" | wrangler secret put BASECAMP_CLIENT_SECRET
echo "your_account_id" | wrangler secret put BASECAMP_ACCOUNT_ID

3. 获取您的访问令牌

访问 https://your-worker.workers.dev/setup 并遵循OAuth流程获取您的访问令牌。

🌐 Claude.ai 集成

v7.5新增功能与Claude.ai网页界面直接集成!

快速设置

  1. 访问 Claude.ai首选 claude.ai(通常直接音译为“克劳德AI”,意为“克劳德人工智能平台”或“克劳德人工智能服务”)
  2. 打开设置点击设置 → 连接器
  3. 添加远程MCP服务器:
    • 名字: Basecamp MCP
    • URL(统一资源定位符): https://your-worker.workers.dev
    • 认证: Bearer YOUR_ACCESS_TOKEN
  4. 启用切换功能打开连接器 ✅
  5. 验证工具所有55个工具都应在您的对话中出现

完整安装指南

如需查看包含截图和故障排除的详细分步指南,请参阅:

测试您的连接

在 Claude.ai 中,尝试以下命令:

"List all my Basecamp projects"
"Show me my current todo assignments"
"Create a new message in Project X"

兼容性矩阵

客户端 v6.0 v7.5
Claude.ai ⚠️ 有限 ✅ 完全
Claude Desktop ✅ 可用 ✅ 可用
Smithery 游乐园 ⚠️ 有限 ✅ 满员
RelevanceAI ✅ 可用 ✅ 可用
n8n ✅ 可用 ✅ 可用
Make.com ✅ 可用 ✅ 可用

🔧 使用示例

使用RelevanceAI

  1. 代理设置 → MCP 服务器 → 添加远程MCP工具
  2. 服务器URL: https://your-worker.workers.dev
  3. 认证: Bearer your_access_token_here

使用 Claude Desktop

添加到您的MCP配置中(~/.claude/mcp_servers.json):

{
  "basecamp": {
    "command": "node",
    "args": ["path/to/mcp-server"],
    "env": {
      "BASECAMP_ACCESS_TOKEN": "your_token_here",
      "BASECAMP_ACCOUNT_ID": "your_account_id"
    }
  }
}

直接使用API

// Enhanced auto-lookup - no more resource ID hunting!
{
  "tool": "get_todo_lists",
  "arguments": {
    "project_id": "123456"  // That's it! Auto-finds todoset ID
  }
}

// Create todos with full assignment control
{
  "tool": "create_todo",
  "arguments": {
    "project_id": "123456",
    "todolist_id": "789012",
    "content": "Complete project setup",
    "due_on": "2024-12-31",
    "assignee_ids": [1001, 1002]
  }
}

// Universal commenting system
{
  "tool": "add_comment_to_recording",
  "arguments": {
    "project_id": "123456",
    "recording_id": "789012",  // Works with any content type
    "content": "Great progress on this item!"
  }
}

// Smart URL parsing
{
  "tool": "parse_basecamp_url",
  "arguments": {
    "url": "https://3.basecamp.com/999999/buckets/123456/todolists/789012"
  }
}

📚 完整工具参考手册

📋 项目管理(8种工具)

工具 描述 关键参数
get_projects 列出所有可访问的项目 -
create_project 创建新项目 name, description
get_project 获取项目详情 project_id
update_project 更新项目信息 project_id, name, description
archive_project 归档项目 project_id
unarchive_project 恢复项目 project_id
get_project_construction 获取项目工具/功能 project_id
parse_basecamp_url 解析任何Basecamp URL url

✅ 任务管理(11种工具)

工具 描述 关键参数
get_todo_lists 🚀 获取待办事项列表(自动查找) project_id
create_todo_list 🚀 创建待办事项列表(自动查找) project_id, name
get_todos 从列表中获取所有待办事项 project_id, todolist_id
get_all_project_todos 🆕 获取所有项目待办事项 project_id
create_todo 创建新待办事项 project_id, todolist_id, content
update_todo 更新待办事项详情 project_id, todo_id, content
complete_todo 将待办事项标记为完成 project_id, todo_id
uncomplete_todo 将待办事项标记为未完成 project_id, todo_id
get_my_assignments 获取当前用户分配 -
get_user_assignments 获取用户的任务 user_id
reposition_todo 更改待办事项位置 project_id, todo_id, position

💬 沟通(6种工具)

工具 描述 关键参数
get_message_board 🚀 获取留言板(自动查找) project_id
get_messages 🚀 获取消息(自动查找) project_id
create_message 🚀 创建消息(自动查找) project_id, subject, content
update_message 编辑消息 project_id, message_id, content
get_message 获取特定消息 project_id, message_id
archive_message 存档信息 project_id, message_id

📄 文档与文件(6种工具)

工具 描述 关键参数
(分隔符) (分隔符) (分隔符)
create_document project_id🚀 创建文档(自动查找)
update_document project_id 编辑文档
get_document project_id 获取特定文档
upload_attachment file_data 上传文件
get_uploads project_id 列出项目上传内容

|

👥 团队与人员(4种工具) | 工具 | 描述 | 关键参数 | |------|-------------|----------------| get_people | 分隔符 | 标题1 | 标题2 | project_id | | 获取项目团队 | get_all_people | | add_person_to_project | 获取所有账户人员 | - | project_id| person_ids[] | 授予项目访问权限 | , remove_person_from_project | project_id| person_ids[] | 撤销项目访问权限 |

,

| 💭 评论与协作(5种工具) | 工具 | 描述 | 关键参数 | add_comment_to_recording |------|-------------|----------------| project_id| 分隔符 | 标题 | 内容 | recording_id| content 通用评论工具 , add_comment_to_todo , project_id| todo_id| content | 待办事项评论 | , add_comment_to_message , project_id| message_id| content | 回复消息 | , add_comment_to_document , project_id| document_id| content | 对文件的评论 | , add_comment_to_card , project_id| card_id| content | 卡片上的评论 |

,

, | 💬 篝火聊天(3种工具) get_campfire | 工具 | 描述 | 关键参数 | project_id |------|-------------|----------------| | get_campfire_lines | 获取项目聊天信息 | project_id| campfire_id | | 获取聊天消息 | post_campfire_message , project_id| campfire_id| content | 发送聊天消息 |

,

, | 📅 时间管理(3种工具) get_schedule | 工具 | 描述 | 关键参数 | project_id |------|-------------|----------------| | get_schedule_entries 🚀 | 获取时间表(自动查找) | project_id | | create_schedule_entry | 获取日程事件 | project_id| summary| starts_at | 创建新事件 |

,

, | 🎫 卡牌桌(4件工具) get_card_table | 工具 | 描述 | 关键参数 | project_id |------|-------------|----------------| | get_cards | 获取看板 | project_id| card_table_id | | 从桌子上拿牌 | create_card , project_id| card_table_id| title | 创建新卡片 | , update_card , project_id| card_id| title | 更新现有卡片 |

,

, | 🔗 Webhooks(4种工具) get_webhooks | 工具 | 描述 | 关键参数 | |------|-------------|----------------| create_webhook | payload_url| 列出所有Webhooks | - | types[] | | 创建Webhook | update_webhook , webhook_id| payload_url | | 更新Webhook | delete_webhook , webhook_id |

|

| 删除Webhook | | 🔍 搜索与分析(2款工具) search | 工具 | 描述 | 关键参数 | query|------|-------------|----------------| project_id | | 搜索内容 | get_events , project_id (可选)|

|

| 获取活动/事件 |

(可选)|

// Before: Complex resource ID hunting
{
  "tool": "get_todo_lists",
  "arguments": {
    "project_id": "123456",
    "todoset_id": "789012"  // ← Hard to find manually
  }
}

// After: Simple auto-lookup
{
  "tool": "get_todo_lists", 
  "arguments": {
    "project_id": "123456"  // ← Auto-finds todoset ID
  }
}

🔍 智能功能

🧠 自动查找智能

// Input: https://3.basecamp.com/999999/buckets/123456/todolists/789012
// Output: 
{
  "account_id": "999999",
  "project_id": "123456", 
  "resource_type": "todolists",
  "resource_id": "789012",
  "suggested_tools": ["get_todos", "create_todo"]
}

服务器自动查找所需的资源ID,从而避免404错误:

📈 URL智能分析

  1. 解析任何Basecamp URL以提取项目和资源信息:🔄 支持多重认证 access_token 具有优先级顺序的灵活认证:
  2. 论点;争论点: Authorization: Bearer TOKEN
  3. **参数(最高优先级)**标题/头部信息 BASECAMP_ACCESS_TOKEN :

环境

:

(备用选项) ⚙️ 配置 环境变量 BASECAMP_ACCOUNT_ID | 变量 | 描述 | 必需 | |----------|-------------|----------| BASECAMP_CLIENT_ID | | 您的Basecamp帐户ID | ✅ | BASECAMP_CLIENT_SECRET | | OAuth 客户端 ID | ✅(用于 OAuth)| BASECAMP_ACCESS_TOKEN |

| OAuth 客户端密钥 | ✅(用于 OAuth) |

name = "my-basecamp-mcp-server"
main = "index.ts"
compatibility_date = "2024-08-05"

[vars]
BASECAMP_ACCOUNT_ID = "999999999"

# Note: v7.5 no longer requires KV namespace binding
# All authentication is handled via environment variables

|

| 回退访问令牌 | ⚠️(可选) |

  • `wrangler.toml` 示例🔒 安全最佳实践
  • 认证安全单个代币
  • 每个用户都维护自己的OAuth令牌安全头部(Secure Headers)
  • 所有请求均使用正确的授权头令牌验证

自动令牌验证和错误处理

  • 环境隔离生产秘密与代码分离
  • API安全速率限制
  • 自动遵守Basecamp API限制请求验证
  • 输入净化和类型检查错误处理

确保错误信息安全,防止数据泄露

CORS 配置

  • 正确的跨域资源共享🚀 部署选项
  • **Cloudflare Workers(推荐)**全球边缘网络
  • 全球响应时间低于100毫秒自动扩展
  • 处理无限流量内置安全功能

DDoS防护,WAF(Web应用防火墙),SSL(安全套接层协议)

  • 性价比高按需付费,无闲置成本
  • 替代平台Vercel 函数
  • 无服务器部署AWS Lambda
  • 企业级基础设施Google Cloud Functions(谷歌云函数)

谷歌生态系统整合

  • Azure Functions微软生态系统集成
  • 自托管选项Node.js 服务器
  • 传统服务器部署Docker 容器

集装箱化部署

Kubernetes(中文常译为“科尼皮图斯”或直接音译为“库伯内特斯”,但更常用的是其英文原名,因其是一个专有名词,且在中文技术社区中已被广泛接受和使用)

容器编排

# Clone the repository
git clone https://github.com/QusaiiSaleem/basecamp-mcp-server.git
cd basecamp-mcp-server

# Install dependencies
npm install

# Set up environment
cp wrangler.toml.example wrangler.toml

# Start development server
npm run dev

🤝 贡献

  1. **我们欢迎投稿!以下是投稿指南:**开发环境设置 getAllBasecampTools()
  2. 添加新工具定义工具模式(或工具架构) callBasecampTool() 添加工具定义到
  3. 实现处理程序添加案例至
  4. switch 语句测试实施
  5. 与Basecamp API端点进行验证更新文档

在README中添加工具参考

提交拉取请求

  • 包含测试和示例📊 性能与监控
  • 性能指标响应时间
  • 全球平均<100毫秒可用性
  • **99.9%的正常运行时间服务级别协议(SLA)**吞吐量

每秒处理10,000+请求的能力

  • 错误率错误率<0.1%
  • 监控功能Cloudflare 分析(或“Cloudflare 数据分析”)
  • 请求指标和性能自定义日志记录
  • 详细的操作跟踪错误报告

自动错误通知

健康检查

持续可用性监控

Error: Authentication required

❓ 故障排除常见问题 /setup 认证错误

解决方案

Error: BASECAMP_ACCESS_TOKEN not configured

确保您的访问令牌有效。请访问用于OAuth流程。

配置缺失

Error: Todo lists are not enabled for this project

解决方案设置OAuth凭据或在请求头中提供令牌。

自动查找失败

  • 解决方案在您的Basecamp项目设置中启用待办事项列表。
  • 寻求帮助GitHub Issues(在GitHub上的问题/议题)
  • 报告错误并提出功能请求讨论

社区支持与问题

文档 全面指南和示例 📄 许可证

这个项目采用MIT许可证授权——详见

  • 许可证详情见文件。
  • 🏆 致谢Basecamp团队
  • 为提供卓越的APIMCP社区
  • 对于模型上下文协议标准Cloudflare(科拉弗莱/克洛德弗莱,通常直接音译为“云弗莱”或保留原英文名)

对于边缘计算平台

  • 贡献者 感谢所有贡献者! 📋 版本历史
  • v7.5.0(版本号) (2025年9月30日):Claude.ai 兼容性更新 + 协议更新 -
  • CHANGELOG.md 翻译为中文是:“版本更新日志文件”或“变更日志文件”。这个文件通常用于记录软件或项目的版本更新历史,包括新增功能、修复的错误、已知问题等信息 版本6.0.0

(2024-12-15): 完成59种工具的实施


🤖 MCP 协议

: 规格;规范