Skip to main content
Glama
jpaoad31
by jpaoad31

basecamp-mcp

An MCP server that exposes the basecamp CLI to Claude Desktop (and any other MCP client) over HTTP. It runs as a login-time background service and is reached at a local URL.

It's a thin wrapper: each MCP tool shells out to basecamp <cmd> --json and returns the parsed result. Authentication is handled entirely by the CLI's own token store — this server never sees your password and holds no credentials.

Architecture

Claude Desktop ──HTTP(/mcp)──▶ basecamp-mcp (bun, :7331) ──spawn──▶ basecamp CLI ──▶ Basecamp API
     custom connector           launchd LaunchAgent, runs at login
  • Transport: MCP Streamable HTTP (Web-standard Request/Response via Bun.serve).

  • Bind address: 127.0.0.1 only, with DNS-rebinding protection — not reachable off-box.

  • Lifecycle: a launchd LaunchAgent (RunAtLoad + KeepAlive) starts it at login and restarts it if it dies.

  • Runtime: compiled to a single standalone executable with bun build --compile — Bun is only needed to build, not to run.

Related MCP server: Basecamp MCP Server

Quick start (macOS)

You don't need anything installed first — the setup script handles it all (Homebrew, the basecamp CLI, and Bun).

  1. Open Terminal and paste this, then press Return:

    git clone https://github.com/jpaoad31/basecamp-mcp.git
    cd basecamp-mcp
    ./setup.sh

    It installs the prerequisites, builds the server, sets it to start at login, and opens a browser to log you into Basecamp. If asked for your Mac password, that's Homebrew installing — it's expected.

  2. When it finishes it prints a URL. In Claude Desktop → Settings → Connectors → Add custom connector, paste that URL:

    http://127.0.0.1:7331/mcp

That's it. The server runs automatically every time you log in.

To update later: cd basecamp-mcp && git pull && ./setup.sh.

No git? (zip install)

If someone sent you a zip instead: double-click to unzip, drag the basecamp-mcp folder onto a Terminal window, press Return, then run ./setup.sh.

Prerequisites (manual install)

  • The basecamp CLI installed and on your PATH.

  • Bun (to build).

  • You must log the CLI in once: basecamp auth login.

Install

bun install
./install.sh          # or: bun run install-service

Packaging for someone else

./package.sh          # or: bun run package

Produces basecamp-mcp.zip (source + scripts only). Send it; they run ./setup.sh. The binary is compiled on their machine, which avoids macOS Gatekeeper quarantine.

This builds dist/basecamp-mcp, writes a LaunchAgent to ~/Library/LaunchAgents/com.basecamp.mcp.plist, loads it, and health-checks it.

Then in Claude Desktop → Settings → Connectors → Add custom connector, use:

http://127.0.0.1:7331/mcp

Tools

Tool

What it does

basecamp_auth_status

Report CLI auth status

basecamp_projects_list

List projects (optionally by status)

basecamp_search

Full-text search across all content

basecamp_show

Show any item by ID or URL

basecamp_todos_list

List todos in a project

basecamp_todo_create

Create a todo

basecamp_todo_complete

Complete todo(s)

basecamp_message_post

Post to a message board

basecamp_comment_add

Comment on an item

basecamp_card_create

Create a card in a card table

basecamp_chat_list

List chats/campfires

basecamp_chat_messages

Read recent chat messages

basecamp_chat_post

Post a chat message

basecamp_cli

Escape hatch: run any basecamp command by argv

Development

bun run dev      # watch mode, http://127.0.0.1:7331/mcp
bun run start    # run once
bun run build    # produce dist/basecamp-mcp
curl -s http://127.0.0.1:7331/health   # liveness

Override the port with PORT=… and the CLI location with BASECAMP_BIN=….

Uninstall

./uninstall.sh   # or: bun run uninstall-service

Notes & caveats

  • Security: the basecamp_cli escape hatch can run any CLI command (including destructive ones and auth token). The server is bound to loopback for exactly this reason — anyone who can reach the port acts as you.

  • Claude Desktop connectors: local http:// connector URLs work with recent Desktop builds. If yours refuses a non-HTTPS URL, either update Desktop or fall back to a stdio MCP config pointing at the binary.

  • Logs: ~/Library/Logs/basecamp-mcp.log.

A
license - permissive license
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/jpaoad31/basecamp-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server