← Back to Skills Marketplace
drkraft

Basecamp CLI

by drkraft · GitHub ↗ · v2.0.0
cross-platform ⚠ suspicious
2084
Downloads
0
Stars
4
Active Installs
1
Versions
Install in OpenClaw
/install basecamp-cli-mcp
Description
CLI and MCP server for Basecamp 4. Use when you need to interact with Basecamp projects, todos, messages, schedules, kanban cards, documents, or campfires. Provides 76 MCP tools for AI-driven project management workflows.
README (SKILL.md)

Basecamp CLI

Full-featured CLI and MCP server for Basecamp 4 API.

Features

  • 21 CLI command groups covering all Basecamp 4 domains
  • 76 MCP tools for AI assistant integration
  • Automatic pagination and retry with exponential backoff
  • OAuth 2.0 authentication with PKCE

Installation

npm install -g @drkraft/basecamp-cli

Requirements

  • Node.js >= 20

Authentication Setup

  1. Create an OAuth app at https://launchpad.37signals.com/integrations
    • Set redirect URI to http://localhost:9292/callback
  2. Configure credentials:
basecamp auth configure --client-id \x3Cyour-client-id>
export BASECAMP_CLIENT_SECRET="\x3Cyour-client-secret>"
export BASECAMP_CLIENT_ID="\x3Cyour-client-id>"
  1. Login:
basecamp auth login

MCP Server Configuration

Add to your MCP config (e.g., ~/.config/claude/claude_desktop_config.json):

{
  "mcpServers": {
    "basecamp": {
      "command": "basecamp-mcp",
      "env": {
        "BASECAMP_CLIENT_ID": "\x3Cyour-client-id>",
        "BASECAMP_CLIENT_SECRET": "\x3Cyour-client-secret>"
      }
    }
  }
}

Available MCP Tools (76)

Category Tools
Projects basecamp_list_projects, basecamp_get_project, basecamp_create_project, basecamp_archive_project
Todo Lists basecamp_list_todolists, basecamp_get_todolist, basecamp_create_todolist, basecamp_delete_todolist
Todo Groups basecamp_list_todolist_groups, basecamp_create_todolist_group
Todos basecamp_list_todos, basecamp_get_todo, basecamp_create_todo, basecamp_update_todo, basecamp_complete_todo, basecamp_uncomplete_todo, basecamp_delete_todo, basecamp_move_todo
Messages basecamp_list_messages, basecamp_get_message, basecamp_create_message
People basecamp_list_people, basecamp_get_person, basecamp_get_me
Comments basecamp_list_comments, basecamp_get_comment, basecamp_create_comment, basecamp_update_comment, basecamp_delete_comment
Vaults basecamp_list_vaults, basecamp_get_vault, basecamp_create_vault, basecamp_update_vault
Documents basecamp_list_documents, basecamp_get_document, basecamp_create_document, basecamp_update_document
Uploads basecamp_list_uploads, basecamp_get_upload, basecamp_create_upload, basecamp_update_upload
Schedules basecamp_get_schedule, basecamp_list_schedule_entries, basecamp_get_schedule_entry, basecamp_create_schedule_entry, basecamp_update_schedule_entry, basecamp_delete_schedule_entry
Card Tables basecamp_get_card_table, basecamp_get_column, basecamp_create_column, basecamp_update_column, basecamp_delete_column, basecamp_list_cards, basecamp_get_card, basecamp_create_card, basecamp_update_card, basecamp_move_card, basecamp_delete_card
Search basecamp_search
Recordings basecamp_list_recordings, basecamp_archive_recording, basecamp_restore_recording, basecamp_trash_recording
Subscriptions basecamp_list_subscriptions, basecamp_subscribe, basecamp_unsubscribe
Webhooks basecamp_list_webhooks, basecamp_get_webhook, basecamp_create_webhook, basecamp_update_webhook, basecamp_delete_webhook, basecamp_test_webhook
Events basecamp_list_events
Campfires basecamp_list_campfires, basecamp_get_campfire_lines, basecamp_send_campfire_line

CLI Quick Reference

# Projects
basecamp projects list
basecamp projects get \x3Cid>

# Todos
basecamp todolists list --project \x3Cid>
basecamp todos list --project \x3Cid> --list \x3Clist-id>
basecamp todos create --project \x3Cid> --list \x3Clist-id> --content "Task"
basecamp todos complete \x3Cid> --project \x3Cid>
basecamp todos delete \x3Cid> --project \x3Cid>
basecamp todos move \x3Cid> --project \x3Cid> --list \x3Ctarget-list-id>

# Messages
basecamp messages list --project \x3Cid>
basecamp messages create --project \x3Cid> --subject "Title" --content "\x3Cp>Body\x3C/p>"

# Kanban
basecamp cardtables get --project \x3Cid>
basecamp cardtables cards --project \x3Cid> --column \x3Ccol-id>
basecamp cardtables create-card --project \x3Cid> --column \x3Ccol-id> --title "Card"

