Provides tools for managing Basecamp projects, including listing projects with detailed information, managing to-do sets and lists, accessing message boards with rendered content, and creating new to-dos with optional due dates.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Basecamp MCP Serverlist my recent projects with their current status"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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
Linkheader (exposesnextPage)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 listslist_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 paginationOptional 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, optionaldue_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 .env file at the project root.
This file is referenced by the MCP server configuration below.
Do not commit your
.envfile 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 informationResolve 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 projectget content for this message "{messageId / title"Pagination: responses include
nextPagefrom the RFC5988Linkheader. 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
429usingRetry-After.No to‑do set / message board: that project may not have those tools enabled in its dock.
License
Acknowledgments
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.