Basecamp 2 MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| USER_AGENT | No | Identifies your integration, e.g. MyApp (you@example.com) | |
| BASECAMP_PASSWORD | No | Your Basecamp password (Basic Auth alternative) | |
| BASECAMP_USERNAME | No | Your Basecamp email (Basic Auth alternative) | |
| BASECAMP_CLIENT_ID | No | Required for automatic token refresh (if refresh token is provided) | |
| BASECAMP_ACCOUNT_ID | No | Your account ID — printed by the auth helper, or found in the URL: basecamp.com/{account_id}/ | |
| BASECAMP_ACCESS_TOKEN | No | OAuth 2 access token | |
| BASECAMP_CLIENT_SECRET | No | Required for automatic token refresh (if refresh token is provided) | |
| BASECAMP_REFRESH_TOKEN | No | Enables automatic token refresh when the access token expires |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_projectsA | List all active Basecamp 2 projects |
| get_projectB | Get a single Basecamp 2 project by ID |
| get_meA | Get the currently authenticated Basecamp 2 user |
| list_peopleA | List all people in the Basecamp 2 account |
| get_personA | Get a single person in the Basecamp 2 account by ID |
| list_todolistsC | List all todo lists in a Basecamp 2 project |
| get_todolistB | Get a single todo list with its todos |
| create_todolistC | Create a new todo list in a Basecamp 2 project |
| list_todosC | List all todos in a todo list |
| get_todoB | Get a single todo item |
| create_todoC | Create a new todo item in a todo list |
| update_todoC | Update an existing todo item |
| complete_todoC | Mark a todo as completed |
| delete_todoC | Delete a todo item |
| list_topicsA | List all topics (messages, forwards, etc.) in a Basecamp 2 project |
| get_messageB | Get a single message from a Basecamp 2 project |
| create_messageB | Post a new message to a Basecamp 2 project |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 17 tools
Most tools target distinct resource+action pairs (todo, todolist, project, person, message). Minor overlap exists between list_topics and get_message/create_message since messages are a subset of topics, and get_me vs get_person/list_people could momentarily confuse, but overall boundaries are clear.
Every tool follows a consistent verb_noun snake_case pattern: list_x, get_x, create_x, update_x, complete_x, delete_x. Even get_me fits the convention, making the set highly predictable.
17 tools is slightly heavy but well-scoped across five resources (projects, todolists, todos, messages, people). Each tool earns its place, with no obviously redundant entries.
Todos have full lifecycle (create/get/list/update/complete/delete), but todolists lack update/delete, messages lack update/delete (and only list_topics surfaces them), and projects lack create/update/delete. These notable gaps leave dead ends for common management workflows.