home / mcp / pipedrive mcp server
Provides full CRUD access to Pipedrive CRM data via MCP for reads and writes across deals, persons, organizations, activities, notes, and leads.
Configuration
View docs{
"mcpServers": {
"teapot-agency-mcp_pipedrive": {
"url": "http://localhost:3000",
"headers": {
"MCP_PORT": "3000",
"MCP_JWT_TOKEN": "eyJhbGciOi...",
"MCP_TRANSPORT": "stdio",
"MCP_JWT_SECRET": "your_jwt_secret",
"PIPEDRIVE_DOMAIN": "your-company.pipedrive.com",
"MCP_JWT_ALGORITHM": "HS256",
"PIPEDRIVE_API_TOKEN": "YOUR_API_TOKEN",
"PIPEDRIVE_RATE_LIMIT_MIN_TIME_MS": "250",
"PIPEDRIVE_RATE_LIMIT_MAX_CONCURRENT": "2"
}
}
}
}You set up a dedicated MCP server that provides full create, read, update, and delete access to Pipedrive CRM data. It enables Claude and other LLM-based tools to read and write Pipedrive records like deals, persons, organizations, activities, notes, and leads while offering safe operations, rate limiting, and flexible transport options.
Connect to the MCP server using your preferred MCP client. You can run the server locally in stdio mode for direct development or use Docker to expose an HTTP/SSE endpoint that your clients can reach. Once connected, you can perform read operations to fetch data, and write operations to create, update, or delete records. For safety, delete operations require explicit confirmation, and most deletions are soft deletes with a 30-day recovery period.
# Standard setup
npm install
# Create configuration
```
```
PIPEDRIVE_API_TOKEN=your_api_token_here
PIPEDRIVE_DOMAIN=your-company.pipedrive.com
```
```
# Build the project
npm run build
```
```
# Start the server locally (stdio transport)
npm start
```
```
# Docker Compose (standalone)
docker-compose up -d
```
```
# Docker (pre-built image, SSE transport)
docker run -d \
-p 3000:3000 \
-e PIPEDRIVE_API_TOKEN=your_api_token_here \
-e PIPEDRIVE_DOMAIN=your-company.pipedrive.com \
-e MCP_TRANSPORT=sse \
-e MCP_PORT=3000 \
ghcr.io/juhokoskela/pipedrive-mcp-server:main
```
```
# Docker (stdio transport for local use)
docker run -i \
-e PIPEDRIVE_API_TOKEN=your_api_token_here \
-e PIPEDRIVE_DOMAIN=your-company.pipedrive.com \
ghcr.io/juhokoskela/pipedrive-mcp-server:main
```
```
# Integrating into an existing project via docker-compose
```
```
# Final startup command for stdio transport
npm startEnvironment variables control access and behavior. Required values are your Pipedrive API token and domain. Optional JWT settings enable secured SSE transport. You can tune rate limiting to respect API quotas. When using SSE, an Authorization header with a Bearer token is required if JWT is enabled.
If you encounter connectivity issues, verify that the server port is reachable (default 3000 for the SSE transport) and that your API token and domain are correct. For deletions, ensure confirm is true and remember that most deletions are soft with a 30-day recovery period.
Use the tools to fetch data quickly, for example getting all deals or all persons, then filtering or searching as needed. When a search yields no results, try fuzzy matching tools that score potential matches and guide you toward likely IDs.
Get all users/owners from Pipedrive to identify owner IDs for filtering
Search across deals, persons, organizations, and more with improved error messages
Fetch deals with flexible filtering by title, date, owner, stage, status, value, and more
Get a specific deal by ID including custom fields
Retrieve detailed notes and custom booking details for a deal
Search deals by a query term
Fetch persons with optional filters by name, email, phone, organization ID, or organization name
Find persons using fuzzy matching with scoring across multiple fields
Get all persons belonging to a specific organization
Get a specific person by ID including custom fields
Get all notes attached to a person
Search persons with improved error messages and suggestions
Search for persons with notes containing a keyword
Get all organizations with optional filtering by name
Get a specific organization by ID including custom fields
Search organizations with improved error messages and suggestions
Get all pipelines from Pipedrive
Get a specific pipeline by ID
Get all stages from all pipelines
Search leads by term
Create a new deal with custom fields support
Update an existing deal
Delete a deal (soft delete with 30-day recovery, requires confirmation)
Create a new person (contact) with email and phone support
Update an existing person
Delete a person (soft delete with 30-day recovery, requires confirmation)
Create a new organization with address support
Update an existing organization
Delete an organization (soft delete with 30-day recovery, requires confirmation)
Create tasks, calls, meetings, deadlines, etc.
Update an existing activity
Delete an activity (soft delete with 30-day recovery, requires confirmation)
Create notes attached to deals, persons, organizations, or leads
Update note content
Delete a note (requires confirmation)
Create a new lead
Update an existing lead
Delete a lead (requires confirmation)
Convert a lead to a deal with conversion tracking