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
Install
Works with Claude Desktop. Read the repository before you give any tool access to your data.
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.
About
Reviews
Write a reviewNo 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_activityget_dealget_noteget_organizationget_personlist_activitieslist_dealslist_noteslist_organizationslist_personslist_pipelineslist_stages
Show 2 more tools
searchwhoami
Delete 5 · Delete, drop, revoke or wipe things.
manage_activitymanage_dealmanage_notemanage_organizationmanage_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_activityFetch 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_dealFetch 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_noteEverything 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_organizationFetch 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_personFetch 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_activitiesList 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_dealsList 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_notesList 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_organizationsList 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_personsList 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_pipelinesList 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_stagesList 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_activityCreate 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_dealCreate 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_noteCreate, 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_organizationCreate 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_personCreate 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_cacheRefresh 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.
searchSearch 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…
whoamiWHICH 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
- Packages
- mcpb https://github.com/mmedum/pipedrive-mcp/releases/download/v1.1.3/pipedrive-mcp-1.1.3.mcpb
- License
- Apache-2.0
- Repository
- github.com/mmedum/pipedrive-mcp
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
More from mmedum
- 0.577score
Google Drive
mmedum
Google Drive at the file boundary: find, organize, share, transfer and follow what changed.
ConnectorAFreshness: ALocalClaude Desktop - 0.577score
Favro
mmedum
Favro cards, boards and collections over MCP: read, search, write, and resolve names to ids.
ConnectorAFreshness: ALocalClaude Desktop - 0.572score
Google Chat MCP
mmedum
Google Chat as MCP tools: read, search and write to your spaces, direct messages and sidebar.
ConnectorAFreshness: ALocalClaude Desktop - 0.572score
Google Docs MCP
mmedum
Google Docs as MCP tools: read, edit, suggest and comment on documents.
ConnectorAFreshness: ALocalClaude Desktop - 0.572score
GitLab MCP
mmedum
GitLab over MCP from your own account: issues, merge requests, reviews, the repository and CI.
ConnectorAFreshness: ALocalClaude Desktop - 0.572score
Google Calendar MCP
mmedum
Google Calendar over MCP: calendars, events, recurrence and availability.
ConnectorAFreshness: ALocalClaude Desktop
Cite this page
Pipedrive MCP. Agent Mart. https://agentmart.dev/connectors/mmedum-pipedrive-mcp (last updated 2026-10-24)