Basecamp Cli Mcp — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Basecamp Cli Mcp (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Retired, October 2026. This server wrapped the basecamp CLI, which Future Workshops no longer uses. It has been replaced by basecamp-mcp-rails, a hosted Rails MCP server that connects to Basecamp with "Sign in with Basecamp" and needs no CLI install. Use that instead.>
This repository is archived and read-only, and gets no further fixes or security updates. The instructions below are kept for reference only.
A Model Context Protocol (MCP) server that wraps the basecamp CLI. Every non-shortcut CLI action (projects list, todos create, cards update, etc.) is exposed as an MCP tool, so MCP-compatible clients (Claude Code, Claude Desktop, etc.) can drive Basecamp directly.
basecamp CLI on PATH, already authenticated (basecamp setup) — see First-time setup below to do both in one commanduv for the recommended installIf you don't have the basecamp CLI installed yet:
uvx basecamp-cli-mcp setupThis checks for the basecamp binary, runs the official installer (curl -fsSL https://basecamp.com/install-cli | bash) after a y/N prompt if it's missing, then runs basecamp setup to walk you through OAuth.
On macOS, after auth completes it offers to:
basecamp to your claude_desktop_config.json (with a timestamped backup of any existing file). You'll choose between:projects_list). A focused tool set that's easier for agents to navigate.macOS and Linux only for the install/auth — on Windows the command prints the PowerShell installer and exits. The Claude Desktop step is macOS-only.
The fastest way — no install step at all:
uvx basecamp-cli-mcpuvx resolves the package, runs it in an ephemeral isolated env, and exec's it on stdin/stdout.
To install permanently:
uv tool install basecamp-cli-mcp
basecamp-cli-mcpclaude mcp add basecamp -- uvx basecamp-cli-mcpclaude_desktop_config.json){
"mcpServers": {
"basecamp": {
"command": "uvx",
"args": ["basecamp-cli-mcp"]
}
}
}If uvx isn't on Desktop's PATH (it strips most of your shell PATH), use the absolute path — which uvx from your shell.
By default the server exposes all 250+ tools. Most agents only need a handful, and a smaller catalog speeds up tool selection. Filter with --include / --exclude (fnmatch globs against tool names; both flags repeatable):
basecamp-cli-mcp --include 'cards_*' --include 'todos_*'
basecamp-cli-mcp --include '*' --exclude 'webhooks_*' --exclude 'templates_*'Register multiple profiles in claude_desktop_config.json and turn them on per task:
{
"mcpServers": {
"basecamp-cards": {
"command": "uvx",
"args": ["basecamp-cli-mcp", "--include", "cards_*", "--include", "projects_list"]
},
"basecamp-todos": {
"command": "uvx",
"args": ["basecamp-cli-mcp", "--include", "todos_*", "--include", "projects_list"]
},
"basecamp-full": {
"command": "uvx",
"args": ["basecamp-cli-mcp"]
}
}
}BASECAMP_BINIf the basecamp CLI isn't on the spawned process's PATH (a real risk under Claude Desktop), set:
"env": { "BASECAMP_BIN": "/absolute/path/to/basecamp" }Tool schemas are pre-generated and committed to src/basecamp_cli_mcp/data/tools.json (shipped inside the wheel as package data). At runtime the server loads that file and registers one MCP tool per entry. Each tool:
argv from positional arguments and flags defined in the schema.basecamp <group> <action> <args...> --json.data field from the CLI's {ok, data} envelope to the MCP client.Shortcut commands (todo, done, card, comment, etc.) are intentionally excluded — their underlying actions (todos_create, cards_create, …) are already exposed.
After upgrading the basecamp CLI:
uv run basecamp-cli-mcp generateReview the diff in src/basecamp_cli_mcp/data/tools.json and commit. The generator reads basecamp commands --json and parses basecamp <group> <action> --help for each action.
uv sync
uv run pytest
uv build # wheel + sdist into dist/Layout:
src/basecamp_cli_mcp/server.py — wires up the MCP server from data/tools.jsonsrc/basecamp_cli_mcp/runner.py — builds argv and shells outsrc/basecamp_cli_mcp/generator.py — regenerates data/tools.jsonsrc/basecamp_cli_mcp/help_parser.py — parses --help text into a schemasrc/basecamp_cli_mcp/cli.py — entrypoint (basecamp-cli-mcp)src/basecamp_cli_mcp/data/tools.json — generated tool schemas (committed)~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.