Skip to main content
Glama

Basecamp MCP Server

Basecamp MCP Server (TypeScript)

A Model Context Protocol (MCP) server that exposes Basecamp tools to AI assistants (e.g., VS Code Chat in Agent mode).
Supports projects, to‑do sets/lists, messages (with rendered content), and creating to‑dos.


Features

  • Projects

    • list_projects — rich listing (status, timestamps, purpose, client flags, bookmarks, enabled dock tools)

    • Pagination via HTTP Link header (exposes nextPage)

    • Optional raw dock objects

  • To‑do sets / lists

    • Resolves a project’s to‑do set from the project dock

    • get_todoset — returns to‑do set id/url; optional lists

    • list_todolists — lists to‑do lists for a project’s to‑do set

  • Messages

    • list_messages — resolves the project Message Board from dock, lists messages with pagination

    • Optional full content rendering (markdown/html/text)

    • get_message — fetch a single message (rendered or raw JSON)

  • To‑dos

    • create_todo — create a to‑do in a list (title, description, optional due_on)


Project layout

src/ ├─ lib/ │ └─ basecamp.ts # Basecamp client (auth refresh, requests, pagination) ├─ tools/ │ ├─ projects.ts # list_projects │ ├─ todosets.ts # get_todoset, list_todolists │ ├─ messages.ts # list_messages, get_message │ └─ todos.ts # create_todo └─ basecamp-mcp.ts # entrypoint (register tools, start stdio server)

Quick start

# 1) Install dependencies npm install # 2) Build npm run build # 3) (Optional) sanity check node build/basecamp-mcp.js # (MCP servers sit and wait on stdio; no output is expected here)

Environment variables

Add your required values in a at the project root.
This file is referenced by the MCP server configuration below.

Do not commit your .env file to version control.


Configure in VS Code (MCP)

Create .vscode/mcp.json in this project:

{ "servers": { "basecamp": { "type": "stdio", "command": "node", "args": ["${workspaceFolder}/build/basecamp-mcp.js"], "envFile": "${workspaceFolder}/.env" } } }

Now restart the server from VS Code:

  • Command Palette → “MCP: List Servers” → basecamp → Start/Restart

  • Open Chat, switch to Agent, enable the basecamp tools.


Example tool calls (Agent mode)

Projects (JSON with dock):

Run basecamp.list_projects with { "format": "json", "dock_detail": true, "limit": 5 }

or natural language

retrieve all project information

Resolve to‑do set and lists:

Run basecamp.get_todoset with { "project_id": 123456789 } Run basecamp.list_todolists with { "project_id": 123456789 }

Natural language example

show todo sets and lists for project "{{prpjectName / Id}}"

Create a to‑do:

Run basecamp.create_todo with { "project_id": 123456789, "todolist_id": 222222222, "content": "Kickoff", "due_on": "2025-09-30" }

Natural language example

create a to-do in the "{to do list name}", titled "Update README.md"

Messages (rendered content):

Run basecamp.list_messages with { "project_id": 123456789, "page": 1, "format": "markdown", "include_body": true } Run basecamp.get_message with { "project_id": 123456789, "message_id": 987654321, "render": "markdown" }

or

get all messages from TestMCP project
get content for this message "{messageId / title"

Pagination: responses include nextPage from the RFC5988 Link header. Call again with { "page": <nextPage> }.


Troubleshooting (quick)

  • ESM import errors: make sure your project is configured for ESM/NodeNext (standard TS/Node setup).

  • 401/429 from API: verify tokens and reduce request volume; the client retries once on 429 using Retry-After.

  • No to‑do set / message board: that project may not have those tools enabled in its dock.


License

ISC

Acknowledgments

Deploy Server
-
security - not tested
A
license - permissive license
-
quality - not tested

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Enables AI assistants to interact with Basecamp projects through natural language commands. Supports managing projects, to-do lists, messages, and creating tasks with full content rendering capabilities.

  1. Features
    1. Project layout
      1. Quick start
        1. Environment variables
      2. Configure in VS Code (MCP)
        1. Example tool calls (Agent mode)
          1. Troubleshooting (quick)
            1. License
              1. Acknowledgments

                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/craigashields/basecamp-mcp'

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