MCP server for Teamleader Focus CRM. Use Teamleader in Claude and other AI assistants.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
boostu-teamleader-mcp is a Model Context Protocol server that exposes the Teamleader Focus API to AI assistants β including Claude Desktop, Claude Code, Cursor, and Windsurf. It provides over 100 tools spanning the full Teamleader Focus surface: CRM (contacts, companies, deals), sales documents (quotations, invoices, credit notes), product catalog, subscriptions, projects, time tracking, customer-service tickets, and more. Point your AI at it and manage your entire CRM through natural language.
Prefer not to self-host?
Use the managed, always-on edition at teamleader-mcp.boostu.be β no OAuth setup, magic-link login, and a one-click connector for Claude. Free during the preview, paid plans after.
This repository is the open-source MCP server itself: run it locally with your own Teamleader integration. The hosted edition adds multi-tenant authentication, a dashboard, usage insights, and managed token handling on top of the same server.
| Self-host (this repo) | Managed (boostu.be) | |
|---|---|---|
| Price | Free, MIT-licensed | Free preview, then paid |
| Setup | Create your own Teamleader integration, run via npx | Copy one connector URL into Claude |
| Tokens | You manage .env and the refresh token | Encrypted and rotated for you |
| Best for | Developers and self-hosters | Non-technical teams |
You ask Claude in plain language. Claude calls this MCP server, which authenticates to Teamleader Focus over OAuth2 and runs the matching API call. Your data stays in Teamleader; this server only brokers the calls.
Use the outline button at the top-right of this file to jump to any section.
TEAMLEADER_TOOLS to keep your assistant's context leanAdd to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
Add to your project's .mcp.json or ~/.claude/mcp.json:
Add to .cursor/mcp.json in your project root (or the global ~/.cursor/mcp.json):
Add to ~/.codeium/windsurf/mcp_config.json:
You need three env vars: TEAMLEADER_CLIENT_ID, TEAMLEADER_CLIENT_SECRET, and TEAMLEADER_REFRESH_TOKEN. Obtain them by registering an integration in the Teamleader Marketplace / Developer portal and completing the OAuth2 authorization flow.
Teamleader rotates the refresh token on every API call. Set TEAMLEADER_TOKEN_STORE to a writable file path so the server can persist the latest token between restarts β without it the token in your config will go stale after the first restart.
For the full step-by-step walkthrough (authorize URL, code exchange, helper scripts) see docs/AUTHENTICATION.md.
| Name | Required | Description |
|---|---|---|
TEAMLEADER_CLIENT_ID | Yes | OAuth2 client ID from your Teamleader integration |
TEAMLEADER_CLIENT_SECRET | Yes | OAuth2 client secret from your Teamleader integration |
TEAMLEADER_REFRESH_TOKEN | Yes | Initial refresh token obtained from the OAuth2 authorization flow |
TEAMLEADER_TOKEN_STORE | No | Path to a writable file where the server persists the rotated refresh token (e.g. /var/run/teamleader-token). Strongly recommended in production. |
TEAMLEADER_TOOLS | No | Comma-separated list of tool group keys to enable. When unset, all 21 groups are loaded. |
Use TEAMLEADER_TOOLS to limit which tool groups are registered. This is useful when you want to keep the assistant's tool list small or restrict access to certain areas of Teamleader.
Full list of group keys:
| Key | What it covers |
|---|---|
contacts | Contacts CRUD |
companies | Companies CRUD |
deals | Deals / opportunities |
tasks | Tasks |
events | Calendar events |
invoices | Invoices (create, book, send, pay, download) |
quotations | Quotations (create, update, send, accept) |
products | Product catalog and price lists |
reference | Deal phases, tax rates, payment terms, etc. |
org | Users, teams, departments |
customFields | Custom field definitions |
creditNotes | Credit notes |
subscriptions | Recurring subscriptions |
projects | Projects and milestones |
timeTracking | Time log entries and live timers |
activities | Calls and meetings |
tickets | Support tickets |
tags | Add/remove tags on contacts and companies |
notes | Notes on any subject |
files | File list, download, upload |
webhooks | Webhook registration |
| Tool | Description |
|---|---|
teamleader_list_contacts | List contacts from Teamleader Focus with optional filtering and pagination |
teamleader_get_contact | Get detailed information about a specific contact |
teamleader_create_contact | Create a new contact in Teamleader Focus |
teamleader_update_contact | Update an existing contact in Teamleader Focus |
teamleader_link_contact_to_company | Link a contact to a company, optionally with position and decision maker flag |
teamleader_unlink_contact_from_company | Unlink a contact from a company in Teamleader Focus |
teamleader_update_contact_company_link | Update the position or decision maker flag on an existing contact-company link |
| Tool | Description |
|---|---|
teamleader_list_companies | List companies from Teamleader Focus with optional filtering and pagination |
teamleader_get_company | Get detailed information about a specific company |
teamleader_create_company | Create a new company in Teamleader Focus |
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/boostu-teamleader-mcp)<a href="https://allmcps.com/mcp/boostu-teamleader-mcp"><img src="https://allmcps.com/api/badge/boostu-teamleader-mcp?style=directory" alt="Boostu Teamleader MCP on AllMCPs" /></a>