Setting Up Claude with a Basecamp MCP Server
- Aayush Maggo
- Jul 28
- 3 min read
A bit late to the party, but integrating Claude with local MCP servers for different tools has genuinely changed how I work. I’ve been using Claude as a writing, research assistant and analysis for a while now, but once I started connecting it to tools I use daily - like Basecamp, Search Console, GA4 - it became much more practical. This guide is a quick summary of how I got the Basecamp MCP server running locally and connected to Claude Desktop.
If you’re reasonably comfortable with Node, environment variables, and editing config files, the whole thing is pretty straightforward.
What MCP Does
MCP (Model Context Protocol) lets Claude talk to your tools through a standard interface. It’s basically a way to expose local or remote APIs as structured tools Claude can use.
The idea is that you run an MCP server that defines specific functions—“list Basecamp projects,” “create a to-do,” etc. and Claude can call them like any other tool.

This is especially useful if you work with structured data or task management platforms and want to keep your workflow in one place.
Tools I Used
Claude Desktop
Basecamp account (you’ll need to register a personal app)
Node.js installed locally
Terminal and basic git setup
1. Clone the Basecamp MCP Server
The server I used is maintained on GitHub here:https://github.com/georgeantonopoulos/Basecamp-MCP-Server
Clone and enter the project directory:
git clone https://github.com/georgeantonopoulos/Basecamp-MCP-Server.git
cd Basecamp-MCP-Server
2. Configure the .env File
Copy the sample environment file:
cp .env.example .env
Then open .env and fill in the values. You’ll need:
CLIENT_ID
CLIENT_SECRET
REDIRECT_URI
These come from Basecamp. You can register a new personal access app here:https://launchpad.37signals.com/integrations
Make sure your REDIRECT_URI matches exactly between Basecamp and the .env file.
3. Install Dependencies and Authenticate
Install dependencies:
npm install
Run the authentication flow:
npm run auth
It’ll open your browser and prompt you to authorise the app. Once done, the token is saved locally.
Then start the server:
npm start
You should see logs indicating that the server is listening and the available tools are registered.
4. Connect It to Claude Desktop
Claude needs to know where your MCP server is running. You do that by editing (or creating) a config file:
Path (macOS):
~/Library/Application Support/Claude/claude_desktop_config.json
Example config:
{
"mcp": {
"servers": [
{
"name": "Basecamp",
"url": "http://localhost:3000"
}
]
}
}
Restart Claude Desktop. Once it’s running, you can start referencing Basecamp in your chats and Claude will use the local server to respond.

What It Can Do
The MCP server comes with a few built-in tools:
list_projects
list_todos
create_todo
get_thread_summary
get_latest_threads
You can view and modify the manifest if you want to extend the functionality. I haven’t gone that far yet, but it’s clear how it’s structured.
What I Actually Use It For
This isn’t just theoretical - it’s now part of my daily workflow. I use it for:
Generating summaries of recent project threads
Creating to-dos directly from notes or conversations
Reviewing open tasks before team check-ins
Drafting updates or reports with Claude pulling real data
It’s not replacing a PM tool, but it reduces a lot of manual back-and-forth.
Notes
This runs locally. Claude won’t access Basecamp unless the server is online.
If something breaks, check the terminal output - it’s usually an auth issue or missing variable.
You can run other MCP servers in parallel by adding them to the config file.
That’s It
If you’ve already got Claude Desktop installed, this setup doesn’t take long. It’s reliable, and once running, it just fades into the background. You start working more through Claude and spend less time jumping between tools.
Let me know if you need help extending the server or wiring in another tool. I’ll probably do Notion next.
Let me know if you want this formatted for internal documentation or turned into a step-by-step script.
Comments