Skip to content
Agentmart
Submit a tool

Pipedrive MCP

Pipedrive CRM as MCP tools: find deals, people and companies, and move deals through a pipeline.

Connector by mmedum · GitHub account verified by the MCP Registry

IndexedApache-2.0Local (stdio)
Write a review

Install

Works with Claude Desktop. Read the repository before you give any tool access to your data.

Download the bundle

MCP bundle (.mcpb): open it with Claude Desktop.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Pipedrive CRM as MCP tools: find deals, people and companies, and move deals through a pipeline.

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this server can do and what it asks for, from its tool list and install config. Checked Oct 25, 2026.

Tools
14 read · 0 write · 5 delete · 1 not yet classified
Secrets
None asked for
Install scripts
Not scanned yet
Runs as
Downloaded binary

Tools by what they do 20

Read from the source code; the running server may list different tools.

Read 14 · Look things up without changing anything.

  • get_activity
  • get_deal
  • get_note
  • get_organization
  • get_person
  • list_activities
  • list_deals
  • list_notes
  • list_organizations
  • list_persons
  • list_pipelines
  • list_stages
Show 2 more tools
  • search
  • whoami

Delete 5 · Delete, drop, revoke or wipe things.

  • manage_activity
  • manage_deal
  • manage_note
  • manage_organization
  • manage_person

Not yet classified 1 · We could not tell from the name and description.

  • refresh_field_cache

Network hosts it talks to 1

  • github.com · found in install command

Tools (20)

Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].

  • get_activity

    Fetch a single Pipedrive activity (call, email, meeting, task, ...) by activity_id. Returns id, subject, type, owner_id, linked deal_id / person_id / org_id, due_date, due_time, duration, done flag, location, participants, conference meeting details, and notes. Set include_attendees=true to also return calendar invitees with RSVP status. Unknown activity_id returns a [not_found] error. To find an activity by subject text, call `list_activities` filtered by deal_id or person_id; activities are not indexed by `search`.

  • get_deal

    Fetch a single Pipedrive deal by deal_id. Returns id, title, value, currency, status (open | won | lost | deleted), stage_id, pipeline_id, owner_id, person_id, org_id, expected_close_date, won/lost timestamps, lost_reason, and any custom fields under their workspace names, dropdown values as labels rather than option ids. Unknown deal_id returns a [not_found] error.

  • get_note

    Everything stored on one note: its HTML content, who wrote it, WHICH RECORD IT HANGS OFF, when it was written and last touched, and whether it is still active. A note anchors to exactly one of a deal, person, organization, lead or project — the other four ids come back zero, and that is how you tell what the note is about. A soft-deleted note still returns here with active_flag false; list_notes is what hides it. Cheap: one call. Use list_notes when you do not already have the id.

  • get_organization

    Fetch a single Pipedrive organization by org_id. Returns id, name, formatted address, owner_id, people_count (linked persons), add/update timestamps, and any custom fields under their workspace names, dropdown values as labels rather than option ids. Unknown org_id returns a [not_found] error. To find an organization by name, call `search` first to resolve the id.

  • get_person

    Fetch a single Pipedrive person by person_id. Returns id, name, first_name, last_name, all emails (with primary flag and label), all phones, owner_id, linked org_id, add/update timestamps, and any custom fields under their workspace names, dropdown values as labels rather than option ids. Unknown person_id returns a [not_found] error. To find a person by name, call `search` first to resolve the id.

  • list_activities

    List Pipedrive activities filtered by status (open | done | all), owner, deal, person, organization, lead, or update window. Returns id, subject, type, owner_id, linked deal/person/org ids, due_date, due_time, duration, done flag, location, participants, and conference details. Notes (`note`, `public_description`) are stripped by default — set `include_notes=true` or call `get_activity` for full text. Default sort is update_time desc — most-recently-touched first, ideal for 'what's happening with X lately'. Pass sort_by=due_date and status=open for an upcoming-calendar view. For more results, …

  • list_deals

    List deals filtered by status, pipeline, stage, owner, person, organization, or update window. Returns matching deals with id, title, value, currency, status (open | won | lost | deleted), stage_id, pipeline_id, owner_id, person_id, org_id, expected_close_date, won/lost timestamps, and any custom fields under their workspace names, dropdown values as labels rather than option ids. Default sort is update_time desc — most-recently-touched first, ideal for 'which deals have we been working on lately'. Default limit is 25, max 100. Omit `status` to include every non-deleted deal. For more results,…

  • list_notes

    List notes by what they hang off (deal_id, person_id, org_id, lead_id), who wrote them, when they were written, or when they were last touched. Default order is update_time descending, most-recently-edited first, which is the order that answers what has been written about X lately. Default limit is 25, maximum 100. IMPORTANT: a page holding fewer rows than the limit is NOT the end — keep paging while next_cursor comes back non-empty. Soft-deleted notes are filtered out here but still readable through get_note, so a note that vanished from this list has not necessarily gone. Notes live on Piped…

  • list_organizations

    List Pipedrive organizations filtered by owner or update window. Returns id, name, formatted address (with parsed country/locality/postal_code when present), owner_id, people_count, add/update timestamps, and any custom fields under their workspace names, dropdown values as labels rather than option ids. Default sort is update_time desc — most-recently-touched first, ideal for 'which accounts have we been working on lately'. Default limit is 25, max 100. For more results, pass the next_cursor from the previous response. To find an organization by name (rather than ID), call `search` with type=…

  • list_persons

    List Pipedrive persons filtered by owner, linked organization, or update window. Returns id, name, first_name, last_name, emails, phones, owner_id, linked org_id, add/update timestamps, and any custom fields under their workspace names, dropdown values as labels rather than option ids. Default sort is update_time desc — most-recently-touched first, ideal for 'who at company X have we been talking to lately'. Default limit is 25, max 100. For more results, pass the next_cursor from the previous response. To find a person by name (rather than ID), call `search` with type=person — search is the n…

  • list_pipelines

    List every Pipedrive pipeline the API token's user can see. Returns id, name, display order, active flag, and a URL to the Pipedrive UI for each. No filtering or pagination — Pipedrive workspaces typically have under 20 pipelines total.

  • list_stages

    List Pipedrive stages, optionally filtered to a single pipeline. A stage represents a step in a pipeline (e.g. "Lead In", "Negotiation", "Closed Won"). Returns id, name, order_nr, active flag, owning pipeline_id, and Pipedrive's default deal_probability (0-100) for each stage.

  • manage_activity

    Create an activity — a call, email, meeting or task — edit one, tick it off, or delete it. One call, whichever action: create takes subject, every other action takes activity_id. To log something that already happened, create it with done true and the note; to schedule something, give it a due_date. Writing is guarded, and every action except create reads the activity before it writes, so a write is two API calls. An update refuses to replace ANY field that already holds a value unless you pass overwrite, and the refusal names each one; filling a field that is empty destroys nothing and needs …

  • manage_deal

    Create a deal, edit one, move it between stages, close it won or lost, or delete it. One call, whichever action: create takes title, every other action takes deal_id. Writing is guarded, and every action except create reads the deal before it writes, so a write is two API calls. An update refuses to replace ANY field that already holds a value unless you pass overwrite, and the refusal names each one; filling a field that is empty destroys nothing and needs no permission. expect_version refuses the write outright if the deal moved under you. The six transitions — move_stage, mark_won, mark_los…

  • manage_note

    Create, edit or remove a note — the free-text record that hangs off a deal, person, organization, lead or project. One call, whichever action: create takes content plus at least one anchor id, update and delete take note_id. Writing is guarded, and update and delete both read the note before they act, so either is two API calls. An update refuses to replace ANY field that already holds a value — its text, or the record it hangs off — unless you pass overwrite, and the refusal names each field it is protecting; filling a field that is empty destroys nothing and needs no permission. expect_versi…

