Pipedrive CRM as MCP tools: find deals, people and companies, and move deals through a pipeline.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
One-click editor setup isnβt available for this listing yet β we donβt have a confirmed install command, and weβd rather show nothing than point your editor at the wrong package or host. Follow the projectβs own setup instructions, linked above.
Pipedrive CRM as MCP tools. Find deals, people and companies, write to them, and move deals through a pipeline.
A single Go binary that speaks Model Context Protocol
over stdio β protocol revisions 2026-07-28 (the current one) back to
2024-11-05, negotiated per client. It runs as a subprocess of your client, on your own machine,
against one Pipedrive workspace: search by name and get back the ids
everything else needs, read deals, people, organizations, activities and
notes with their custom fields under the names your workspace gives them
and dropdown values under their labels, create and edit any of them, and
move a deal through its pipeline β won, lost, reopened, or into another
stage.
Pipedrive's own API is two APIs: a v2 that is current and a v1 whose
sunset date, 2026-07-31, has passed. This server commits to v2 and
carves out only what exists nowhere else β notes, and the whoami
lookup. Those four tools run on an API that is out of support; they
still answer, and there is no v2 to move them to, because v2 exposes no
/notes and no /users. Both carve-outs are documented at their call
sites and in CHANGELOG.md, because a v1 dependency
nobody wrote down is one nobody migrates β and a 410 from either now
reaches you as [gone], naming the sunset, rather than as a validation
error blaming your request.
Its tool surface follows the shipped Google Workspace MCP servers rather
than a house style of its own: reads stay discrete, every mutation goes
through one manage_ tool with an action, and writes explain their
refusals. Those are the servers a model has most likely already seen, so
matching them is what makes this one legible without being explained.
Writing is guarded because Pipedrive has no undo. Every write reads its target first and refuses to replace a field that already holds a value unless you say so, naming each field it is protecting. A refusal you cannot act on is a bug.
Every tool below is driven against a real Pipedrive workspace as well as
against the fakes the tests use β reads, resources, the guard refusals,
the rehearsal paths, and a reversible write on each resource that has
one. That rundown is a Go suite rather than a habit now: it lives in
internal/integration/ behind -tags=integration, and make integration runs it. Two things still bound it. The write probes need
a second opt-in on top of the tag, PIPEDRIVE_INTEGRATION_WRITES=1, so
a run without that proves the read half only β writing to a live CRM is
a decision, not a default. And it has been exercised against one
workspace, so a custom-field or permission setup unlike that one is
untested ground.
That puts the binary in Go's bin directory, which is often not on your
PATH. If the next command says command not found, either use the full
path or add the directory once:
Or take a signed archive from the
latest release
β Linux, macOS and Windows, on amd64 and arm64 β and put the binary on
your PATH. Nothing about a release has to be taken on trust:
The server stores your API token in the OS keyring (libsecret on Linux, Keychain on macOS, Credential Manager on Windows) rather than asking you to paste it into a JSON config. Full reference and validation rules: docs/configuration.md.
Pass --domain your-subdomain (or set PIPEDRIVE_COMPANY_DOMAIN) to
skip the domain prompt β useful in scripts.
After that, your MCP client config needs nothing about the workspace
domain or the token β both are resolved from the keyring + a small
non-secret pointer file (os.UserConfigDir()/pipedrive-mcp/config.json).
Run pipedrive-mcp status to verify, or pipedrive-mcp logout to
clear them.
To override the recorded domain in one shell (e.g. point at a
different workspace temporarily), set PIPEDRIVE_COMPANY_DOMAIN β
env wins over the userconfig pointer. For CI, automation, or one-off
use of a different token, set PIPEDRIVE_API_TOKEN. Env takes
precedence over the keyring, matching the gh and aws CLIs.
After pipedrive-mcp login has stored the token in your keyring AND
recorded the default domain in user-config, the Claude Desktop config
needs nothing β no secret, no domain:
To pin a specific workspace (e.g., when you have several stored), add
PIPEDRIVE_COMPANY_DOMAIN under env to override the recorded
default for this MCP server only.
Every setting is a PIPEDRIVE_* environment variable. The full list, with
defaults and validation rules, is in
docs/configuration.md. The ones that change what
the server will do at all:
| Env var | Required | Default | Purpose |
|---|---|---|---|
PIPEDRIVE_COMPANY_DOMAIN | only without login | β | Subdomain (e.g. acme for acme.pipedrive.com). After pipedrive-mcp login, recorded in user config and no longer required in env. |
PIPEDRIVE_API_TOKEN | no | β | CI/automation fallback. Prefer pipedrive-mcp login for interactive use. |
LOG_LEVEL | no | info | debug / info / warn / error. |
LOG_FORMAT | no | text | text / json. |
PIPEDRIVE_DRY_RUN | no | false | Server-wide dry-run floor: every write becomes a rehearsal. A per-call dry_run can only turn one on, never off. |
PIPEDRIVE_HTTP_TIMEOUT | no | 30s | Per-request outbound HTTP timeout. |
Twenty tools. Reads stay discrete and every mutation goes through one
manage_ tool with an action, which is how the Google Workspace MCP
servers shape theirs.
Start with search. It is the natural-language gateway: it turns a
name into the numeric id every other tool needs. Reaching for list_deals
to find "the Acme deal" is the common mistake β it filters, it does not
match names.
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/pipedrive-mcp)<a href="https://allmcps.com/mcp/pipedrive-mcp"><img src="https://allmcps.com/api/badge/pipedrive-mcp?style=directory" alt="Pipedrive MCP on AllMCPs" /></a>