basecamp-mcp-server

QusaiiSaleem/basecamp-mcp-server

3.3

If you are the rightful owner of basecamp-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

The Basecamp MCP Server is a comprehensive Model Context Protocol server designed for seamless integration with Basecamp 3 API, enabling AI automation platforms like n8n, Make.com, and Claude Desktop to automate project management tasks.

Tools
28
Resources
0
Prompts
0

🏕️ Basecamp MCP Server

A professional Model Context Protocol (MCP) server that provides complete programmatic access to Basecamp 4 API. Perfect for AI agents, workflow automation, and custom integrations.

🚀 NEW in v7.5.0: Claude.ai Compatible!

The most comprehensive AND most compatible Basecamp MCP server available!

What's New in v7.5:

  • Full Claude.ai compatibility - Works perfectly in Claude web interface
  • Latest MCP protocol - Supports 2025-06-18 specification
  • Session management - Proper connection tracking for modern clients
  • Auto-discovery - MCP config endpoint for automatic setup
  • Simplified authentication - No KV storage, just OAuth + environment variables
  • 55+ specialized tools - Complete Basecamp API coverage

🔥 Upgrade from v6.0? See for migration guide.

8 Project Management tools - Complete project lifecycle management
11 Todo Management tools - Advanced task automation with auto-lookup
6 Communication tools - Messages and discussions
6 Documents & Files tools - Content management and file handling
4 Team Management tools - Access control and permissions
3 Campfire Chat tools - Real-time communication
3 Schedule Management tools - Calendar and events
4 Card Tables tools - Kanban workflows
5 Comments System tools - Universal collaboration
4 Webhooks tools - Real-time notifications
2 Search & Analytics tools - Data insights
🆕 3 Enhanced Features - Auto-lookup, URL parsing, OAuth flow

Enhanced Features:

  • Auto-lookup functionality - No more 404 errors! Automatically finds resource IDs
  • OAuth 2.0 integration - Complete authentication flow with setup UI
  • Multiple authentication methods - Bearer token, arguments, environment variables
  • Production-ready deployment - Cloudflare Workers optimized

Deploy to Cloudflare Workers MCP Protocol Version Claude.ai Compatible License: MIT

✨ Features

🛠️ Complete Tool Coverage (59 Tools)

  • Project Management (8 tools): Full CRUD operations, archiving, construction
  • Todo Management (11 tools): Lists, items, assignments, completion, positioning
  • Communication (6 tools): Messages, replies, discussions, archiving
  • Documents & Files (6 tools): Create, edit, upload, manage attachments
  • Team Management (4 tools): Add/remove people, permissions, access control
  • Comments & Collaboration (5 tools): Universal commenting system across all content
  • Campfire Chat (3 tools): Real-time chat messages and history
  • Schedule Management (3 tools): Events, milestones, calendar entries
  • Card Tables (4 tools): Kanban boards, cards, columns, positioning
  • Webhooks (4 tools): Real-time notifications and event subscriptions
  • Search & Analytics (2 tools): Content search and activity tracking

🔐 Authentication & Security

  • OAuth 2.0 complete authentication flow with setup UI
  • Multi-authentication support with token priorities:
    1. access_token in arguments (highest priority)
    2. Authorization: Bearer TOKEN header
    3. BASECAMP_ACCESS_TOKEN environment variable (fallback)
  • Individual user tokens while sharing infrastructure
  • Secure token handling with proper validation
  • Simplified deployment - No KV storage required (v7.5+)

🚀 Production Ready

  • Edge deployment on Cloudflare Workers
  • Global CDN with sub-100ms response times worldwide
  • Automatic scaling handles any traffic volume
  • Rate limiting compliance with Basecamp API limits
  • Comprehensive error handling with meaningful messages
  • Auto-lookup functionality prevents 404 errors

🚀 Quick Start

1. Deploy to 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. Set Up Basecamp OAuth Integration

  1. Create Integration: Visit Basecamp Integrations

  2. Configure Settings:

    • Application Name: "Your Basecamp MCP Server"
    • Redirect URI: https://your-worker.workers.dev/auth/callback
    • Client Type: Web Application
  3. Set Environment Variables:

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. Get Your Access Token

Visit https://your-worker.workers.dev/setup and follow the OAuth flow to get your access token.

🌐 Claude.ai Integration

NEW in v7.5: Direct integration with Claude.ai web interface!

Quick Setup

  1. Visit Claude.ai: Go to claude.ai
  2. Open Settings: Click Settings → Connectors
  3. Add Remote MCP Server:
    • Name: Basecamp MCP
    • URL: https://your-worker.workers.dev
    • Authentication: Bearer YOUR_ACCESS_TOKEN
  4. Enable Toggle: Turn on the connector ✅
  5. Verify Tools: All 55 tools should appear in your conversation

Full Setup Guide

For detailed step-by-step instructions including screenshots and troubleshooting, see:

  • - Complete integration guide

Test Your Connection

In Claude.ai, try these commands:

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

Compatibility Matrix

Clientv6.0v7.5
Claude.ai⚠️ Limited✅ Full
Claude Desktop✅ Works✅ Works
Smithery Playground⚠️ Limited✅ Full
RelevanceAI✅ Works✅ Works
n8n✅ Works✅ Works
Make.com✅ Works✅ Works

🔧 Usage Examples

With RelevanceAI

  1. Agent SettingsMCP ServerAdd remote MCP tools
  2. Server URL: https://your-worker.workers.dev
  3. Authentication: Bearer your_access_token_here

With Claude Desktop

Add to your MCP configuration (~/.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"
    }
  }
}

Direct API Usage

// 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"
  }
}

📚 Complete Tool Reference

📋 Project Management (8 tools)

ToolDescriptionKey Parameters
get_projectsList all accessible projects-
create_projectCreate new projectname, description
get_projectGet project detailsproject_id
update_projectUpdate project infoproject_id, name, description
archive_projectArchive projectproject_id
unarchive_projectUnarchive projectproject_id
get_project_constructionGet project tools/featuresproject_id
parse_basecamp_urlParse any Basecamp URLurl

✅ Todo Management (11 tools)

ToolDescriptionKey Parameters
get_todo_lists 🚀Get todo lists (AUTO-LOOKUP)project_id
create_todo_list 🚀Create todo list (AUTO-LOOKUP)project_id, name
get_todosGet todos from listproject_id, todolist_id
get_all_project_todos 🆕Get ALL project todosproject_id
create_todoCreate new todoproject_id, todolist_id, content
update_todoUpdate todo detailsproject_id, todo_id, content
complete_todoMark todo completeproject_id, todo_id
uncomplete_todoMark todo incompleteproject_id, todo_id
get_my_assignmentsGet current user assignments-
get_user_assignmentsGet user's assignmentsuser_id
reposition_todoChange todo positionproject_id, todo_id, position

💬 Communication (6 tools)

ToolDescriptionKey Parameters
get_message_board 🚀Get message board (AUTO-LOOKUP)project_id
get_messages 🚀Get messages (AUTO-LOOKUP)project_id
create_message 🚀Create message (AUTO-LOOKUP)project_id, subject, content
update_messageEdit messageproject_id, message_id, content
get_messageGet specific messageproject_id, message_id
archive_messageArchive messageproject_id, message_id

📄 Documents & Files (6 tools)

ToolDescriptionKey Parameters
get_documents 🚀List documents (AUTO-LOOKUP)project_id
create_document 🚀Create document (AUTO-LOOKUP)project_id, title, content
update_documentEdit documentproject_id, document_id, content
get_documentGet specific documentproject_id, document_id
upload_attachmentUpload filefile_data, filename, content_type
get_uploadsList project uploadsproject_id

👥 Team & People (4 tools)

ToolDescriptionKey Parameters
get_peopleGet project teamproject_id
get_all_peopleGet all account people-
add_person_to_projectGrant project accessproject_id, person_ids[]
remove_person_from_projectRevoke project accessproject_id, person_ids[]

💭 Comments & Collaboration (5 tools)

ToolDescriptionKey Parameters
add_comment_to_recordingUniversal comment toolproject_id, recording_id, content
add_comment_to_todoComment on todoproject_id, todo_id, content
add_comment_to_messageReply to messageproject_id, message_id, content
add_comment_to_documentComment on documentproject_id, document_id, content
add_comment_to_cardComment on cardproject_id, card_id, content

💬 Campfire Chat (3 tools)

ToolDescriptionKey Parameters
get_campfireGet project chatproject_id
get_campfire_linesGet chat messagesproject_id, campfire_id
post_campfire_messagePost chat messageproject_id, campfire_id, content

📅 Schedule Management (3 tools)

ToolDescriptionKey Parameters
get_schedule 🚀Get schedule (AUTO-LOOKUP)project_id
get_schedule_entriesGet schedule eventsproject_id
create_schedule_entryCreate new eventproject_id, summary, starts_at

🎫 Card Tables (4 tools)

ToolDescriptionKey Parameters
get_card_tableGet Kanban boardproject_id
get_cardsGet cards from tableproject_id, card_table_id
create_cardCreate new cardproject_id, card_table_id, title
update_cardUpdate existing cardproject_id, card_id, title

🔗 Webhooks (4 tools)

ToolDescriptionKey Parameters
get_webhooksList all webhooks-
create_webhookCreate webhookpayload_url, types[]
update_webhookUpdate webhookwebhook_id, payload_url
delete_webhookDelete webhookwebhook_id

🔍 Search & Analytics (2 tools)

ToolDescriptionKey Parameters
searchSearch contentquery, project_id (optional)
get_eventsGet activity/eventsproject_id (optional)

🔍 Smart Features

🧠 Auto-Lookup Intelligence

The server automatically finds required resource IDs, eliminating 404 errors:

// 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
  }
}

📈 URL Intelligence

Parse any Basecamp URL to extract project and resource information:

// 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"]
}

🔄 Multi-Authentication Support

Flexible authentication with priority order:

  1. Arguments: access_token parameter (highest priority)
  2. Headers: Authorization: Bearer TOKEN
  3. Environment: BASECAMP_ACCESS_TOKEN (fallback)

⚙️ Configuration

Environment Variables

VariableDescriptionRequired
BASECAMP_ACCOUNT_IDYour Basecamp account ID
BASECAMP_CLIENT_IDOAuth client ID✅ (for OAuth)
BASECAMP_CLIENT_SECRETOAuth client secret✅ (for OAuth)
BASECAMP_ACCESS_TOKENFallback access token⚠️ (optional)

wrangler.toml Example

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

🔒 Security Best Practices

Authentication Security

  • Individual Tokens: Each user maintains their own OAuth token
  • Secure Headers: All requests use proper authorization headers
  • Token Validation: Automatic token validation and error handling
  • Environment Isolation: Production secrets separate from code

API Security

  • Rate Limiting: Automatic compliance with Basecamp API limits
  • Request Validation: Input sanitization and type checking
  • Error Handling: Secure error messages without data leaks
  • CORS Configuration: Proper cross-origin resource sharing

🚀 Deployment Options

Cloudflare Workers (Recommended)

  • Global Edge Network: Sub-100ms response times worldwide
  • Automatic Scaling: Handle unlimited traffic
  • Built-in Security: DDoS protection, WAF, SSL
  • Cost Effective: Pay per request, no idle costs

Alternative Platforms

  • Vercel Functions: Serverless deployment
  • AWS Lambda: Enterprise-grade infrastructure
  • Google Cloud Functions: Google ecosystem integration
  • Azure Functions: Microsoft ecosystem integration

Self-Hosted Options

  • Node.js Server: Traditional server deployment
  • Docker Container: Containerized deployment
  • Kubernetes: Container orchestration

🤝 Contributing

We welcome contributions! Here's how to get started:

Development Setup

# 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

Adding New Tools

  1. Define Tool Schema: Add tool definition to getAllBasecampTools()
  2. Implement Handler: Add case to callBasecampTool() switch statement
  3. Test Implementation: Verify with Basecamp API endpoints
  4. Update Documentation: Add to README tool reference
  5. Submit Pull Request: Include tests and examples

📊 Performance & Monitoring

Performance Metrics

  • Response Time: Average <100ms globally
  • Availability: 99.9% uptime SLA
  • Throughput: 10,000+ requests per second capability
  • Error Rate: <0.1% error rate

Monitoring Features

  • Cloudflare Analytics: Request metrics and performance
  • Custom Logging: Detailed operation tracking
  • Error Reporting: Automated error notifications
  • Health Checks: Continuous availability monitoring

❓ Troubleshooting

Common Issues

Authentication Errors
Error: Authentication required

Solution: Ensure your access token is valid. Visit /setup for OAuth flow.

Configuration Missing
Error: BASECAMP_ACCESS_TOKEN not configured

Solution: Set up OAuth credentials or provide token in request headers.

Auto-lookup Failures
Error: Todo lists are not enabled for this project

Solution: Enable todo lists in your Basecamp project settings.

Getting Help

  • GitHub Issues: Report bugs and request features
  • Discussions: Community support and questions
  • Documentation: Comprehensive guides and examples

📄 License

This project is licensed under the MIT License - see the file for details.

🏆 Acknowledgments

  • Basecamp Team: For providing an excellent API
  • MCP Community: For the Model Context Protocol standard
  • Cloudflare: For the edge computing platform
  • Contributors: Thank you to all contributors!

📋 Version History

  • v7.5.0 (2025-09-30): Claude.ai compatibility + protocol updates -
  • v6.0.0 (2024-12-15): Complete 59-tool implementation
  • v5.0.0 (2024-10-01): Initial public release

🔗 Links


Transform your Basecamp workflow with complete API automation! 🚀

Now with full Claude.ai compatibility in v7.5!

Deploy Now