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.
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.