At a glance
- Availability: Experimental (how to enable).
- Authentication: OAuth 2.0.
- Connection: A user authorizes the connection in the provider’s consent screen.
- Provider documentation: Authentication reference.
Credentials
Set these per environment. See Connect an integration. These variables are required only when you supply your own OAuth app. If a managed app is available, you can connect without setting them. Provider permissions and consent still apply.Setup
- Create a Basecamp account: Sign up at https://basecamp.com (a free trial works for testing). Note your account ID - it’s the number in the app URL, e.g. https://3.basecamp.com/5899981.
- Register an app on 37signals Launchpad: Go to https://launchpad.37signals.com/integrations and register a new app. Check ‘Basecamp 4’ as the product and set your redirect URI to your app’s /api/auth/basecamp/callback URL.
- Set environment variables: Copy the Client ID and Client Secret into your .env as BASECAMP_CLIENT_ID and BASECAMP_CLIENT_SECRET.
- Verify access: Complete the OAuth flow, then run List Projects with your account ID.
Provider notes
- Every API URL includes the account ID: https://3.basecampapi.com/{accountId}/… - tools take it as a required accountId parameter
- Basecamp OAuth has no scopes; tokens carry the user’s full access. Access tokens expire after two weeks and are renewed with the refresh token
- Basecamp requires a User-Agent identifying your app with contact info, and rate-limits to ~50 requests per 10 seconds
Tools
Verify the connection
Call a read tool such asbasecamp__list_projects with arguments for your account. Confirm that the result comes from the intended account or workspace before enabling write tools.