
Boostu Teamleader Mcp
io.github.boostuagencyPublished by GitHub account boostuagencyv2.1.4Updated Nov 10, 2026
MCP server for Teamleader Focus CRM. Use Teamleader in Claude and other AI assistants.
Overview
Local MCP server that lets an AI assistant read and change Teamleader Focus CRM data — contacts, companies, deals, quotations, invoices, projects and tickets.
- What you can do
- Create, update and link contacts and companies, and manage deals across pipelines
- Create, update, send and accept quotations; create, book, send and pay invoices; list credit notes
- Browse products, price lists, categories and units, plus reference data such as deal phases, tax rates and payment terms
- Manage projects, milestones, time entries and live timers, and schedule or complete calls and meetings
- Open and reply to support tickets, add tags and notes, list and upload files, and register webhooks
- Look up users, teams, departments and custom field definitions
- When to use it
- Useful when your CRM, quoting and invoicing live in Teamleader Focus and you want an assistant to draft quotations, book and send invoices, log time, or answer questions about deals and customers without switching apps.
- Requirements
- Runs locally via npx or a global npm install (Node.js). Needs a Teamleader Focus integration with TEAMLEADER_CLIENT_ID, TEAMLEADER_CLIENT_SECRET and TEAMLEADER_REFRESH_TOKEN from the OAuth2 authorization flow. Set TEAMLEADER_TOKEN_STORE to a writable file path, since Teamleader rotates the refresh token on every call. TEAMLEADER_TOOLS optionally limits which tool groups load.
Installation
In SourceWeft
- Open Boostu Teamleader Mcp in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
🔗 BoostU Teamleader MCP
The open-source Teamleader Focus MCP server. Manage your CRM from Claude and other AI assistants, in plain language. 🤖
[CI] [npm version] [npm downloads] [node] [Model Context Protocol] [tools] [License: MIT] [Made by BoostU]
💡 What is this?
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.
🔌 How it works
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.
✨ Highlights
- 👥 Full CRM: create and update contacts, companies, and deals across all pipelines
- 🧾 Quotations and invoicing: create quotations on deals, book invoices into accounting, send by email, and register payments
- 📦 Product catalog: browse products, categories, price lists, and units of measure
- 🔁 Subscriptions: create, update, and deactivate recurring subscriptions
- 📊 Projects and time tracking: manage projects, milestones, log time entries, and start/stop live timers
- 🎫 Customer-service tickets: open tickets, post replies, and update statuses
- 🔎 Reference-data lookups: resolve deal phases, pipelines, tax rates, payment terms, lost reasons, and more
- 🔐 OAuth2 with automatic refresh-token rotation: tokens are refreshed transparently; rotated tokens are persisted to a configurable file
- 🧩 Selectable tool groups: load only the groups you need via
TEAMLEADER_TOOLSto keep your assistant's context lean
🚀 Quick Start
Run without installing
Global install
Claude Desktop
Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
Claude Code
Add to your project's .mcp.json or ~/.claude/mcp.json:
Cursor
Add to .cursor/mcp.json in your project root (or the global ~/.cursor/mcp.json):
Windsurf
Add to ~/.codeium/windsurf/mcp_config.json:
🔐 Authentication
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.
⚙️ Configuration
Environment variables
Selective tool groups
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:
🧰 Available Tools
Contacts
Companies
Deals
Tasks
Events
Invoices
Quotations
Products
Reference Data
Organisation
Custom Fields
Credit Notes
Subscriptions
Projects
Time Tracking
Activities (Calls & Meetings)
Tickets
Tags
Notes
Files
Webhooks
💬 Example Prompts
🐳 Docker
🛠️ Development
🏗️ Architecture
The core of the server is createServer in src/server.ts, which is transport-agnostic — it takes a TeamleaderClient and registers the enabled tool groups, returning a plain McpServer instance that the entry point (src/index.ts) wires to a StdioServerTransport. Tool logic lives in per-domain modules under src/tools/, each following a consistent try / respond / catch / respondError pattern using shared helpers in src/lib/. OAuth2 token acquisition and rotation are handled entirely in src/api/auth.ts, transparent to the rest of the codebase. A hosted, multi-tenant edition of this server is available at teamleader-mcp.boostu.be.
✅ Endpoint Verification
Most read endpoints (*.list, *.info) have been live-verified against the Teamleader Focus API. Several write and action endpoints (e.g. subscriptions.create, projects.create, files.upload) are implemented from the official documentation but have not been tested against a live account with the relevant module active. If an endpoint name is wrong, the call will fail with a clear HTTP error message rather than silently misbehaving. The full endpoint manifest and verification status are documented in docs/teamleader-endpoints.md.
🤝 Contributing
See CONTRIBUTING.md for development setup, commit conventions, and instructions on adding new tool groups.
🔒 Security
Report security vulnerabilities to [email protected] — do not open a public issue. See SECURITY.md for the disclosure policy. Never commit .env files or .teamleader-token to version control; both are listed in .gitignore.
⚖️ Disclaimer
This is an independent, community-built integration. It is not affiliated with, endorsed by, or sponsored by Teamleader NV. "Teamleader" and "Teamleader Focus" are trademarks of Teamleader NV and are used here only to describe compatibility. You are responsible for your own use of the Teamleader API under Teamleader's terms.
📄 License
MIT License — Copyright (c) 2026 BoostU Agency. See NOTICE for upstream attribution.
Source: README.md at commit 6097220
Tools
0Version history
1- v2.1.4LatestSep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts
