Skip to main content
Glama
Pipedrive MCP Server

Pipedrive MCP Server

by bratland

Pipedrive MCP Server

A Model Context Protocol (MCP) server that connects to the Pipedrive API v2, exposing Pipedrive CRM data to LLM applications like Claude.

Features

  • Read-only access to Pipedrive data

  • Full entity support including:

    • Deals

    • Persons (Contacts)

    • Organizations

    • Pipelines & Stages

    • Activities

    • Notes

  • Search capabilities across all entity types

  • Custom fields support - All fields including custom fields are exposed

  • Predefined prompts for common operations

Related MCP server: Pipedrive MCP Server

Prerequisites

  • Node.js (v16 or higher)

  • A Pipedrive account with API access

  • Pipedrive API token

Installation

  1. Clone the repository:

git clone https://github.com/yourusername/pipedrive-mcp-server.git
cd pipedrive-mcp-server
  1. Install dependencies:

npm install
  1. Create a .env file in the root directory:

cp .env.example .env
  1. Add your Pipedrive API token to the .env file:

PIPEDRIVE_API_TOKEN=your_pipedrive_api_token_here
  1. Build the project:

npm run build

Getting Your Pipedrive API Token

  1. Log in to your Pipedrive account

  2. Go to Personal Settings → API

  3. Copy your personal API token

Usage

Development Mode

Run the server with auto-reload for development:

npm run dev

Production Mode

Build and run the compiled server:

npm run build
npm start

Configuring with Claude Desktop

Add the following to your Claude Desktop configuration file:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "pipedrive": {
      "command": "node",
      "args": ["/path/to/pipedrive-mcp-server/dist/index.js"],
      "env": {
        "PIPEDRIVE_API_TOKEN": "your_pipedrive_api_token_here"
      }
    }
  }
}

Available Tools

Deals

  • get_deals - List deals with filtering options

  • get_deal - Get a specific deal by ID

  • search_deals - Search for deals by term

Persons (Contacts)

  • get_persons - List persons with filtering options

  • get_person - Get a specific person by ID

  • search_persons - Search for persons by name

Organizations

  • get_organizations - List organizations

  • get_organization - Get a specific organization by ID

  • search_organizations - Search for organizations

Pipelines & Stages

  • get_pipelines - List all pipelines

  • get_pipeline - Get a specific pipeline

  • get_stages - List pipeline stages

  • get_stage - Get a specific stage

Activities

  • get_activities - List activities with filtering

  • get_activity - Get a specific activity

Notes

  • get_notes - List notes with filtering

  • get_note - Get a specific note

  • search_items - Search across multiple item types

Predefined Prompts

The server includes several predefined prompts for common operations:

  • list_all_deals - List all deals with their details

  • search_person - Search for a person by name

  • get_organization_deals - Get all deals for a specific organization

  • pipeline_overview - Get overview of all pipelines and their stages

Development

Commands

npm run dev        # Run with auto-reload for development
npm run build      # Build TypeScript to JavaScript
npm run start      # Run the compiled server
npm run lint       # Run ESLint
npm run typecheck  # Run TypeScript type checking
npm test           # Run tests (when implemented)

Project Structure

pipedrive-mcp-server/
├── src/
│   ├── index.ts           # Main MCP server entry point
│   ├── pipedrive-client.ts # Pipedrive API client
│   └── tools/             # Individual tool implementations
│       ├── deals.ts
│       ├── persons.ts
│       ├── organizations.ts
│       ├── pipelines.ts
│       ├── activities.ts
│       ├── notes.ts
│       └── search.ts
├── dist/                  # Compiled JavaScript output
├── package.json
├── tsconfig.json
├── .eslintrc.json
└── .env.example

API Rate Limits

The Pipedrive API has rate limits. The server handles API responses appropriately, but be mindful of:

  • Default rate limit: 80 requests per 2 seconds

  • Consider implementing caching for frequently accessed data

  • Use pagination parameters to limit data transfer

Error Handling

The server provides detailed error messages including:

  • API authentication failures

  • Network errors

  • Invalid parameters

  • Rate limit exceeded warnings

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

MIT License - see LICENSE file for details

Support

For issues or questions:

Acknowledgments

Available Tools

30 tools
get_activitiesC

Get a list of activities from Pipedrive

Inputs: start, limit, user_id, filter_id, +2 more.

get_activities_summaryA

Get a summarized list of activities (optimized for token usage) - shows essential fields only

Inputs: start, limit, user_id, done.

get_activityC

Get a specific activity by ID

Inputs: id (required).

get_current_quarter_dealsA

