KosmoKrator

productivity

Basecamp 3 CLI for AI Agents

Use the Basecamp 3 CLI from KosmoKrator to call Basecamp 3 tools headlessly, return JSON, inspect schemas, and automate workflows from coding agents, scripts, and CI.

7 functions 6 read 1 write Manual OAuth token auth

Basecamp 3 CLI Setup

Basecamp 3 can be configured headlessly with `kosmokrator integrations:configure basecamp`.

# Install KosmoKrator first if it is not available on PATH.
curl -fsSL https://raw.githubusercontent.com/OpenCompanyApp/kosmokrator/main/install.sh | bash

# Configure and verify this integration.
kosmokrator integrations:configure basecamp --set access_token="$BASECAMP_ACCESS_TOKEN" --set account_id="$BASECAMP_ACCOUNT_ID" --enable --read allow --write ask --json
kosmokrator integrations:doctor basecamp --json
kosmokrator integrations:status --json

Credentials

Authentication type: Manual OAuth token oauth2_manual_token. Configure credentials once, then use the same stored profile from scripts, coding CLIs, Lua code mode, and the MCP gateway.

KeyEnv varTypeRequiredLabel
access_token BASECAMP_ACCESS_TOKEN Secret secret yes Access Token
account_id BASECAMP_ACCOUNT_ID Text string yes Account ID
url BASECAMP_URL URL url no API Base URL

Call Basecamp 3 Headlessly

Use the generic call form when another coding CLI or script needs a stable universal interface.

kosmo integrations:call basecamp.basecamp_list_projects '{}' --json

Use the provider shortcut form for shorter human-facing commands.

kosmo integrations:basecamp basecamp_list_projects '{}' --json

Agent Discovery Commands

These commands return structured output for coding agents that need to inspect capabilities before choosing a function.

kosmo integrations:docs basecamp --json
kosmo integrations:docs basecamp.basecamp_list_projects --json
kosmo integrations:schema basecamp.basecamp_list_projects --json
kosmo integrations:search "Basecamp 3" --json
kosmo integrations:list --json

All CLI Functions

Every function below can be called headlessly. The generic form is stable across all integrations; the provider shortcut is shorter but specific to Basecamp 3.

basecamp.basecamp_list_projects

Read read

List all Basecamp projects visible to the authenticated user. Returns project names, IDs, descriptions, and creation dates.

Parameters
none

Generic CLI call

kosmo integrations:call basecamp.basecamp_list_projects '{}' --json

Provider shortcut

kosmo integrations:basecamp basecamp_list_projects '{}' --json

basecamp.basecamp_get_project

Read read

Get details for a single Basecamp project by ID. Returns the project name, description, members, and metadata.

Parameters
project_id

Generic CLI call

kosmo integrations:call basecamp.basecamp_get_project '{"project_id":1}' --json

Provider shortcut

kosmo integrations:basecamp basecamp_get_project '{"project_id":1}' --json

basecamp.basecamp_list_todos

Read read

List to-dos in a Basecamp to-do list. Requires the project ID, to-do set ID, and to-do list ID. Returns to-do items with their content, completion status, assignees, and due dates.

Parameters
project_id, todoset_id, todolist_id

Generic CLI call

kosmo integrations:call basecamp.basecamp_list_todos '{"project_id":1,"todoset_id":1,"todolist_id":1}' --json

Provider shortcut

kosmo integrations:basecamp basecamp_list_todos '{"project_id":1,"todoset_id":1,"todolist_id":1}' --json

basecamp.basecamp_create_todo

Write write

Create a new to-do in a Basecamp to-do list. Specify the project, to-do set, to-do list, and to-do text. Optionally include a description, due date, and assignee IDs.

Parameters
project_id, todoset_id, todolist_id, content, description, due_on, assignee_ids

Generic CLI call

kosmo integrations:call basecamp.basecamp_create_todo '{"project_id":1,"todoset_id":1,"todolist_id":1,"content":"example_content","description":"example_description","due_on":"example_due_on","assignee_ids":"example_assignee_ids"}' --json

Provider shortcut

kosmo integrations:basecamp basecamp_create_todo '{"project_id":1,"todoset_id":1,"todolist_id":1,"content":"example_content","description":"example_description","due_on":"example_due_on","assignee_ids":"example_assignee_ids"}' --json

