Basecamp MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| BASECAMP_CLIENT_ID | Yes | Your Basecamp client ID | |
| BASECAMP_USER_AGENT | Yes | Your app user agent (YourApp (your@email.com)) | |
| BASECAMP_CLIENT_SECRET | Yes | Your Basecamp client secret | |
| BASECAMP_REFRESH_TOKEN | Yes | Your Basecamp refresh token |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| basecamp_loginA | Authenticate with Basecamp via OAuth. Opens a browser window for authorization. If you have multiple Basecamp accounts, call first without account_id to see the list, then call again with the desired account_id. |
| basecamp_logoutA | Remove stored Basecamp credentials. |
| basecamp_whoamiA | Show the currently authenticated Basecamp user, or indicate if not logged in. |
| basecamp_list_projectsA | List all projects visible to the authenticated user in a Basecamp account. This tool returns active projects with their IDs, names, descriptions, and metadata. Use this to discover project/bucket IDs needed for accessing messages, todos, and other resources. |
| basecamp_get_projectA | Fetch detailed information about a specific Basecamp project. This tool retrieves complete project details including name, description, dock configuration, and metadata. Examples:
|
| basecamp_get_messageA | Retrieve a single message from a Basecamp message board. |
| basecamp_list_messagesA | List messages in a Basecamp message board |
| basecamp_list_message_typesA | List available message types/categories for a Basecamp project |
| basecamp_create_messageB | Create a new message in a Basecamp message board. |
| basecamp_update_messageA | Update a message. Use partial content operations when possible to save on token usage. HTML rules for content:
|
| basecamp_get_todosetA | Get todo set container for a project. Returns todo lists and groups. |
| basecamp_list_todosB | List todos in a todo list. Filter by status: 'active' or 'archived'. |
| basecamp_create_todoC | Create a new todo item in a todo list. HTML rules for content:
|
| basecamp_complete_todoB | Mark a todo as completed. |
| basecamp_uncomplete_todoB | Mark a todo as incomplete (undo completion). |
| basecamp_update_todoA | Update a todo item. Use partial content operations when possible to save on token usage. HTML rules for content:
|
| basecamp_list_commentsA | List comments on any Basecamp resource (message, todo, card, etc.). Works universally on all recording types. |
| basecamp_create_commentA | Add a comment to any Basecamp resource (message, todo, card, etc.). |
| basecamp_update_commentA | Update a comment. Use partial content operations when possible to save on token usage. HTML rules for content:
|
| basecamp_get_meA | Get personal information for the authenticated user (me). |
| basecamp_list_peopleA | List all people in the Basecamp account. |
| basecamp_get_personB | Get details about a specific person. |
| basecamp_list_kanban_columnsB | List all columns in a kanban board. |
| basecamp_list_kanban_cardsB | List cards in a kanban column. |
| basecamp_get_kanban_cardA | Get all details of a specific kanban card. |
| basecamp_create_kanban_cardA | Create a new card in a kanban column with optional checklist steps. HTML rules for content:
|
| basecamp_update_kanban_cardA | Update a kanban card including its steps. At least one field (title, content, partial content operations, or steps) must be provided. Use partial content operations when possible to save on token usage. HTML rules for content:
|
| basecamp_move_kanban_cardA | Move a kanban card to a different column and/or position within that column. |
| basecamp_list_recordingsA | Browse recent activity across Basecamp by listing recordings. Recordings represent all content in Basecamp: todos, messages, documents, comments, uploads, and more. Use this tool to:
All filters support multiple values for OR-matching. Examples:
|
| basecamp_list_campfire_messagesA | Browse chat messages from Basecamp Campfires. Campfires are real-time chat rooms within projects. Use this tool to:
All filters support multiple values for OR-matching. Examples:
|
| basecamp_list_vaultsA | List sub-vaults (folders) under a parent vault in the Docs & Files section. |
| basecamp_get_vaultA | Get details of a vault (folder) including document/upload/sub-vault counts. |
| basecamp_create_vaultA | Create a new vault (folder) under a parent vault. |
| basecamp_update_vaultA | Update the title of a vault (folder). |
| basecamp_list_documentsA | List documents in a vault. |
| basecamp_get_documentA | Retrieve a single document with its full content. |
| basecamp_create_documentA | Create a new document in a vault. HTML rules for content:
|
| basecamp_update_documentA | Update a document. Use partial content operations when possible to save on token usage. HTML rules for content:
|
| basecamp_list_uploadsA | List files uploaded to a vault in the Docs & Files section. |
| basecamp_get_uploadA | Get a file uploaded to a vault. For images, returns the image content that the LLM can see directly. For text-based files (plain text, CSV, JSON, XML, etc.), returns the file content as text. For other binary formats, returns metadata only. |
| basecamp_download_blobA | Download an inline attachment from a tag found in document/message/comment HTML content. Extract the blob_id and filename from the href attribute (format: https://storage.3.basecamp.com/{accountId}/blobs/{blobId}/download/{filename}). For images, returns the image content that the LLM can see directly. For text-based files, returns the file content as text. |
| basecamp_get_questionnaireA | Get the questionnaire (check-ins container) for a project. Returns the number of questions and their URL. |
| basecamp_list_questionsA | List all automatic check-in questions in a questionnaire. Returns each question's title, schedule, paused status, and answer count. |
| basecamp_get_questionA | Get a single automatic check-in question with its schedule and metadata. |
| basecamp_list_answersA | List answers to a specific check-in question. Returns each answer's content, author, and check-in date. |
| basecamp_get_answerA | Get a single check-in answer by its ID. |
| basecamp_create_answerB | Create a new answer for a check-in question. Content must be HTML. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
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/stefanoverna/basecamp-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server