Pipedrive CRM
About
MCP server for Pipedrive CRM. 155 tools spanning deals, persons, organizations, activities, products, projects, tasks, leads, notes, mail, and fields.
Explore
- 155 tools covering core Pipedrive entities (deals, persons, organizations, activities, products, projects, tasks, leads, notes, mail, fields, pipelines, stages, boards, phases, users).
- Local stdio server distributed on npm; no third-party data routing.
- API-key authentication via the PIPEDRIVE_API_KEY environment variable.
- Delete/destructive tools are gated behind PIPEDRIVE_ENABLE_DESTRUCTIVE=true and disabled by default.
- Uses Pipedrive API v2 where available, with v1 fallback for notes, mail, users, and leads CRUD.
- Written in TypeScript, requires Node.js >= 20, MIT licensed.
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
Pipedrive CRMCommand (node, npx, python, etc.)Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
``json``
{
"mcpServers": {
"pipedrive": {
"command": "npx",
"args": ["-y", "@ckalima/pipedrive-mcp-server"],
"env": { "PIPEDRIVE_API_KEY": "your-40-character-api-key" }
}
}
}
Get your API token in Pipedrive under Settings > Personal preferences > API.
pipedrive_list_deals
List deals from Pipedrive with optional filtering by owner, person, organization, pipeline, stage, or status. Returns paginated results.
pipedrive_get_deal
Get detailed information about a specific deal by ID, including all standard and custom fields.
pipedrive_create_deal
Create a new deal in Pipedrive. Only title is required; all other fields are optional.
pipedrive_update_deal
Update an existing deal in Pipedrive. Specify the deal ID and any fields to update.
pipedrive_search_deals
Search for deals by text in title. Supports fuzzy matching by default.
pipedrive_list_deal_followers
List all followers for a deal.
pipedrive_add_deal_follower
Add a follower to a deal.
pipedrive_get_deal_followers_changelog
Get the followers changelog for a deal.
pipedrive_list_deal_products
List line-item products attached to a deal. Returns paginated results.
pipedrive_add_deal_product
Attach a single product as a line item to a deal.
pipedrive_update_deal_product
Update a line-item product attached to a deal. All body fields optional.
pipedrive_bulk_add_deal_products
Bulk-add up to 100 line-item products to a deal in one request.
pipedrive_list_deal_discounts
List all additional discounts applied to a deal.
pipedrive_add_deal_discount
Add an additional discount to a deal.
pipedrive_update_deal_discount
Update an additional discount on a deal. All fields except IDs are optional.
pipedrive_list_deal_installments
List installments across one or more deals. Requires deal_ids. Growth+ plan required.
pipedrive_add_deal_installment
Add an installment (payment schedule entry) to a deal. Growth+ plan required; the deal must have at least one one-time product and no recurring products.
pipedrive_update_deal_installment
Update an installment on a deal. Growth+ plan required; all body fields optional.
pipedrive_list_archived_deals
List archived deals with the same filtering as the active deals list (owner, person, organization, pipeline, stage, status). Returns paginated results.
pipedrive_get_deal_conversion_status
Get the status of a deal-to-lead conversion job. Status contract: 'completed' (terminal, carries lead_id), 'failed'/'rejected' (terminal, stop polling, no lead produced), 'not_started'/'running' (in-progress, re-poll). Only 'completed' carries lead_id, and conversion status is purged after a few days, so a 404 returned after a prior valid status means the status was purged (terminal stop-polling signal, not a transient error). Use a bounded poll budget (e.g. up to ~6 attempts with short backoff), not an unbounded loop.
pipedrive_list_persons
List persons (contacts) from Pipedrive with optional filtering by owner, organization, or first letter of name.
pipedrive_get_person
Get detailed information about a specific person by ID.
pipedrive_create_person
Create a new person (contact) in Pipedrive. Only name is required.
pipedrive_update_person
Update an existing person in Pipedrive.
pipedrive_search_persons
Search for persons by name, email, or phone number.
pipedrive_list_person_followers
List all followers for a person.
pipedrive_add_person_follower
Add a follower to a person.
pipedrive_get_person_followers_changelog
Get the followers changelog for a person.
pipedrive_get_person_picture
Get the picture for a person (read-only; returns picture metadata and sized image URLs). Returns an error if the person has no picture.
pipedrive_list_activities
List activities from Pipedrive with optional filtering by owner, deal, person, organization, type, or completion status.
pipedrive_get_activity
Get detailed information about a specific activity by ID.
pipedrive_create_activity
Create a new activity in Pipedrive. Subject and type are required.
pipedrive_update_activity
Update an existing activity in Pipedrive. Use this to mark activities as done.
pipedrive_list_notes
List notes from Pipedrive with optional filtering by deal, person, organization, or lead.
pipedrive_get_note
Get detailed information about a specific note by ID.
pipedrive_create_note
Create a new note in Pipedrive. Content is required. Link to a deal, person, organization, or lead.
pipedrive_update_note
Update an existing note in Pipedrive.
pipedrive_list_leads
List active (non-archived) leads from Pipedrive with optional filtering by owner, person, or organization.
pipedrive_list_archived_leads
List archived leads from Pipedrive with optional filtering by owner, person, or organization.
pipedrive_get_lead
Get detailed information about a specific lead by UUID.
pipedrive_create_lead
Create a new lead in Pipedrive. Title is required; link to at least one of person_id or organization_id.
pipedrive_update_lead
Update an existing lead in Pipedrive.
pipedrive_search_leads
Search for leads in Pipedrive by title or associated contacts.
pipedrive_get_lead_conversion_status
Get the status of an async lead-to-deal conversion by conversion ID (Pipedrive v2 GET /leads/{id}/convert/status/{conversion_id}).
pipedrive_list_projects
List projects from Pipedrive with optional filtering by board, phase, or status. Returns paginated results. (Requires the Projects add-on; Projects API is in public beta.)
pipedrive_get_project
Get detailed information about a specific project by ID. (Requires the Projects add-on; Projects API is in public beta.)
pipedrive_create_project
Create a new project in Pipedrive. Requires title, board_id, and phase_id. (Requires the Projects add-on; Projects API is in public beta.)
pipedrive_update_project
Update an existing project in Pipedrive. (Requires the Projects add-on; Projects API is in public beta.)
pipedrive_search_projects
Search for projects in Pipedrive by title. (Requires the Projects add-on; Projects API is in public beta.)
pipedrive_archive_project
Archive a project by setting its status to archived. (Requires the Projects add-on; Projects API is in public beta.)
pipedrive_list_project_tasks
List tasks for a project you already have the ID for — pass only `id` (the project ID). For broader task queries use pipedrive_list_tasks. (Projects add-on; Projects API in public beta.)
pipedrive_list_project_templates
List all project templates available in Pipedrive. Returns paginated results.
pipedrive_get_project_template
Get detailed information about a specific project template by ID.
pipedrive_list_archived_projects
List archived projects from Pipedrive with optional filtering by filter, phase, or status. (Projects add-on; Projects API in public beta.)
pipedrive_get_project_permitted_users
Get the list of user IDs that have permission to access a project. Returns an array of integer user IDs. (Projects add-on; Projects API in public beta.)
pipedrive_get_project_changelog
Get the changelog for a project, showing what changed, when, and by whom. Returns paginated entries with actor_user_id, new_values, and old_values. (Projects add-on; Projects API in public beta.)
pipedrive_list_products
List products from Pipedrive with optional filtering by owner, IDs, or filter.
pipedrive_get_product
Get detailed information about a specific product by ID.
pipedrive_search_products
Search for products by name, code, or custom fields.
pipedrive_create_product
Create a new product in Pipedrive. Only name is required.
pipedrive_update_product
Update an existing product in Pipedrive.
pipedrive_list_product_variations
List all variations for a product.
pipedrive_add_product_variation
Add a variation to a product.
pipedrive_update_product_variation
Update an existing product variation.
pipedrive_list_product_followers
List all followers for a product.
pipedrive_add_product_follower
Add a follower to a product.
pipedrive_get_product_followers_changelog
Get the followers changelog for a product.
pipedrive_get_product_image
Get the image of a product (returns a single image with a public URL valid for 7 days).
pipedrive_upload_product_image
Upload an image for a product. Provide the image via EITHER file_path OR base64_data (exactly one required). Supports png, jpeg, gif, and webp. Note: file_path is read by the SERVER process via the filesystem and is disabled by default; the operator must set PIPEDRIVE_IMAGE_BASE_DIR and the path must resolve within it; otherwise use base64_data, which is transport-safe.
pipedrive_update_product_image
Update (replace) the image of a product. Provide the image via EITHER file_path OR base64_data (exactly one required). Supports png, jpeg, gif, and webp. Note: file_path is read by the SERVER process via the filesystem and is disabled by default; the operator must set PIPEDRIVE_IMAGE_BASE_DIR and the path must resolve within it; otherwise use base64_data, which is transport-safe.
pipedrive_list_tasks
General task query across all projects, with optional project_id, assignee_id, done/milestone, and parent filters. Use for anything beyond a single project's full task list. (Projects add-on; Projects API in public beta.)
pipedrive_get_task
Get detailed information about a specific task by ID. (Projects add-on; Projects API in public beta.)
pipedrive_create_task
Create a new task in a project. title and project_id are required. Use boolean is_done/is_milestone (same field names as the GET response); a milestone task must have a due_date. (Projects add-on; Projects API in public beta.)
pipedrive_update_task
Update an existing task. Only id is required; all other fields are optional. Use boolean is_done/is_milestone (same field names as the GET response); a milestone task must have a due_date. (Projects add-on; Projects API in public beta.)
pipedrive_list_boards
List all project boards. Returns the complete list (no pagination — the boards endpoint returns all records at once). (Projects add-on; Projects API in public beta.)
pipedrive_get_board
Get detailed information about a specific project board by ID. (Projects add-on; Projects API in public beta.)
pipedrive_create_board
Create a new project board. name is required. (Projects add-on; Projects API in public beta.)
pipedrive_update_board
Update an existing project board. Only id is required; all other fields are optional. (Projects add-on; Projects API in public beta.)
pipedrive_list_phases
List all phases for a project board. board_id is required. Returns the complete list (no pagination — the phases endpoint returns all records for a board at once). (Projects add-on; Projects API in public beta.)
pipedrive_get_phase
Get detailed information about a specific project phase by ID. (Projects add-on; Projects API in public beta.)
pipedrive_create_phase
Create a new project phase. name and board_id are required. (Projects add-on; Projects API in public beta.)
pipedrive_update_phase
Update an existing project phase. Only id is required; all other fields are optional. Set board_id to move this phase to a different board. (Projects add-on; Projects API in public beta.)
pipedrive_get_person_emails
Get email messages linked to a person (company-wide, all users' emails). Returns metadata for emails from any user's mailbox that are linked to this person. Note: To get full message body, use pipedrive_get_mail_message, but only for emails in YOUR mailbox.
pipedrive_get_deal_emails
Get email messages linked to a deal (company-wide, all users' emails). Returns metadata for emails from any user's mailbox that are linked to this deal. Note: To get full message body, use pipedrive_get_mail_message, but only for emails in YOUR mailbox.
pipedrive_list_mail_threads
List mail threads from YOUR mailbox only (authenticated user). Other users' threads are not accessible. Use folder parameter to filter by inbox, drafts, sent, or archive.
pipedrive_get_mail_thread
Get a mail thread with messages. Access depends on visibility settings - threads visible within deals/persons you can access should work. Returns 404 if the thread isn't accessible to you.
pipedrive_get_mail_message
Get full email message with body. Access depends on visibility settings - messages linked to deals/persons you can access should work, even if sent by other users.
pipedrive_list_organization_fields
List all organization field definitions, including custom fields. Use this to map 40-character field keys to human-readable names.
pipedrive_list_deal_fields
List all deal field definitions, including custom fields. Essential for understanding deal data structure.
pipedrive_list_person_fields
List all person field definitions, including custom fields. Use to understand contact data structure.
pipedrive_list_product_fields
List all product field definitions, including custom fields.
pipedrive_list_project_fields
List all project field definitions, including custom fields. (Projects add-on; Projects API in public beta.)
pipedrive_get_field
Get details of a specific field by its key. Useful for looking up what a 40-character hash field key means.
pipedrive_create_deal_field
Create a deal custom field. field_name and field_type are required. For enum/set types, options is required. The response data.field_code is the 40-char hash you must keep to update or delete the field later.
pipedrive_update_deal_field
Update a deal custom field by field_code. field_type and field_code cannot be changed.
pipedrive_update_deal_field_options
Bulk-update option labels of a deal enum/set field. Atomic: the whole request fails if any option ID does not exist.
pipedrive_create_person_field
Create a person custom field. field_name and field_type are required. For enum/set types, options is required. The response data.field_code is the 40-char hash to keep for later updates.
pipedrive_update_person_field
Update a person custom field by field_code. field_type and field_code cannot be changed.
pipedrive_update_person_field_options
Bulk-update option labels of a person enum/set field. Atomic: the whole request fails if any option ID does not exist.
pipedrive_create_organization_field
Create an organization custom field. field_name and field_type are required. For enum/set types, options is required. The response data.field_code is the 40-char hash to keep for later updates.
pipedrive_update_organization_field
Update an organization custom field by field_code. field_type and field_code cannot be changed.
pipedrive_update_organization_field_options
Bulk-update option labels of an organization enum/set field. Atomic: the whole request fails if any option ID does not exist.
pipedrive_create_product_field
Create a product custom field. field_name and field_type are required. For enum/set types, options is required. Product fields use a simpler model: no description, important_fields, or required_fields. The response data.field_code is the 40-char hash to keep for later updates.
pipedrive_update_product_field
Update a product custom field by field_code. Only field_name and ui_visibility can be changed (product fields have no description/important_fields/required_fields).
pipedrive_update_product_field_options
Bulk-update option labels of a product enum/set field. Atomic: the whole request fails if any option ID does not exist.
pipedrive_list_organizations
List organizations from Pipedrive with optional filtering by owner or first letter of name.
pipedrive_get_organization
Get detailed information about a specific organization by ID.
pipedrive_create_organization
Create a new organization in Pipedrive. Only name is required.
pipedrive_update_organization
Update an existing organization in Pipedrive.
pipedrive_search_organizations
Search for organizations by name or address.
pipedrive_list_organization_followers
List all followers for an organization.
pipedrive_add_organization_follower
Add a follower to an organization.
pipedrive_get_organization_followers_changelog
Get the followers changelog for an organization.
pipedrive_list_pipelines
List sales pipelines in Pipedrive with cursor pagination. Pipelines contain stages that deals move through.
pipedrive_list_stages
List stages with cursor pagination, optionally filtered by pipeline. Stages represent steps in the sales process.
pipedrive_get_stage
Get details of a specific stage by ID.
pipedrive_create_pipeline
Create a new sales pipeline. Only name is required. Set is_deal_probability_enabled to turn on weighted deal probability for the pipeline.
pipedrive_update_pipeline
Update an existing pipeline. Provide the pipeline id and any fields to change.
pipedrive_create_stage
Create a new stage in a pipeline. name and pipeline_id are required. Use is_deal_rot_enabled and days_to_rotten to configure deal rotting.
pipedrive_update_stage
Update an existing stage. Provide the stage id and any fields to change. Set pipeline_id to move the stage to another pipeline.
pipedrive_list_users
List all users in the Pipedrive account. Useful for finding owner IDs when creating or filtering records.
pipedrive_get_user
Get details of a specific user by ID.
pipedrive_get_current_user
Get details of the current user (API key owner). Useful for verifying connection and getting your user ID.
- pipedrive_list_deals: List deals from Pipedrive with optional filtering by owner, person, organization, pipeline, stage, or status. Returns paginated results.
- pipedrive_get_deal: Get detailed information about a specific deal by ID, including all standard and custom fields.
- pipedrive_create_deal: Create a new deal in Pipedrive. Only title is required; all other fields are optional.
- pipedrive_update_deal: Update an existing deal in Pipedrive. Specify the deal ID and any fields to update.
- pipedrive_search_deals: Search for deals by text in title. Supports fuzzy matching by default.
- pipedrive_list_deal_followers: List all followers for a deal.
- pipedrive_add_deal_follower: Add a follower to a deal.
- pipedrive_get_deal_followers_changelog: Get the followers changelog for a deal.
- pipedrive_list_deal_products: List line-item products attached to a deal. Returns paginated results.
- pipedrive_add_deal_product: Attach a single product as a line item to a deal.
- pipedrive_update_deal_product: Update a line-item product attached to a deal. All body fields optional.
- pipedrive_bulk_add_deal_products: Bulk-add up to 100 line-item products to a deal in one request.
- pipedrive_list_deal_discounts: List all additional discounts applied to a deal.
- pipedrive_add_deal_discount: Add an additional discount to a deal.
- pipedrive_update_deal_discount: Update an additional discount on a deal. All fields except IDs are optional.
- pipedrive_list_deal_installments: List installments across one or more deals. Requires deal_ids. Growth+ plan required.
- pipedrive_add_deal_installment: Add an installment (payment schedule entry) to a deal. Growth+ plan required; the deal must have at least one one-time product and no recurring products.
- pipedrive_update_deal_installment: Update an installment on a deal. Growth+ plan required; all body fields optional.
- pipedrive_list_archived_deals: List archived deals with the same filtering as the active deals list (owner, person, organization, pipeline, stage, status). Returns paginated results.
- pipedrive_get_deal_conversion_status: Get the status of a deal-to-lead conversion job. Status contract: 'completed' (terminal, carries lead_id), 'failed'/'rejected' (terminal, stop polling, no lead produced), 'not_started'/'running' (in-progress, re-poll). Only 'completed' carries lead_id, and conversion status is purged after a few days, so a 404 returned after a prior valid status means the status was purged (terminal stop-polling signal, not a transient error). Use a bounded poll budget (e.g. up to ~6 attempts with short backoff), not an unbounded loop.
- pipedrive_list_persons: List persons (contacts) from Pipedrive with optional filtering by owner, organization, or first letter of name.
- pipedrive_get_person: Get detailed information about a specific person by ID.
- pipedrive_create_person: Create a new person (contact) in Pipedrive. Only name is required.
- pipedrive_update_person: Update an existing person in Pipedrive.
- pipedrive_search_persons: Search for persons by name, email, or phone number.
- pipedrive_list_person_followers: List all followers for a person.
- pipedrive_add_person_follower: Add a follower to a person.
- pipedrive_get_person_followers_changelog: Get the followers changelog for a person.
- pipedrive_get_person_picture: Get the picture for a person (read-only; returns picture metadata and sized image URLs). Returns an error if the person has no picture.
- pipedrive_list_activities: List activities from Pipedrive with optional filtering by owner, deal, person, organization, type, or completion status.
- pipedrive_get_activity: Get detailed information about a specific activity by ID.
- pipedrive_create_activity: Create a new activity in Pipedrive. Subject and type are required.
- pipedrive_update_activity: Update an existing activity in Pipedrive. Use this to mark activities as done.
- pipedrive_list_notes: List notes from Pipedrive with optional filtering by deal, person, organization, or lead.
- pipedrive_get_note: Get detailed information about a specific note by ID.
- pipedrive_create_note: Create a new note in Pipedrive. Content is required. Link to a deal, person, organization, or lead.
- pipedrive_update_note: Update an existing note in Pipedrive.
- pipedrive_list_leads: List active (non-archived) leads from Pipedrive with optional filtering by owner, person, or organization.
- pipedrive_list_archived_leads: List archived leads from Pipedrive with optional filtering by owner, person, or organization.
- pipedrive_get_lead: Get detailed information about a specific lead by UUID.
- pipedrive_create_lead: Create a new lead in Pipedrive. Title is required; link to at least one of person_id or organization_id.
- pipedrive_update_lead: Update an existing lead in Pipedrive.
- pipedrive_search_leads: Search for leads in Pipedrive by title or associated contacts.
- pipedrive_get_lead_conversion_status: Get the status of an async lead-to-deal conversion by conversion ID (Pipedrive v2 GET /leads/{id}/convert/status/{conversion_id}).
- pipedrive_list_projects: List projects from Pipedrive with optional filtering by board, phase, or status. Returns paginated results. (Requires the Projects add-on; Projects API is in public beta.)
- pipedrive_get_project: Get detailed information about a specific project by ID. (Requires the Projects add-on; Projects API is in public beta.)
- pipedrive_create_project: Create a new project in Pipedrive. Requires title, board_id, and phase_id. (Requires the Projects add-on; Projects API is in public beta.)
- pipedrive_update_project: Update an existing project in Pipedrive. (Requires the Projects add-on; Projects API is in public beta.)
- pipedrive_search_projects: Search for projects in Pipedrive by title. (Requires the Projects add-on; Projects API is in public beta.)
- pipedrive_archive_project: Archive a project by setting its status to archived. (Requires the Projects add-on; Projects API is in public beta.)
- pipedrive_list_project_tasks: List tasks for a project you already have the ID for — pass only id (the project ID). For broader task queries use pipedrive_list_tasks. (Projects add-on; Projects API in public beta.)
- pipedrive_list_project_templates: List all project templates available in Pipedrive. Returns paginated results.
- pipedrive_get_project_template: Get detailed information about a specific project template by ID.
- pipedrive_list_archived_projects: List archived projects from Pipedrive with optional filtering by filter, phase, or status. (Projects add-on; Projects API in public beta.)
- pipedrive_get_project_permitted_users: Get the list of user IDs that have permission to access a project. Returns an array of integer user IDs. (Projects add-on; Projects API in public beta.)
- pipedrive_get_project_changelog: Get the changelog for a project, showing what changed, when, and by whom. Returns paginated entries with actor_user_id, new_values, and old_values. (Projects add-on; Projects API in public beta.)
- pipedrive_list_products: List products from Pipedrive with optional filtering by owner, IDs, or filter.
- pipedrive_get_product: Get detailed information about a specific product by ID.
- pipedrive_search_products: Search for products by name, code, or custom fields.
- pipedrive_create_product: Create a new product in Pipedrive. Only name is required.
- pipedrive_update_product: Update an existing product in Pipedrive.
- pipedrive_list_product_variations: List all variations for a product.
- pipedrive_add_product_variation: Add a variation to a product.
- pipedrive_update_product_variation: Update an existing product variation.
- pipedrive_list_product_followers: List all followers for a product.
- pipedrive_add_product_follower: Add a follower to a product.
- pipedrive_get_product_followers_changelog: Get the followers changelog for a product.
- pipedrive_get_product_image: Get the image of a product (returns a single image with a public URL valid for 7 days).
- pipedrive_upload_product_image: Upload an image for a product. Provide the image via EITHER file_path OR base64_data (exactly one required). Supports png, jpeg, gif, and webp. Note: file_path is read by the SERVER process via the filesystem and is disabled by default; the operator must set PIPEDRIVE_IMAGE_BASE_DIR and the path must resolve within it; otherwise use base64_data, which is transport-safe.
- pipedrive_update_product_image: Update (replace) the image of a product. Provide the image via EITHER file_path OR base64_data (exactly one required). Supports png, jpeg, gif, and webp. Note: file_path is read by the SERVER process via the filesystem and is disabled by default; the operator must set PIPEDRIVE_IMAGE_BASE_DIR and the path must resolve within it; otherwise use base64_data, which is transport-safe.
- pipedrive_list_tasks: General task query across all projects, with optional project_id, assignee_id, done/milestone, and parent filters. Use for anything beyond a single project's full task list. (Projects add-on; Projects API in public beta.)
- pipedrive_get_task: Get detailed information about a specific task by ID. (Projects add-on; Projects API in public beta.)
- pipedrive_create_task: Create a new task in a project. title and project_id are required. Use boolean is_done/is_milestone (same field names as the GET response); a milestone task must have a due_date. (Projects add-on; Projects API in public beta.)
- pipedrive_update_task: Update an existing task. Only id is required; all other fields are optional. Use boolean is_done/is_milestone (same field names as the GET response); a milestone task must have a due_date. (Projects add-on; Projects API in public beta.)
- pipedrive_list_boards: List all project boards. Returns the complete list (no pagination — the boards endpoint returns all records at once). (Projects add-on; Projects API in public beta.)
- pipedrive_get_board: Get detailed information about a specific project board by ID. (Projects add-on; Projects API in public beta.)
- pipedrive_create_board: Create a new project board. name is required. (Projects add-on; Projects API in public beta.)
- pipedrive_update_board: Update an existing project board. Only id is required; all other fields are optional. (Projects add-on; Projects API in public beta.)
- pipedrive_list_phases: List all phases for a project board. board_id is required. Returns the complete list (no pagination — the phases endpoint returns all records for a board at once). (Projects add-on; Projects API in public beta.)
- pipedrive_get_phase: Get detailed information about a specific project phase by ID. (Projects add-on; Projects API in public beta.)
- pipedrive_create_phase: Create a new project phase. name and board_id are required. (Projects add-on; Projects API in public beta.)
- pipedrive_update_phase: Update an existing project phase. Only id is required; all other fields are optional. Set board_id to move this phase to a different board. (Projects add-on; Projects API in public beta.)
- pipedrive_get_person_emails: Get email messages linked to a person (company-wide, all users' emails). Returns metadata for emails from any user's mailbox that are linked to this person. Note: To get full message body, use pipedrive_get_mail_message, but only for emails in YOUR mailbox.
- pipedrive_get_deal_emails: Get email messages linked to a deal (company-wide, all users' emails). Returns metadata for emails from any user's mailbox that are linked to this deal. Note: To get full message body, use pipedrive_get_mail_message, but only for emails in YOUR mailbox.
- pipedrive_list_mail_threads: List mail threads from YOUR mailbox only (authenticated user). Other users' threads are not accessible. Use folder parameter to filter by inbox, drafts, sent, or archive.
- pipedrive_get_mail_thread: Get a mail thread with messages. Access depends on visibility settings - threads visible within deals/persons you can access should work. Returns 404 if the thread isn't accessible to you.
- pipedrive_get_mail_message: Get full email message with body. Access depends on visibility settings - messages linked to deals/persons you can access should work, even if sent by other users.
- pipedrive_list_organization_fields: List all organization field definitions, including custom fields. Use this to map 40-character field keys to human-readable names.
- pipedrive_list_deal_fields: List all deal field definitions, including custom fields. Essential for understanding deal data structure.
- pipedrive_list_person_fields: List all person field definitions, including custom fields. Use to understand contact data structure.
- pipedrive_list_product_fields: List all product field definitions, including custom fields.
- pipedrive_list_project_fields: List all project field definitions, including custom fields. (Projects add-on; Projects API in public beta.)
- pipedrive_get_field: Get details of a specific field by its key. Useful for looking up what a 40-character hash field key means.
- pipedrive_create_deal_field: Create a deal custom field. field_name and field_type are required. For enum/set types, options is required. The response data.field_code is the 40-char hash you must keep to update or delete the field later.
- pipedrive_update_deal_field: Update a deal custom field by field_code. field_type and field_code cannot be changed.
- pipedrive_update_deal_field_options: Bulk-update option labels of a deal enum/set field. Atomic: the whole request fails if any option ID does not exist.
- pipedrive_create_person_field: Create a person custom field. field_name and field_type are required. For enum/set types, options is required. The response data.field_code is the 40-char hash to keep for later updates.
- pipedrive_update_person_field: Update a person custom field by field_code. field_type and field_code cannot be changed.
- pipedrive_update_person_field_options: Bulk-update option labels of a person enum/set field. Atomic: the whole request fails if any option ID does not exist.
- pipedrive_create_organization_field: Create an organization custom field. field_name and field_type are required. For enum/set types, options is required. The response data.field_code is the 40-char hash to keep for later updates.
- pipedrive_update_organization_field: Update an organization custom field by field_code. field_type and field_code cannot be changed.
- pipedrive_update_organization_field_options: Bulk-update option labels of an organization enum/set field. Atomic: the whole request fails if any option ID does not exist.
- pipedrive_create_product_field: Create a product custom field. field_name and field_type are required. For enum/set types, options is required. Product fields use a simpler model: no description, important_fields, or required_fields. The response data.field_code is the 40-char hash to keep for later updates.
- pipedrive_update_product_field: Update a product custom field by field_code. Only field_name and ui_visibility can be changed (product fields have no description/important_fields/required_fields).
- pipedrive_update_product_field_options: Bulk-update option labels of a product enum/set field. Atomic: the whole request fails if any option ID does not exist.
- pipedrive_list_organizations: List organizations from Pipedrive with optional filtering by owner or first letter of name.
- pipedrive_get_organization: Get detailed information about a specific organization by ID.
- pipedrive_create_organization: Create a new organization in Pipedrive. Only name is required.
- pipedrive_update_organization: Update an existing organization in Pipedrive.
- pipedrive_search_organizations: Search for organizations by name or address.
- pipedrive_list_organization_followers: List all followers for an organization.
- pipedrive_add_organization_follower: Add a follower to an organization.
- pipedrive_get_organization_followers_changelog: Get the followers changelog for an organization.
- pipedrive_list_pipelines: List sales pipelines in Pipedrive with cursor pagination. Pipelines contain stages that deals move through.
- pipedrive_list_stages: List stages with cursor pagination, optionally filtered by pipeline. Stages represent steps in the sales process.
- pipedrive_get_stage: Get details of a specific stage by ID.
- pipedrive_create_pipeline: Create a new sales pipeline. Only name is required. Set is_deal_probability_enabled to turn on weighted deal probability for the pipeline.
- pipedrive_update_pipeline: Update an existing pipeline. Provide the pipeline id and any fields to change.
- pipedrive_create_stage: Create a new stage in a pipeline. name and pipeline_id are required. Use is_deal_rot_enabled and days_to_rotten to configure deal rotting.
- pipedrive_update_stage: Update an existing stage. Provide the stage id and any fields to change. Set pipeline_id to move the stage to another pipeline.
- pipedrive_list_users: List all users in the Pipedrive account. Useful for finding owner IDs when creating or filtering records.
- pipedrive_get_user: Get details of a specific user by ID.
- pipedrive_get_current_user: Get details of the current user (API key owner). Useful for verifying connection and getting your user ID.
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"pipedrive crm": {
"pipedrive": {
"command": "npx",
"args": [
"-y",
"@ckalima/pipedrive-mcp-server"
],
"env": {
"PIPEDRIVE_API_KEY": "your-40-character-api-key"
}
}
}
}
}
McpServers
{
"pipedrive": {
"command": "npx",
"args": [
"-y",
"@ckalima/pipedrive-mcp-server"
],
"env": {
"PIPEDRIVE_API_KEY": "your-40-character-api-key"
}
}
}
Highlights
- 155 tools across the core Pipedrive entities: deals, persons, organizations, activities, products, projects, tasks, leads, notes, mail, fields, pipelines & stages, boards & phases, and users. - Local stdio server, distributed on npm and run vianpx with your own Pipedrive API key. Nothing routes through a third party.
- API-key auth via the PIPEDRIVE_API_KEY environment variable (your 40-character Pipedrive token).
- Safe by default: delete tools are gated behind PIPEDRIVE_ENABLE_DESTRUCTIVE=true and stay off unless you opt in.
- Uses Pipedrive API v2 where available, with v1 fallback for notes, mail, users, and leads CRUD.
- TypeScript, Node.js >= 20, MIT licensed.
Install
``json
{
"mcpServers": {
"pipedrive": {
"command": "npx",
"args": ["-y", "@ckalima/pipedrive-mcp-server"],
"env": { "PIPEDRIVE_API_KEY": "your-40-character-api-key" }
}
}
}
`
Get your API token in Pipedrive under Settings > Personal preferences > API.
Links
- npm: @ckalima/pipedrive-mcp-server`
- Source: https://github.com/ckalima/pipedrive-mcp-serverSign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.


