Pipedrive MCP Server

Pipedrive MCP Server

Enables LLMs like Claude to interact with Pipedrive CRM data through a standardized interface, providing 22 tools for managing deals, persons, organizations, activities, and more.

Category
Visit Server

README

Pipedrive MCP Server

A Model Context Protocol (MCP) server for Pipedrive CRM. This server allows LLMs like Claude to interact with your Pipedrive data through a standardized interface.

Developed by Osher Digital

Features

  • 22 Tools for comprehensive Pipedrive access
  • Saved Filter Support: Use Pipedrive's saved filters to query by custom fields
  • Field Definitions: Map custom field hashes to human-readable names
  • Activities: Access calls, meetings, tasks, and emails
  • Flexible Sorting: Sort deals by date, value, or title
  • Date Range Filtering: Filter by created/updated dates
  • Rate Limiting: Built-in rate limiting to respect Pipedrive API limits

Installation

cd pipedrive-mcp-python

# Install with uv
uv sync

Configuration

Create a .env file in the project root (or set environment variables):

# Required
PIPEDRIVE_API_TOKEN=your_api_token_here
PIPEDRIVE_DOMAIN=your-company.pipedrive.com

# Optional - Rate Limiting
PIPEDRIVE_RATE_LIMIT_MIN_TIME_MS=250
PIPEDRIVE_RATE_LIMIT_MAX_CONCURRENT=2

Getting Your API Token

  1. Log into your Pipedrive account
  2. Go to Settings > Personal preferences > API
  3. Copy your API token

Usage

Running the Server

# Run with uv
uv run pipedrive-mcp

Claude Desktop Integration

Add to your Claude Desktop configuration:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Linux: ~/.config/claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "pipedrive": {
      "command": "/path/to/pipedrive-mcp-python/.venv/bin/python",
      "args": ["-m", "pipedrive_mcp.server"],
      "cwd": "/path/to/pipedrive-mcp-python"
    }
  }
}

Set environment variables in your shell profile or .env file in the project directory.

Claude Code CLI Integration

claude mcp add pipedrive -- /path/to/pipedrive-mcp-python/.venv/bin/python -m pipedrive_mcp.server

Available Tools (22)

User Management

Tool Description
get_users() Get all users/owners from Pipedrive

Deals

Tool Description
get_deals(...) Get deals with comprehensive filtering (see below)
get_deal(deal_id) Get a single deal by ID with all custom fields
get_deal_notes(deal_id) Get notes for a specific deal
search_deals(term, limit) Full-text search deals

get_deals parameters:

  • search_title - Search by deal title (partial matches)
  • owner_id - Filter by owner/user ID
  • stage_id - Filter by pipeline stage
  • status - Filter by status: open, won, lost, deleted (default: open)
  • pipeline_id - Filter by pipeline
  • filter_id - Use a saved filter from Pipedrive
  • min_value / max_value - Filter by deal value range
  • created_after / created_before - Filter by creation date (ISO format: YYYY-MM-DD)
  • updated_after / updated_before - Filter by update date
  • sort_by - Sort field: add_time, update_time, title, value (default: add_time)
  • sort_order - Sort direction: asc, desc (default: desc)
  • limit - Maximum results (default: 500)

Persons (Contacts)

Tool Description
get_persons(filter_id, limit) Get all persons, optionally filtered by saved filter
get_person(person_id) Get a single person by ID with all custom fields
search_persons(term, limit) Full-text search persons

Organizations

Tool Description
get_organizations(filter_id, limit) Get all organizations, optionally filtered
get_organization(org_id) Get a single organization by ID
search_organizations(term, limit) Full-text search organizations

Pipelines & Stages

Tool Description
get_pipelines() Get all sales pipelines
get_pipeline(pipeline_id) Get a single pipeline by ID
get_stages(pipeline_id) Get all stages, optionally filtered by pipeline

Leads

Tool Description
search_leads(term, limit) Full-text search leads

Universal Search

Tool Description
search_all(term, item_types, limit) Search across all item types

Supported item types: deal, person, organization, product, file, activity, lead

Filters

Tool Description
get_filters(filter_type) Get all saved filters from Pipedrive

Filter types: deals, persons, org, products, activities

Use saved filters to query by custom fields:

  1. Create a filter in Pipedrive UI with your criteria
  2. Call get_filters() to find the filter's ID
  3. Pass filter_id to get_persons(), get_deals(), or get_organizations()

Field Definitions

Tool Description
get_deal_fields() Get deal field definitions (maps hash IDs to names)
get_person_fields() Get person field definitions
get_organization_fields() Get organization field definitions

These tools map custom field hash keys (like c3976c9693716fc786c2092081506816441ee526) to human-readable field names.

Activities

Tool Description
get_activities(...) Get activities (calls, meetings, tasks, emails)
get_activity_types() Get all activity types configured in Pipedrive

get_activities parameters:

  • deal_id - Filter by deal
  • person_id - Filter by person
  • org_id - Filter by organization
  • user_id - Filter by assigned user
  • activity_type - Filter by type (call, meeting, task, email, etc.)
  • done - Filter by completion status (True/False)
  • start_date / end_date - Filter by date range (ISO format)
  • limit - Maximum results (default: 100)

Examples

Get 10 most recent deals

get_deals(limit=10)

Get deals created this year

get_deals(created_after="2026-01-01")

Get highest value deals

get_deals(sort_by="value", sort_order="desc", limit=10)

Get contacts matching a saved filter

get_filters(filter_type="persons")  # Find the filter ID
get_persons(filter_id=122)          # Use the filter

Get all calls for a specific deal

get_activities(deal_id=123, activity_type="call")

Understand a custom field

get_deal_fields()  # Returns mapping of hash keys to field names

Development

# Install with dev dependencies
uv sync --extra dev

# Run tests
uv run pytest

# Run with verbose output
uv run pytest -v

License

MIT License - see LICENSE file for details.

Attribution

Developed by Osher Digital - Digital transformation and AI integration specialists.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured