basecamp-mcp
An MCP (Model Context Protocol) server that gives Claude read access to your Basecamp account. Works with Claude Desktop, Claude Code, and any MCP-compatible client.
V1 is read-only — search, browse, and read your Basecamp projects, messages, todos, documents, files, and schedules. No write operations.
Setup
1. Register a Basecamp OAuth App (once per team)
Someone on your team registers an OAuth app with Basecamp. Everyone else can reuse the same Client ID and Secret — each person authorizes their own account separately.
- Go to launchpad.37signals.com/integrations and log in with your Basecamp account
- Click "Register another application"
- Fill in the form:
- Name:
Basecamp MCP(or whatever you like) - Company: Your company name
- Website URL:
https://github.com/jacobfiler/basecamp-mcp - Redirect URI:
http://localhost:8000/callback— must be exact
- Name:
- Click "Register this app"
- You'll see your Client ID and Client Secret — share these with your team
2. Install
pip install basecamp-mcp
Windows:
py -m pip install basecamp-mcp
3. Authorize
basecamp-mcp auth
Windows (if basecamp-mcp isn't on PATH):
py -m basecamp_mcp.server auth
This will:
- Ask for the Client ID and Client Secret from step 1
- Open your browser to authorize with Basecamp — click "Yes, I'll allow access"
- Save your tokens locally (
~/.config/basecamp-mcp/on Mac/Linux,%APPDATA%\basecamp-mcp\on Windows) - Automatically configure Claude Desktop (if installed)
That's it! Restart Claude Desktop and your Basecamp tools are ready.
Manual Claude Desktop Setup (if auto-config didn't work)
Open Claude Desktop's config file:
- Mac:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
Add the basecamp server (merge with any existing mcpServers):
{
"mcpServers": {
"basecamp": {
"command": "basecamp-mcp",
"args": []
}
}
}
4. Use It
Ask Claude things like:
- "List my Basecamp projects"
- "Find the style guide in our Basecamp"
- "Show me the messages in the Marketing project"
- "Search all projects for the onboarding checklist"
- "What todos are assigned in the Q2 Planning project?"
- "Read the latest message in HQ"
- "Browse the docs and files in the Marketing project"
Available Tools
| Tool | Description |
|---|---|
list_projects |
List all projects you can access |
get_project |
Get project details by ID or name (fuzzy match) |
search_project |
Search a project's messages, docs, files, and todos by keyword |
search_all_projects |
Search across ALL projects by keyword |
browse_vault |
Browse a project's Docs & Files (folders, documents, uploads) |
list_messages |
List messages on a project's message board |
read_message |
Read a message + all its comments |
list_todolists |
List todolists in a project |
list_todos |
List todos in a todolist (pending or completed) |
read_todo |
Read a todo + its comments |
list_schedule_entries |
List calendar entries in a project's schedule (with optional date filtering) |
read_schedule_entry |
Read a schedule entry + its comments |
list_people |
List all people in the account |
list_documents |
List docs in a vault folder |
read_document |
Read a document's content |
Optional: Document Search
If you have a document ingestion service that indexes .docx files from Basecamp, you can connect it for full-text search:
basecamp-mcp connect-docs
This adds two additional tools: search_document_content and document_stats.
How It Works
Config file (your credentials, never shared)
|
basecamp-mcp (MCP stdio server, runs locally)
|
Basecamp API (https://3.basecampapi.com)
- Each user runs their own instance with their own OAuth tokens
- The Client ID/Secret identify the app, not the user — safe to share across a team
- No shared server — credentials never leave your machine
- Tokens auto-refresh when they expire (access tokens last 2 weeks, refresh tokens last 10 years)
- Config stored at
~/.config/basecamp-mcp/(Mac/Linux) or%APPDATA%\basecamp-mcp\(Windows)
Development
git clone https://github.com/jacobfiler/basecamp-mcp.git
cd basecamp-mcp
pip install -e .
# Run auth flow
basecamp-mcp auth
# Run server directly
basecamp-mcp
License
MIT
Metadata
Release files for basecamp-mcp 0.4.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| basecamp_mcp-0.4.0.tar.gz | 18.7 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| basecamp_mcp-0.4.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 37.5 kB
Release files / basecamp_mcp-0.4.0.tar.gz
| Download URL | basecamp_mcp-0.4.0.tar.gz |
|---|---|
| Size | 18.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
705e570f0cefb8f38223b0aa94a6f8b974d340e8451648de44389c1a69d000fc
|
|
BLAKE2b-256 checksum How to use checksums |
62427e2e46ca5d94c0f63543ac6591c5093fb6f106ac879ed38eff3ceeb8827b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.2
|
Release files / basecamp_mcp-0.4.0-py3-none-any.whl
| Download URL | basecamp_mcp-0.4.0-py3-none-any.whl |
|---|---|
| Size | 18.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
21210ad51af3e2b126a4cfbaa8198ea4b7b717d9b2e499736b0a3291869fe7b4
|
|
BLAKE2b-256 checksum How to use checksums |
75368bd26e1e4d2d74e7d60455cba08e1b6ebc5ddeb573853486ba52f89a2934
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.2
|
Security for basecamp-mcp 0.4.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.