Get deals for the current quarter with date context (automatically uses correct quarter based on today's date)

Inputs: status, user_id, limit.

get_current_userB

Get details of the current authenticated user

Inputs: no named parameters.

get_dealC

Get a specific deal by ID

Inputs: id (required).

get_dealsC

Get a list of deals from Pipedrive

Inputs: start, limit, status, filter_id, +3 more.

get_deals_summaryA

Get a summarized list of deals (optimized for token usage) - shows essential fields only

Inputs: start, limit, status, user_id.

get_noteB

Get a specific note by ID

Inputs: id (required).

get_notesC

Get a list of notes from Pipedrive

Inputs: start, limit, user_id, deal_id, +5 more.

get_organizationC

Get a specific organization by ID

Inputs: id (required).

get_organizationsC

Get a list of organizations from Pipedrive

Inputs: start, limit, user_id, filter_id, +1 more.

get_organizations_summaryB

Get a summarized list of organizations (optimized for token usage) - shows essential fields only

Inputs: start, limit, user_id.

get_overviewA

Get a high-level overview with key metrics and recent items (very token-efficient)

Inputs: include_recent_deals, include_recent_activities, user_id.

get_personC

Get a specific person by ID

Inputs: id (required).

get_personsC

Get a list of persons from Pipedrive

Inputs: start, limit, user_id, filter_id, +1 more.

get_persons_summaryA

Get a summarized list of persons (optimized for token usage) - shows essential fields only

Inputs: start, limit, user_id.

get_pipelineC

Get a specific pipeline by ID

Inputs: id (required).

get_pipelinesC

Get all pipelines

Inputs: no named parameters.

get_quarterly_progressC

Get progress tracking for current quarter with forecasting data and date awareness

Inputs: user_id, include_forecast.

get_quarter_summaryC

Get comprehensive quarterly summary with key metrics and current quarter context

Inputs: quarter, year, user_id.

get_stageB

Get a specific stage by ID

Inputs: id (required).

get_stagesC

Get pipeline stages

Inputs: pipeline_id.

get_userB

Get details of a specific user by ID

Inputs: id (required).

get_usersC

Get all users (salespersons) from Pipedrive

Inputs: start, limit.

search_dealsC

Search for deals

Inputs: term (required), fields, exact_match, person_id, +3 more.

search_itemsC

Search across multiple item types in Pipedrive

Inputs: term (required), item_types, fields, search_for_related_items, +4 more.

search_organizationsC

Search for organizations

Inputs: term (required), fields, exact_match, start, +1 more.

search_personsC

Search for persons

Inputs: term (required), fields, exact_match, org_id, +2 more.

search_summarizedB

Search across all Pipedrive items with summarized results (token-optimized)

Inputs: term (required), item_types, limit.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3/5.0

    Scored across 30 tools

    Disambiguation4/5

    Most tools are clearly distinct by resource type (activities, deals, organizations, persons, etc.) and action (get vs. search). However, some ambiguity exists between 'get_overview', 'get_quarter_summary', and 'get_quarterly_progress', which all provide high-level metrics and could be confused for overlapping purposes. The search tools also have some overlap (e.g., 'search_items' vs. specific resource searches), but descriptions help differentiate them.

    Naming Consistency5/5

    Tool names follow a highly consistent verb_noun pattern throughout, using snake_case uniformly. All tools start with 'get_' or 'search_', followed by the resource name (e.g., 'get_deals', 'search_persons'), with variations like 'summary' or specific qualifiers (e.g., 'get_current_quarter_deals') maintaining this structure. There are no deviations in naming conventions.

    Tool Count3/5

    With 30 tools, the count is borderline high for a CRM server, as it includes many specialized variants (e.g., summary versions, quarterly tools) that might be excessive. While Pipedrive's domain is broad, 30 tools feels heavy and could overwhelm agents, though not extreme. A more streamlined set of 15-20 tools might be more appropriate.

    Completeness4/5

    The tool surface provides comprehensive read/search coverage for core CRM resources (deals, persons, organizations, activities, notes, users, pipelines, stages) with both detailed and summary views. However, there are notable gaps in write operations (e.g., create, update, delete), which are essential for full lifecycle management in a CRM system. Agents can perform queries effectively but may fail when needing to modify data.

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      B
      quality
      B
      maintenance
      Enables users to manage Pipedrive CRM data including deals, contacts, and activities directly through an AI assistant. It supports full CRUD operations, email engagement analysis, and mapping of custom field metadata for comprehensive pipeline management.
      123
      159 npm
      10
      MIT
    • F
      license
      B
      quality
      D
      maintenance
      Enables to manage Pipedrive deals, activities, persons, organizations, and custom fields with automatic backup and restore capabilities, allowing safe pipeline management via natural language.
      28
      -