# Search
basecamp search "keyword"
basecamp search "keyword" --type Todo --project \x3Cid>

All commands support --format json for JSON output.

Links

Usage Guidance
This package appears to be a legitimate Basecamp CLI + MCP server and only asks for the Basecamp OAuth client ID/secret it needs. Before installing or configuring it: 1) verify the npm package and GitHub repository (SKILL.md points to https://github.com/drkraft/basecamp-cli) match the package you expect, 2) be cautious about placing your BASECAMP_CLIENT_SECRET into configuration files (MCP config) that other processes or users could read, and 3) remember that enabling the MCP server and giving credentials allows the agent to take actions in your Basecamp account — only enable autonomous use for agents you trust. If you want more assurance, confirm the upstream repository and package owner identity on npm/GitHub before installing.
Capability Analysis
Type: OpenClaw Skill Name: basecamp-cli-mcp Version: 2.0.0 The OpenClaw AgentSkills skill bundle is classified as suspicious due to its broad access to Basecamp API functions, particularly the `basecamp_create_webhook` tool exposed via the MCP server (src/mcp/tools/index.ts). While the `payloadUrl` for webhooks is validated to use HTTPS, a compromised AI agent could be prompted to create webhooks pointing to an attacker-controlled endpoint, potentially leading to data exfiltration of Basecamp event data. Additionally, the `scripts/validate.ts` uses `execSync` for command execution, which is a risky capability, though in this context it's used for internal CLI validation. The skill does implement good security practices for token storage by encrypting access and refresh tokens (src/lib/config.ts) and requiring the client secret as an environment variable.
Capability Assessment
Purpose & Capability
Name/description, declared binaries (basecamp-mcp), required env vars (BASECAMP_CLIENT_ID, BASECAMP_CLIENT_SECRET), package.json, and SKILL.md all align with a Basecamp CLI/MCP tool. The npm package produces the required binaries, and OAuth credentials are expected for Basecamp API access.
Instruction Scope
Runtime instructions are scoped to installing the CLI, configuring OAuth, running basecamp/basecamp-mcp, and adding the MCP server to an MCP config. One operational note: the SKILL.md shows examples that embed BASECAMP_CLIENT_SECRET in an MCP server env block (e.g., in a klaude/claude_desktop_config.json snippet). Storing a client secret in an MCP config or passing it to a long-running MCP process is functional but increases where the secret is stored/available — this is expected for an MCP server but worth being aware of.
Install Mechanism
Install uses a public npm package (@drkraft/basecamp-cli) that declares the two expected binaries. This is a standard, traceable mechanism; no suspicious remote download URLs or extract-from-untrusted-host steps were found.
Credentials
The only required environment variables are BASECAMP_CLIENT_ID and BASECAMP_CLIENT_SECRET (primary credential is the client secret) which are appropriate for OAuth-based Basecamp access. No unrelated secrets or wide-ranging credentials are requested. The repo includes logic to encrypt stored access/refresh tokens with a machine-specific key (crypto/os), which is reasonable — note that the client secret itself is expected to be provided by the user and may be present in MCP config when running the server.
Persistence & Privilege
Skill is not always: true and is user-invocable. disable-model-invocation is false (autonomous invocation allowed) which is normal for MCP tools; combined with valid Basecamp credentials this allows an agent to perform actions on the user's Basecamp account. This is expected behavior for an MCP integration but users should understand the blast radius of granting an agent those credentials.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install basecamp-cli-mcp
  3. After installation, invoke the skill by name or use /basecamp-cli-mcp
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v2.0.0
Major 2.0.0 update: Full MCP server support and significant CLI enhancements. - Adds MCP server with 76 tools for AI-driven Basecamp project management workflows. - Documents 21 CLI command groups across all major Basecamp 4 domains. - Supports automatic pagination, retries with exponential backoff, and OAuth 2.0 PKCE authentication. - Provides detailed installation and configuration instructions, including for MCP integration. - Includes a full CLI quick reference and comprehensive tool listing.
Metadata
Slug basecamp-cli-mcp
Version 2.0.0
License
All-time Installs 4
Active Installs 4
Total Versions 1
Frequently Asked Questions

What is Basecamp CLI?

CLI and MCP server for Basecamp 4. Use when you need to interact with Basecamp projects, todos, messages, schedules, kanban cards, documents, or campfires. Provides 76 MCP tools for AI-driven project management workflows. It is an AI Agent Skill for Claude Code / OpenClaw, with 2084 downloads so far.

How do I install Basecamp CLI?

Run "/install basecamp-cli-mcp" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Basecamp CLI free?

Yes, Basecamp CLI is completely free (open-source). You can download, install and use it at no cost.

Which platforms does Basecamp CLI support?

Basecamp CLI is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Basecamp CLI?

It is built and maintained by drkraft (@drkraft); the current version is v2.0.0.

💬 Comments