About Pipedrive MCP Server
Pipedrive MCP Server is an MCP server published by WillDent in the Productivity category: mCP server: Pipedrive MCP Server. It has been installed 0 times through Conduid.
The repository has 44 stars and 26 forks, with the last commit 10 months ago. Six months or more without a commit doesn't mean the server is broken, but check the open issues (0) before depending on it in production.
Install
npx pipedrive-mcp-serverThis server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.
Ask AI
Ask AI about Pipedrive MCP Server
Powered by Claude · Grounded in docs
Security checks
- ·README presentNot checked yet.
- ·License declaredNot checked yet.
- ·Tests presentNot checked yet.
- ·Dependencies pinnedNot checked yet.
- ·No dynamic code executionNot checked yet.
- !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.
Releases
README
Pipedrive MCP Server
This is a Model Context Protocol (MCP) server that connects to the Pipedrive API v2. It allows you to expose Pipedrive data and functionality to LLM applications like Claude.
Features
- Read-only access to Pipedrive data
- Exposes deals, persons, organizations, and pipelines
- Includes all fields including custom fields
- Predefined prompts for common operations
- Docker support with multi-stage builds
- JWT authentication support
- Built-in rate limiting for API requests
- Advanced deal filtering (by owner, status, date range, value, etc.)
Setup
Standard Setup
- Clone this repository
- Install dependencies:
npm install - Create a
.envfile in the root directory with your configuration:PIPEDRIVE_API_TOKEN=your_api_token_here PIPEDRIVE_DOMAIN=your-company.pipedrive.com - Build the project:
npm run build - Start the server:
npm start
Docker Setup
Option 1: Using Docker Compose (standalone)
- Copy
.env.exampleto.envand configure your settings:PIPEDRIVE_API_TOKEN=your_api_token_here PIPEDRIVE_DOMAIN=your-company.pipedrive.com MCP_TRANSPORT=sse # Use SSE transport for Docker MCP_PORT=3000 - Build and run with Docker Compose:
docker-compose up -d - The server will be available at
http://localhost:3000- SSE endpoint:
http://localhost:3000/sse - Health check:
http://localhost:3000/health
- SSE endpoint:
Option 2: Using Pre-built Docker Image
Pull and run the pre-built image from GitHub Container Registry:
For SSE transport (HTTP access):
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
For stdio transport (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
Option 3: Integrating into Existing Project
Add the MCP server to your existing application's docker-compose.yml:
services:
# Your existing services...
pipedrive-mcp-server:
image: ghcr.io/juhokoskela/pipedrive-mcp-server:main
container_name: pipedrive-mcp-server
restart: unless-stopped
ports:
- "3000:3000"
environment:
- PIPEDRIVE_API_TOKEN=${PIPEDRIVE_API_TOKEN}
- PIPEDRIVE_DOMAIN=${PIPEDRIVE_DOMAIN}
- MCP_TRANSPORT=sse
- MCP_PORT=3000
- PIPEDRIVE_RATE_LIMIT_MIN_TIME_MS=${PIPEDRIVE_RATE_LIMIT_MIN_TIME_MS:-250}
- PIPEDRIVE_RATE_LIMIT_MAX_CONCURRENT=${PIPEDRIVE_RATE_LIMIT_MAX_CONCURRENT:-2}
healthcheck:
test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:3000/health", "||", "exit", "1"]
interval: 30s
timeout: 10s
retries: 3
start_period: 10s
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "3"
Then add the required environment variables to your .env file.
Environment Variables
Required:
PIPEDRIVE_API_TOKEN- Your Pipedrive API tokenPIPEDRIVE_DOMAIN- Your Pipedrive domain (e.g.,your-company.pipedrive.com)
Optional (JWT Authentication):
MCP_JWT_SECRET- JWT secret for authenticationMCP_JWT_TOKEN- JWT token for authenticationMCP_JWT_ALGORITHM- JWT algorithm (default: HS256)MCP_JWT_AUDIENCE- JWT audienceMCP_JWT_ISSUER- JWT issuer
When JWT authentication is enabled, all SSE requests (/sse and the message endpoint) must include an Authorization: Bearer <token> header signed with the configured secret.
Optional (Rate Limiting):
PIPEDRIVE_RATE_LIMIT_MIN_TIME_MS- Minimum time between requests in milliseconds (default: 250)PIPEDRIVE_RATE_LIMIT_MAX_CONCURRENT- Maximum concurrent requests (default: 2)
Optional (Transport Configuration):
MCP_TRANSPORT- Transport type:stdio(default, for local use) orsse(for Docker/HTTP access)MCP_PORT- Port for SSE transport (default: 3000, only used whenMCP_TRANSPORT=sse)MCP_ENDPOINT- Message endpoint path for SSE (default: /message, only used whenMCP_TRANSPORT=sse)
Using with Claude
To use this server with Claude for Desktop:
- Configure Claude for Desktop by editing your
claude_desktop_config.json:
{
"mcpServers": {
"pipedrive": {
"command": "node",
"args": ["/path/to/pipedrive-mcp-server/build/index.js"],
"env": {
"PIPEDRIVE_API_TOKEN": "your_api_token_here",
"PIPEDRIVE_DOMAIN": "your-company.pipedrive.com"
}
}
}
}
- Restart Claude for Desktop
- In the Claude application, you should now see the Pipedrive tools available
Available Tools
get-users: Get all users/owners from Pipedrive to identify owner IDs for filteringget-deals: Get deals with flexible filtering options (search by title, date range, owner, stage, status, value range, etc.)get-deal: Get a specific deal by ID (including custom fields)get-deal-notes: Get detailed notes and custom booking details for a specific dealsearch-deals: Search deals by termget-persons: Get all persons from Pipedrive (including custom fields)get-person: Get a specific person by ID (including custom fields)search-persons: Search persons by termget-organizations: Get all organizations from Pipedrive (including custom fields)get-organization: Get a specific organization by ID (including custom fields)search-organizations: Search organizations by termget-pipelines: Get all pipelines from Pipedriveget-pipeline: Get a specific pipeline by IDget-stages: Get all stages from all pipelinessearch-leads: Search leads by termsearch-all: Search across all item types (deals, persons, organizations, etc.)
Available Prompts
list-all-deals: List all deals in Pipedrivelist-all-persons: List all persons in Pipedrivelist-all-pipelines: List all pipelines in Pipedriveanalyze-deals: Analyze deals by stageanalyze-contacts: Analyze contacts by organizationanalyze-leads: Analyze leads by statuscompare-pipelines: Compare different pipelines and their stagesfind-high-value-deals: Find high-value deals
License
MIT
README mirrored from the source repository 2 months ago. The original is authoritative.