Show 5 more tools
  • manage_organization

    Create an organization — the account or company a deal and its people hang off — edit one, or delete one. One call, whichever action: create takes name, update takes org_id. Writing is guarded, and update reads the organization before it writes, so a write is two API calls. It refuses to replace ANY field that already holds a value unless you pass overwrite, and the refusal names each one; filling a field that is empty destroys nothing and needs no permission. expect_version refuses the write outright if the record moved under you. IMPORTANT: send address as ONE LINE the way a person would say…

  • manage_person

    Create a contact, edit one, or delete one. One call, whichever action: create takes name OR first_name/last_name, update and delete take person_id. Pipedrive treats name and first_name/last_name as ALTERNATIVES and rejects a write carrying both, so pass the parts when you have them and it derives the full name, or pass the full name and it splits it — never both. Writing is guarded, and update reads the person before it writes, so a write is two API calls. It refuses to replace ANY field that already holds a value unless you pass overwrite, and the refusal names each one; filling a field that …

  • refresh_field_cache

    Refresh Pipedrive's custom-field name caches for deals, persons, and organizations. Use after a custom field is added or renamed in the Pipedrive UI, or after a dropdown gains an option, so the LLM-facing tools (get_deal, get_person, get_organization, list_X) start surfacing the new name or label without restarting the server. Refreshes all three resources in parallel; returns per-resource field count after reload, plus an `errors` count if any resource failed. Activities do not have custom fields on Pipedrive v2 and are intentionally skipped.

  • search

    Search Pipedrive for deals, persons, organizations, products, files, or leads matching a free-text term. Use this to resolve a name to a numeric id BEFORE calling get_deal, list_deals, or other id-keyed tools — e.g. when the user asks about "deals for Acme", call search(term="Acme", types=["organization"]) first to get the org_id, then call list_deals(org_id=...). Returns id, type, name, relevance score, and type-specific details per hit. Default limit is 25, max 100. When `truncated` is true, more results exist — paginate via `next_cursor` or refine the term; do not treat the page as exhausti…

  • whoami

    WHICH ACCOUNT this server is acting as, and WHICH WORKSPACE it is pointed at. Call it before you attribute anything to "me" or "my deals": the answer's user_id is the owner_id a record gets when you create one without naming an owner, so it is what turns "show me my open deals" into list_deals(owner_id=...). It also reports the user's timezone, which is the zone an activity's due_date and due_time are written in — getting that wrong schedules a meeting on the wrong day. Cheap: the answer is fetched once and reused for the life of the server, because a token authenticates as exactly one user, s…

Signals

Stars
0
Forks
0
Open issues
0
Last commit
Oct 10, 2026 (20 days ago)
Last release
Oct 10, 2026 (20 days ago)

From GitHub (fetched Oct 24, 2026).

Details

Registry name
io.github.mmedum/pipedrive-mcp
Version
1.1.3
Auth
No auth
License
Apache-2.0
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from mmedum

Cite this page

Pipedrive MCP. Agent Mart. https://agentmart.dev/connectors/mmedum-pipedrive-mcp (last updated 2026-10-24)