basecamp.basecamp_list_messages

Read read

List messages (message board posts) for a Basecamp project. Returns message subjects, content excerpts, authors, and timestamps.

Parameters
project_id

Generic CLI call

kosmo integrations:call basecamp.basecamp_list_messages '{"project_id":1}' --json

Provider shortcut

kosmo integrations:basecamp basecamp_list_messages '{"project_id":1}' --json

basecamp.basecamp_get_message

Read read

Get a single message from a Basecamp project by ID. Returns the full message subject, content, author, and metadata.

Parameters
project_id, message_id

Generic CLI call

kosmo integrations:call basecamp.basecamp_get_message '{"project_id":1,"message_id":1}' --json

Provider shortcut

kosmo integrations:basecamp basecamp_get_message '{"project_id":1,"message_id":1}' --json

basecamp.basecamp_get_current_user

Read read

Get the profile of the currently authenticated Basecamp user. Returns name, email, avatar, and account details.

Parameters
none

Generic CLI call

kosmo integrations:call basecamp.basecamp_get_current_user '{}' --json

Provider shortcut

kosmo integrations:basecamp basecamp_get_current_user '{}' --json

Function Schemas

Use these parameter tables when building CLI payloads without calling integrations:schema first.

basecamp.basecamp_list_projects

List all Basecamp projects visible to the authenticated user. Returns project names, IDs, descriptions, and creation dates.

Operation
Read read
Schema command
kosmo integrations:schema basecamp.basecamp_list_projects --json
ParameterTypeRequiredDescription
No parameters.

basecamp.basecamp_get_project

Get details for a single Basecamp project by ID. Returns the project name, description, members, and metadata.

Operation
Read read
Schema command
kosmo integrations:schema basecamp.basecamp_get_project --json
ParameterTypeRequiredDescription
project_id integer yes The Basecamp project ID.

basecamp.basecamp_list_todos

List to-dos in a Basecamp to-do list. Requires the project ID, to-do set ID, and to-do list ID. Returns to-do items with their content, completion status, assignees, and due dates.

Operation
Read read
Schema command
kosmo integrations:schema basecamp.basecamp_list_todos --json
ParameterTypeRequiredDescription
project_id integer yes The Basecamp project ID.
todoset_id integer yes The to-do set (bucket) ID within the project. Typically found in the project's "todolists" tool.
todolist_id integer yes The specific to-do list ID to retrieve to-dos from.

basecamp.basecamp_create_todo

Create a new to-do in a Basecamp to-do list. Specify the project, to-do set, to-do list, and to-do text. Optionally include a description, due date, and assignee IDs.

Operation
Write write
Schema command
kosmo integrations:schema basecamp.basecamp_create_todo --json
ParameterTypeRequiredDescription
project_id integer yes The Basecamp project ID.
todoset_id integer yes The to-do set (bucket) ID within the project.
todolist_id integer yes The specific to-do list ID to add the to-do to.
content string yes The to-do text (e.g., "Review pull request").
description string no Extended description for the to-do. Supports HTML formatting.
due_on string no Due date in ISO 8601 format (e.g., "2026-04-30").
assignee_ids array no List of person IDs to assign (e.g., [1234, 5678]).

basecamp.basecamp_list_messages

List messages (message board posts) for a Basecamp project. Returns message subjects, content excerpts, authors, and timestamps.

Operation
Read read
Schema command
kosmo integrations:schema basecamp.basecamp_list_messages --json
ParameterTypeRequiredDescription
project_id integer yes The Basecamp project ID.

basecamp.basecamp_get_message

Get a single message from a Basecamp project by ID. Returns the full message subject, content, author, and metadata.

Operation
Read read
Schema command
kosmo integrations:schema basecamp.basecamp_get_message --json
ParameterTypeRequiredDescription
project_id integer yes The Basecamp project ID.
message_id integer yes The message (board post) ID.

basecamp.basecamp_get_current_user

Get the profile of the currently authenticated Basecamp user. Returns name, email, avatar, and account details.

Operation
Read read
Schema command
kosmo integrations:schema basecamp.basecamp_get_current_user --json
ParameterTypeRequiredDescription
No parameters.

Permissions

Headless calls still follow the integration read/write permission policy. Configure read/write defaults with integrations:configure. Add --force only for trusted automation that should bypass that policy.