Basecamp MCP Server
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.
README
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 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, 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 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
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
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
E2B
Using MCP to run code via e2b.