WillDent/pipedrive-mcp-server
View on GitHub ↗Secure, self-hosted MCP server for Pipedrive CRM with v2 read tools, optional preview-first writes, stdio/HTTP transports, and Docker support.
60 ★47 forksTypeScriptUpdated 1mo ago
What you need to know
Single-tenant, self-hosted MCP server for Pipedrive built on Pipedrive API v2 for deals/persons/organizations/pipelines/stages/leads/item search (notes and users behind v1 adapters); read-only by default with two opt-in, preview-first write tools.
Install
npm install --global pipedrive-mcp-server PIPEDRIVE_API_TOKEN=your-token pipedrive-mcp-server
Usage
- •Set PIPEDRIVE_API_TOKEN and run over stdio (default) or MCP_TRANSPORT=http for Streamable HTTP at http://127.0.0.1:3000/mcp
- •Enable writes explicitly only, e.g. PIPEDRIVE_WRITE_TOOLS=move-deal,add-deal-note; both preview by default and mutate only with execute: true
- •Binding off loopback requires MCP_JWT_SECRET (HS256, >= 32 chars) plus MCP_ALLOWED_HOSTS and MCP_ALLOWED_ORIGINS allowlists
- •Use search-deals for title searches; get-deals supports owner/stage/pipeline/status/custom-field filters with cursor pagination
Key features
- ✓Read-only by default: deals, persons, organizations, pipelines, stages, leads and cross-entity search
- ✓Structured response contract (items/count/nextCursor/truncated/filters) and stable error shape that hides raw API errors and credentials
- ✓Two gated write tools (move-deal, add-deal-note) with preview-first execution and optimistic stale-state checks
- ✓Streamable HTTP with per-session servers, HS256 JWT bearer auth, host/origin allowlists and an unauthenticated /health endpoint
- ✓Docker compose image on GHCR running as the unprivileged node user
Best for
Querying Pipedrive CRM data from MCP agents with strict, self-hosted read-first access and optional gated writes
Caveats
- ⚠Single-tenant and self-hosted only - Pipedrive OAuth, MCP OAuth, persistent sessions, broad CRUD and destructive deletes are intentionally out of scope
- ⚠Notes and users still run behind v1 API adapters because Pipedrive hasn't moved those to v2
- ⚠Legacy SSE routes (/sse, /messages) are deprecated, on by default in 2.x, and planned for removal in 3.0
- ⚠Built-in HTTP server does not terminate TLS - put it behind a trusted HTTPS reverse proxy for remote access
Platforms: Local · RemoteClients: Generic MCP desktop clients
Reviewed 2026-08-18
Topics
ai-toolsautomationcrmdockermcpmcp-servermodel-context-protocolnodejspipedriveself-hostedstreamable-httptypescript
- Stars
- 60★
- Forks
- 47
- Language
- TypeScript
- License
- MIT
- Created
- 2025-03-13
- Last push
- 2026-07-21