home / mcp / basecamp mcp server
Provides access to Basecamp data and actions via MCP, including projects, messages, todos, comments, people, and kanban boards.
Configuration
View docs{
"mcpServers": {
"stefanoverna-basecamp-mcp": {
"command": "npx",
"args": [
"-y",
"basecamp-mcp@latest"
],
"env": {
"BASECAMP_CLIENT_ID": "your_client_id",
"BASECAMP_ACCOUNT_ID": "account_id",
"BASECAMP_USER_AGENT": "YourApp ([email protected])",
"BASECAMP_CLIENT_SECRET": "your_client_secret",
"BASECAMP_REFRESH_TOKEN": "your_refresh_token"
}
}
}
}The Basecamp MCP Server lets you connect large language models to Basecamp data, enabling interactive access to projects, messages, todos, comments, people, and kanban boards through a consistent MCP interface. This server runs locally or in your environment and exposes endpoints your MCP clients can use to perform Basecamp actions programmatically.
You use this MCP server by configuring an MCP client to connect to the server and by using the defined tools to access Basecamp data. Once connected, you can list projects, read and create messages, manage todos and comments, view people, and interact with kanban boards. Each tool corresponds to a specific Basecamp resource or action, and you can filter results or supply additional details to shape the operation.
Prerequisites: you need Node.js version 18 or newer installed on your system. You also need a working Basecamp OAuth setup to obtain the client credentials used by the server.
{
"mcpServers": {
"basecamp": {
"command": "npx",
"args": ["-y", "basecamp-mcp@latest"],
"env": {
"BASECAMP_CLIENT_ID": "your_client_id",
"BASECAMP_CLIENT_SECRET": "your_client_secret",
"BASECAMP_REFRESH_TOKEN": "your_refresh_token",
"BASECAMP_USER_AGENT": "YourApp ([email protected])",
"BASECAMP_ACCOUNT_ID": "account_id"
}
}
}
}Create a configuration file with the MCP server entry shown above. This config lets the MCP system start the Basecamp MCP server using Node/NPX. After you have the configuration in place, start the server from your project directory using the standard start command used by your environment.
Configuration details, security considerations, and troubleshooting follow in the sections below. You will find the exact environment variables required, a complete configuration example, and a list of all tools exposed by the server. Run the server in a project directory where you can manage environment variables securely and keep sensitive credentials out of version control.
Run the server in development or production mode using the package scripts or commands your project uses. Typical commands are shown in the examples and will start the MCP server so it can accept client connections.
The server requires Basecamp credentials and an account identifier. You must provide the following environment variables in your run environment or within the config snippet you load at startup.
{
"mcpServers": {
"basecamp": {
"command": "npx",
"args": ["-y", "basecamp-mcp@latest"],
"env": {
"BASECAMP_CLIENT_ID": "your_client_id",
"BASECAMP_CLIENT_SECRET": "your_client_secret",
"BASECAMP_REFRESH_TOKEN": "your_refresh_token",
"BASECAMP_USER_AGENT": "YourApp ([email protected])",
"BASECAMP_ACCOUNT_ID": "account_id"
}
}
}
}Treat your OAuth credentials and tokens as secrets. Do not commit them to version control. Use environment-specific configurations and rotate credentials as needed. Limit access to the MCP server to trusted clients and monitor access logs for unusual activity.
If you encounter connection issues, verify that the Basecamp credentials are correct and that the Basecamp account ID matches the account you intend to access. Ensure the MCP server is running in the same network as your MCP clients or accessible through your deployment environment. Check that Node.js 18+ is installed and that the startup command is executed from the correct directory.
List all accessible Basecamp projects with optional filters to refine results.
Fetch detailed information about a specific project, including its dock configuration.
List messages in a project’s message boards with optional filtering by type or other attributes.
List available message types or categories for a project.
Retrieve the details of a single message.
Create a new message with optional category and draft status.
Update a message with advanced content editing (full replace, append, prepend, or search/replace).
Retrieve a container that holds all todo lists for a project.
List todos within a list with status filters (active or archived).
Create a new todo with an optional description.
Mark a todo as complete.
Mark a todo as incomplete.
List comments on any resource across Basecamp.
Add a comment to any resource.
Update a comment with advanced content editing (full replace, append, prepend, or search/replace).
Get personal information for the authenticated user.
List people with optional filtering by name, email, or title.
Get details about a specific person.
List all kanban columns in a board.
List kanban cards in a column with steps and assignees.
Get complete details of a specific kanban card.
Create a new kanban card with title, content, and optional checklist steps.
Update a kanban card with advanced editing and metadata changes.
Move a kanban card to a different column or position.
Browse recent activity across projects with multiple filters for type, date, person, and text search.
Browse Campfire chat messages with filtering by campfire, person, text, and date range.