Skip to main content
Glama
Ploomes MCP Server

Ploomes MCP Server

Ploomes MCP Server

Unofficial Model Context Protocol server that connects AI agents to the Ploomes CRM REST API. Exposes 56 tools covering contacts, deals, tasks, pipelines, interactions, quotes, orders, products, fields, users, account management, and lookup/reference data.

Works with any MCP-compatible client: Claude Desktop, Claude Code, Cursor, VS Code (Copilot), and others.


Quick Start

One-command setup

npx ploomes-mcp-server init

The interactive wizard will:

  1. Ask for your Ploomes User-Key

  2. Ask where to install (Claude Desktop, Claude Code, Cursor, VS Code, or manual)

  3. Ask if project-level or global

  4. Write the config automatically

That's it. No cloning, no building, no manual config editing.

Non-interactive setup (scripts, CI, deploying to teammates)

Pass flags and the wizard skips every prompt:

# Configure every global client (Claude Desktop + Claude Code + Cursor) in one shot
npx ploomes-mcp-server init --key YOUR_USER_KEY --target all --yes

# Single target
npx ploomes-mcp-server init --key YOUR_USER_KEY --target claude-desktop --yes

# Read the key from the environment instead of the command line
export PLOOMES_USER_KEY=YOUR_USER_KEY
npx ploomes-mcp-server init --target all --yes

Flags:

Flag

Value

Description

--key, -k

<user-key>

Ploomes User-Key. Falls back to PLOOMES_USER_KEY env var if omitted.

--target, -t

see below

Which client to configure. Required for non-interactive mode.

--yes, -y

(flag)

Overwrite existing ploomes entries without asking.

--target values: claude-desktop, claude-code-project, claude-code-global, cursor, vscode, all (every global client), manual (print JSON only).

Security: putting the key directly in the command line leaves it in your shell history. Prefer export PLOOMES_USER_KEY=… first, then call init --target all --yes.

Prerequisites

  • Node.js 20+ (uses native fetch)

  • A Ploomes User-Key (get it from Ploomes > Settings > Integration > API Key)


Related MCP server: Pipedrive MCP Server

Manual Setup

If you prefer to configure manually, add this to your MCP client config:

Claude Desktop

Config file location:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

  • Linux: ~/.config/Claude/claude_desktop_config.json

macOS / Linux:

{
  "mcpServers": {
    "ploomes": {
      "command": "npx",
      "args": ["-y", "ploomes-mcp-server"],
      "env": {
        "PLOOMES_USER_KEY": "your-key-here"
      }
    }
  }
}

Windows:

{
  "mcpServers": {
    "ploomes": {
      "command": "cmd",
      "args": ["/c", "npx", "-y", "ploomes-mcp-server"],
      "env": {
        "PLOOMES_USER_KEY": "your-key-here"
      }
    }
  }
}

Important: On Windows you must wrap the command with cmd /c. MCP clients (Claude Desktop, Claude Code, Cursor) spawn commands without a shell, and Node's spawn() on Windows cannot resolve .cmd/.bat files directly. Using "command": "npx" or "command": "npx.cmd" alone results in the server failing to start silently — the config is saved, but no tools appear in the chat. cmd /c npx delegates to a real shell that handles PATH and extension resolution.

If you already tried init on an older version and the tools aren't showing up, re-run:

npx ploomes-mcp-server@latest init
npx ploomes-mcp-server@latest doctor

Claude Code

Project-level .mcp.json:

{
  "mcpServers": {
    "ploomes": {
      "command": "npx",
      "args": ["-y", "ploomes-mcp-server"],
      "env": {
        "PLOOMES_USER_KEY": "your-key-here"
      }
    }
  }
}

Or via CLI:

claude mcp add ploomes -- npx -y ploomes-mcp-server -e PLOOMES_USER_KEY=your-key-here

Cursor

File: ~/.cursor/mcp.json

{
  "mcpServers": {
    "ploomes": {
      "command": "npx",
      "args": ["-y", "ploomes-mcp-server"],
      "env": {
        "PLOOMES_USER_KEY": "your-key-here"
      }
    }
  }
}

Remote (HTTP Transport)

MCP_TRANSPORT=http MCP_HTTP_PORT=3000 PLOOMES_USER_KEY=your-key npx ploomes-mcp-server

Then point your MCP client to https://your-server.com/mcp (use a reverse proxy for HTTPS).

Windows users: In all JSON examples above, replace the command / args with the cmd /c npx -y ploomes-mcp-server pattern shown in the Claude Desktop Windows example. MCP clients on Windows cannot spawn .cmd files directly — you must delegate through cmd. The npx ploomes-mcp-server init wizard does this automatically.


CLI

npx ploomes-mcp-server                                           # Start the MCP server (stdio)
npx ploomes-mcp-server init                                      # Interactive setup wizard
npx ploomes-mcp-server init --key KEY --target all --yes         # Non-interactive
npx ploomes-mcp-server init --target claude-desktop --yes        # Uses PLOOMES_USER_KEY env
npx ploomes-mcp-server doctor                                    # Diagnose configs and spawn behavior
npx ploomes-mcp-server --help                                    # Show usage
npx ploomes-mcp-server --version                                 # Show version

Environment Variables

Variable

Required

Default

Description

PLOOMES_USER_KEY

Yes

—

Your Ploomes API key

MCP_TRANSPORT

No

stdio

stdio or http

MCP_HTTP_PORT

No

3000

HTTP port (when using http transport)

PLOOMES_BASE_URL

No

https://api2.ploomes.com

Ploomes API base URL

PLOOMES_RATE_LIMIT

No

120

Max requests per minute


Tools Overview

CRUD Tools (44)

Category

Tools

Operations

Contacts

5

list, get, create, update, delete

Deals

8

list, get, create, update, delete, win, lose, reopen

Tasks

6

list, get, create, update, delete, finish

Interactions

5

list, get, create, update, delete

Quotes

5

list, get, create, update, delete

Orders

5

list, get, create, update, delete

Products

5

list, get, create, update, delete

Pipelines

2

list pipelines, list stages

Fields

1

list custom fields

Users

1

list users

Account

1

get account info

Lookup Tools (12)

Reference tools for discovering valid IDs, enum values, and dropdown options used by the CRUD tools above.

Tool

Description

ploomes_contacts_types_list

Contact types (Person, Company, etc.)

ploomes_contacts_status_list

Contact statuses (Active, Inactive, etc.)

ploomes_contacts_origins_list

Contact origins (Website, Referral, etc.)

ploomes_deals_status_list

Deal statuses (Open, Won, Lost)

ploomes_deals_loss_reasons_list

Loss reasons for marking deals as lost

ploomes_tasks_types_list

Task types (Call, Meeting, Email, etc.)

ploomes_currencies_list

Available currencies

ploomes_fields_entities_list

Entities that support custom fields

ploomes_fields_types_list

Custom field data types

ploomes_fields_options_tables_list

Dropdown option tables

ploomes_fields_options_list

Options within a dropdown table

ploomes_orders_stages_list

Order workflow stages

Total: 56 tools

See Tools Reference for complete documentation of every tool.


Documentation

Document

Description

Architecture

System design, data flow, component breakdown

Configuration

Environment variables, transport options, deployment

Tools Reference

All 56 tools with parameters, examples, and annotations

Testing & Debugging

MCP Inspector, Claude Desktop, Claude Code setup

Examples & Recipes

Real-world CRM workflows with step-by-step tool calls


Project Structure

ploomes-mcp-server/
├── src/
│   ├── index.ts              # Entry point — CLI routing + transport detection
│   ├── server.ts             # Creates McpServer, registers all tools
│   ├── cli/
│   │   └── setup.ts          # Interactive setup wizard (npx init)
│   ├── client/
│   │   ├── rate-limiter.ts   # Sliding window rate limiter (120 req/min)
│   │   ├── odata-builder.ts  # OData v4 query parameter builder
│   │   └── ploomes-client.ts # HTTP client with retry & error handling
│   ├── tools/
│   │   ├── contacts.ts       # 5 tools — CRUD
│   │   ├── deals.ts          # 8 tools — CRUD + Win/Lose/Reopen
│   │   ├── tasks.ts          # 6 tools — CRUD + Finish
│   │   ├── pipelines.ts      # 2 tools — List pipelines & stages
│   │   ├── interactions.ts   # 5 tools — CRUD
│   │   ├── quotes.ts         # 5 tools — CRUD
│   │   ├── orders.ts         # 5 tools — CRUD
│   │   ├── products.ts       # 5 tools — CRUD
│   │   ├── lookups.ts        # 12 tools — Reference/lookup data
│   │   ├── fields.ts         # 1 tool  — List fields
│   │   ├── users.ts          # 1 tool  — List users
│   │   └── account.ts        # 1 tool  — Account info
│   ├── types/
│   │   ├── ploomes.ts        # TypeScript interfaces for all entities
│   │   └── schemas.ts        # Shared Zod schemas (OtherProperties, etc.)
│   └── utils/
│       ├── formatter.ts      # Standardized MCP response builders
│       └── logger.ts         # stderr logger (debug/info/warn/error)
├── dist/                     # Compiled JavaScript (npm run build)
├── docs/                     # Extended documentation
├── package.json
├── tsconfig.json
├── .env.example
└── README.md

Key Design Decisions

  • Zero unnecessary dependencies — only @modelcontextprotocol/sdk, zod, and dotenv. Uses Node 20's native fetch.

  • TypeScript strict mode — full type safety, no any.

  • Every request rate-limited — sliding window prevents hitting Ploomes' 120 req/min limit.

  • Automatic retries — exponential backoff on HTTP 429 (rate limit) and 5xx (server errors), up to 3 retries.

  • Descriptive errors — "Resource not found: /Contacts(999)" instead of "Error".

  • Tool descriptions in English — optimized for LLM understanding. Data from Ploomes may be in pt-BR.

  • Lookup tools — dedicated tools for discovering valid IDs (types, statuses, origins, currencies, etc.) so the AI agent can self-serve without guessing.

  • Shared Zod schemas — OtherProperties schema reused across all tools that support custom fields.

  • One-command setup — npx ploomes-mcp-server init configures any supported MCP client.

  • No bundler — plain tsc compilation to dist/.


Tech Stack

Component

Technology

Runtime

Node.js 20+

Language

TypeScript 5.x (strict mode)

MCP SDK

@modelcontextprotocol/sdk

Validation

zod

HTTP client

Native fetch

Build

tsc (no bundler)

Transport

stdio (local) / Streamable HTTP (remote)

Distribution

npm (npx ploomes-mcp-server)


Troubleshooting (Windows)

Symptom: npx ploomes-mcp-server init succeeds, writes the config, but the tools never appear in Claude Desktop / Claude Code / Cursor.

Cause: Older versions generated "command": "npx.cmd". MCP clients on Windows spawn commands without a shell, so Node's spawn() cannot resolve .cmd extensions directly. The server fails to start and the client shows no error in the UI.

Fix:

npx ploomes-mcp-server@latest init
npx ploomes-mcp-server@latest doctor

The updated wizard generates "command": "cmd" with "args": ["/c", "npx", "-y", "ploomes-mcp-server"], which works across Claude Desktop, Claude Code, Cursor, and VS Code on Windows.

Still stuck?

  1. Fully quit Claude Desktop (right-click system tray icon → Quit — closing the window is not enough).

  2. Inspect logs at %APPDATA%\Claude\logs\mcp-server-ploomes.log.

  3. Run npx ploomes-mcp-server doctor — it validates your config and tests that cmd /c npx actually spawns.

  4. If you edited the config manually, ensure the JSON is valid (commas, braces) and the "ploomes" entry sits inside "mcpServers".


Contributing

  1. Fork the repository

  2. Create a feature branch (git checkout -b feature/my-feature)

  3. Make your changes

  4. Build and test (npm run build)

  5. Test with MCP Inspector (see Testing)

  6. Submit a pull request


License

MIT

Available Tools

56 tools
ploomes_account_infoGet Account InfoA
Read-onlyIdempotent

Get information about the current Ploomes CRM account including company Name, Email, Phone, Website, Register (CNPJ), CityId, StreetAddress, and plan details. Use $expand=OtherProperties,Plan to include custom fields and plan info.

Inputs: expand, select.

ploomes_contacts_createCreate ContactA

Create a new contact in Ploomes CRM. Name is required. Use OtherProperties to set custom fields.

To find valid IDs for reference fields:

  • TypeId: use ploomes_contacts_types_list (typically 1=Person, 2=Company, but may vary per account)

  • StatusId: use ploomes_contacts_status_list to discover available contact statuses

  • OriginId: use ploomes_contacts_origins_list to discover available contact origins

  • OwnerId: use ploomes_users_list to discover valid user IDs

  • CityId: numeric city ID from the Ploomes cities database

  • CurrencyId: numeric currency ID from the Ploomes currencies list

Inputs: Name (required), TypeId, LegalName, Register, +24 more.

ploomes_contacts_deleteDelete ContactA
DestructiveIdempotent

Delete a contact from Ploomes CRM by ID. This action is irreversible.

Inputs: id (required).

ploomes_contacts_getGet ContactA
Read-onlyIdempotent

Get a single contact by ID from Ploomes CRM.

Available $expand values: Type, Company, Tags, OtherProperties, InteractionRecords, Attachments, Documents, Products, Contacts.

Use $expand=OtherProperties to include custom field values. Use $expand=Tags to see associated tags. Use $expand=InteractionRecords to see interaction history. Use $expand=Company to see the parent company details.

Inputs: id (required), expand, select.

ploomes_contacts_listList ContactsA
Read-onlyIdempotent

Search and list contacts in Ploomes CRM. Supports OData filtering, sorting, field selection, and pagination.

Available $expand values: Type, Company, Tags, OtherProperties, InteractionRecords, Attachments, Documents, Products, Contacts.

$filter examples:

  • Exact match: "Name eq 'João Silva'"

  • Contains text: "contains(Name, 'Silva')"

  • Starts with: "startswith(Email, 'joao')"

  • By status: "StatusId eq 1"

  • By type: "TypeId eq 2"

  • Date filter: "CreateDate ge 2025-01-01T00:00:00Z"

  • Custom field: "OtherProperties/any(o: o/FieldId eq 12345 and o/StringValue eq 'valor')"

  • Combined: "TypeId eq 1 and contains(Name, 'Silva') and StatusId eq 1"

Use ploomes_contacts_types_list to discover valid TypeId values. Use ploomes_contacts_status_list to discover valid StatusId values. Use ploomes_contacts_origins_list to discover valid OriginId values.

Inputs: filter, select, expand, orderby, +2 more.

ploomes_contacts_origins_listList Contact OriginsA
Read-onlyIdempotent

List available contact/lead origins in Ploomes CRM (e.g., Website, Referral, Cold Call). Returns Id and Name. Use the returned Id as OriginId when creating contacts or deals.

Inputs: top, skip.

ploomes_contacts_status_listList Contact StatusesA
Read-onlyIdempotent

List available contact statuses in Ploomes CRM (e.g., Ativo/Active, Inativo/Inactive). Returns Id and Name. Use the returned Id as StatusId when creating or filtering contacts.

Inputs: top, skip.

ploomes_contacts_types_listList Contact TypesA
Read-onlyIdempotent

List available contact types in Ploomes CRM (e.g., Pessoa/Person, Empresa/Company). Returns Id and Name for each type. Use the returned Id as TypeId when creating or filtering contacts.

Inputs: top, skip.

ploomes_contacts_updateUpdate ContactA
Idempotent

Update an existing contact in Ploomes CRM by ID. Only provided fields are changed; omitted fields remain untouched.

To find valid IDs for reference fields:

  • TypeId: use ploomes_contacts_types_list (typically 1=Person, 2=Company, but may vary per account)

  • StatusId: use ploomes_contacts_status_list to discover available contact statuses

  • OriginId: use ploomes_contacts_origins_list to discover available contact origins

  • OwnerId: use ploomes_users_list to discover valid user IDs

  • CityId: numeric city ID from the Ploomes cities database

  • CurrencyId: numeric currency ID from the Ploomes currencies list

Inputs: id (required), Name, TypeId, LegalName, +25 more.

ploomes_currencies_listList CurrenciesA
Read-onlyIdempotent

List available currencies in Ploomes CRM (e.g., BRL, USD, EUR). Returns Id, Symbol, Name, etc. Use the returned Id as CurrencyId when creating deals, orders, or products.

Inputs: top, skip.

ploomes_deals_createCreate DealA

Create a new deal (opportunity) in Ploomes CRM. Title is required. ContactId and PersonId both reference entities from /Contacts but serve different roles: ContactId = the company/organization contact associated with the deal; PersonId = the individual person contact linked to the deal (often an employee of the company). StageId determines which pipeline stage the deal starts in — use ploomes_pipelines_list to find pipelines, then ploomes_stages_list to find valid stage IDs within a pipeline. If StageId is omitted, the deal defaults to the first stage of the first active pipeline. DealNumber is read-only and auto-generated by Ploomes — do not set it. Use ploomes_currencies_list to find valid CurrencyId values. Use ploomes_contacts_origins_list to find valid OriginId values. Use OtherProperties to set custom fields (call ploomes_fields_list to discover available field keys).

Inputs: Title (required), ContactId, PersonId, StageId, +5 more.

ploomes_deals_deleteDelete DealA
DestructiveIdempotent

Delete a deal from Ploomes CRM by ID. This action is irreversible.

Inputs: id (required).

ploomes_deals_getGet DealA
Read-onlyIdempotent

Get a single deal by ID from Ploomes CRM. Use $expand to include related entities. Available $expand options: Contact, Person, Stage, Status, Tags, Tasks, Products, Quotes, Origin, InteractionRecords, Orders, OtherProperties, Documents.

Inputs: id (required), expand, select.

ploomes_deals_listList DealsA
Read-onlyIdempotent

Search and list deals (opportunities) in Ploomes CRM. Supports OData filtering, sorting, field selection, and pagination. Common filters: ContactId eq 123, StageId eq 456, StatusId eq 1, OwnerId eq 789, Amount gt 1000. StatusId values: typically 1=Open, 2=Won, 3=Lost — use ploomes_deals_status_list to confirm the exact mapping for your account. Use ploomes_stages_list to find valid StageId values. Use ploomes_users_list to find valid OwnerId values. Available $expand options: Contact, Person, Stage, Status, Tags, Tasks, Products, Quotes, Origin, InteractionRecords, Orders, OtherProperties, Documents.

Inputs: filter, select, expand, orderby, +2 more.

ploomes_deals_loseLose DealA
Idempotent

Mark a deal as lost in Ploomes CRM. Sets the deal StatusId to 3 (Lost). Requires a LossReasonId — use ploomes_deals_loss_reasons_list to find valid loss reason IDs for your account. Only open deals (StatusId=1) can be marked as lost.

Inputs: id (required), LossReasonId (required).

ploomes_deals_loss_reasons_listList Deal Loss ReasonsA
Read-onlyIdempotent

List available loss reasons for deals in Ploomes CRM. Returns Id and Name. You MUST provide a valid LossReasonId when calling ploomes_deals_lose. Loss reasons may be filtered by PipelineId.

Inputs: filter, top, skip.

ploomes_deals_reopenReopen DealA
Idempotent

Reopen a previously won or lost deal in Ploomes CRM. The deal returns to its last stage before being won/lost, and its StatusId goes back to 1 (Open). Only deals with StatusId=2 (Won) or StatusId=3 (Lost) can be reopened. Sends an empty body to POST /Deals({Id})/Reopen.

Inputs: id (required).

ploomes_deals_status_listList Deal StatusesA
Read-onlyIdempotent

List available deal statuses in Ploomes CRM. Typically: 1=Open (Aberto), 2=Won (Ganho), 3=Lost (Perdido). Returns Id and Name. Use in $filter expressions like 'StatusId eq 1' to find open deals.

Inputs: top, skip.

ploomes_deals_updateUpdate DealA
Idempotent

Update an existing deal in Ploomes CRM. Only provided fields are changed. Use StageId to move a deal between stages within the same pipeline or to a different pipeline — use ploomes_pipelines_list then ploomes_stages_list to find valid stage IDs. ContactId and PersonId both reference /Contacts but serve different roles: ContactId = company/organization, PersonId = individual person. DealNumber is read-only and auto-generated — do not set it. Use OtherProperties to update custom fields.

Inputs: id (required), Title, ContactId, PersonId, +6 more.

ploomes_deals_winWin DealA
Idempotent

Mark a deal as won in Ploomes CRM. Sets the deal StatusId to 2 (Won). The deal's pipeline must have MayWinDeals=true for this action to succeed — use ploomes_pipelines_list to check. Only open deals (StatusId=1) can be won. Sends an empty body to POST /Deals({Id})/Win.

Inputs: id (required).

ploomes_fields_entities_listList Field EntitiesA
Read-onlyIdempotent

List entity types that support custom fields in Ploomes CRM. Returns Id and Name. Known EntityId values: 1=Contact, 2=Deal, 4=Order, 5=Order Section, 7=Quote, 8=Quote Section, 10=Product, 12=Task, 14=Quote Product, 20=Order Product, 36=Interaction Record. Use these when filtering ploomes_fields_list.

Inputs: top, skip.

ploomes_fields_listList FieldsA
Read-onlyIdempotent

List custom fields configured in Ploomes CRM. Filter by EntityId to get fields for a specific entity. Known EntityId values: 1=Contact, 2=Deal, 4=Order, 7=Quote, 10=Product, 12=Task, 36=Interaction Record. Use ploomes_fields_entities_list for the complete mapping. Each field has a Key (used in OtherProperties when reading/writing custom field values), Name, and TypeId. Use ploomes_fields_types_list to understand which value property to use for each field type (e.g., StringValue, IntegerValue, DateTimeValue, BoolValue, BigStringValue, ObjectValueName). Use $expand=Entity,Type,OptionsTable to include related info.

Inputs: filter, select, expand, orderby, +2 more.

ploomes_fields_options_listList Field OptionsA
Read-onlyIdempotent

List individual options within a dropdown-type custom field in Ploomes CRM. Filter by OptionsTableId to get options for a specific dropdown field. Returns Id and Name for each option. Use the Name as ObjectValueName when writing OtherProperties.

Inputs: filter, top, skip.

ploomes_fields_options_tables_listList Field Options TablesA
Read-onlyIdempotent

List options tables (dropdown value sets) for custom fields in Ploomes CRM. Each table contains the valid options for a dropdown-type custom field. Use ploomes_fields_options_list to see the options within a table.

Inputs: filter, top, skip.

ploomes_fields_types_listList Field TypesA
Read-onlyIdempotent

List available custom field types in Ploomes CRM. Returns Id, Name, NativeType. The NativeType tells you which value property to use in OtherProperties: String→StringValue, Integer→IntegerValue, Boolean→BoolValue, DateTime→DateTimeValue, Decimal→BigStringValue, Object (dropdown)→ObjectValueName.

Inputs: top, skip.

ploomes_interactions_createCreate Interaction RecordA

Create a new interaction record (note, email, activity) in Ploomes CRM. Attach to a deal and/or contact. If DealId is provided, ContactId is auto-filled from the deal when omitted.

Inputs: Content (required), Title, Date, DealId, +5 more.

ploomes_interactions_deleteDelete Interaction RecordB
DestructiveIdempotent

Delete an interaction record from Ploomes CRM by ID.

Inputs: id (required).

ploomes_interactions_getGet Interaction RecordA
Read-onlyIdempotent

Get a single interaction record by ID from Ploomes CRM. Use $expand to include related entities like Contact, Deal, Tags, Comments, NotifiedUsers, or OtherProperties.

Inputs: id (required), expand, select.

ploomes_interactions_listList Interaction RecordsA
Read-onlyIdempotent

Search and list interaction records (notes, emails, activities) in Ploomes CRM. Supports OData filtering, sorting, field selection, and pagination. Full $expand options: Contact, Deal, Tags, Comments, NotifiedUsers, OtherProperties.

Inputs: filter, select, expand, orderby, +2 more.

ploomes_interactions_updateUpdate Interaction RecordA
Idempotent

Update an existing interaction record in Ploomes CRM. Only provided fields are changed.

Inputs: id (required), Content, Title, Date, +6 more.

ploomes_orders_createCreate OrderB

Create a new order in Ploomes CRM. ContactId is required.

Inputs: ContactId (required), Title, DealId, Amount, +10 more.

ploomes_orders_deleteDelete OrderA
DestructiveIdempotent

Delete an order from Ploomes CRM by ID.

Inputs: id (required).

ploomes_orders_getGet OrderA
Read-onlyIdempotent

Get a single order by ID from Ploomes CRM. Use $expand to include related entities like OtherProperties, Products, or Attachments.

Inputs: id (required), expand, select.

ploomes_orders_listList OrdersA
Read-onlyIdempotent

Search and list orders in Ploomes CRM. Supports OData filtering, sorting, field selection, and pagination. Use $expand=OtherProperties to include custom fields.

Inputs: filter, select, expand, orderby, +2 more.

ploomes_orders_stages_listList Order StagesA
Read-onlyIdempotent

List available order stages in Ploomes CRM. Returns Id and Name. Use the returned Id as StageId when creating or updating orders.

Inputs: top, skip.

ploomes_orders_updateUpdate OrderA
Idempotent

Update an existing order in Ploomes CRM by ID. Only provided fields are changed.

Inputs: id (required), Title, DealId, ContactId, +11 more.

ploomes_pipelines_listList PipelinesA
Read-onlyIdempotent

List all sales pipelines (funnels) in Ploomes CRM. Pipelines contain stages that deals move through. Each pipeline has configuration flags that control deal behavior: MustPassAllStages (deals must go through every stage in order), ForbiddenStageReturn (deals cannot move back to a previous stage), MayWinDeals (deals in this pipeline can be won), MayLoseDeals (deals in this pipeline can be lost), WinDealOnLastStage (deals are automatically won when moved to the last stage), MayCreateQuotes (quotes can be created for deals in this pipeline), MayCreateOrders (orders can be created for deals in this pipeline). Use $select to get specific fields. Key fields: Id, Name, Ordination, Archived, MustPassAllStages, ForbiddenStageReturn, MayCreateQuotes, MayCreateOrders, MayWinDeals, MayLoseDeals, WinDealOnLastStage.

Inputs: filter, select, orderby, top, +1 more.

ploomes_products_createCreate ProductB

Create a new product in Ploomes CRM. Name is required.

Inputs: Name (required), Code, Description, UnitPrice, +5 more.

ploomes_products_deleteDelete ProductB
DestructiveIdempotent

Delete a product from Ploomes CRM by ID.

Inputs: id (required).

ploomes_products_getGet ProductA
Read-onlyIdempotent

Get a single product by ID from Ploomes CRM. Use $expand to include related entities like OtherProperties, Group, Family, or Parts.

Inputs: id (required), expand, select.

ploomes_products_listList ProductsA
Read-onlyIdempotent

Search and list products in Ploomes CRM. Use to find product IDs for deals and quotes. Supports OData filtering, sorting, field selection, and pagination. Use $expand=OtherProperties to include custom fields.

Inputs: filter, select, expand, orderby, +2 more.

ploomes_products_updateUpdate ProductA
Idempotent

Update an existing product in Ploomes CRM by ID. Only provided fields are changed.

Inputs: id (required), Name, Code, Description, +6 more.

ploomes_quotes_createCreate QuoteA

Create a new quote (proposal) in Ploomes CRM. DealId is required. The QuoteNumber is auto-generated (read-only).

Inputs: DealId (required), Title, ContactId, TemplateId, +3 more.

ploomes_quotes_deleteDelete QuoteA
DestructiveIdempotent

Delete a quote from Ploomes CRM by ID.

Inputs: id (required).

ploomes_quotes_getGet QuoteA
Read-onlyIdempotent

Get a single quote (proposal) by ID from Ploomes CRM. Use $expand to include related entities like OtherProperties, Products, Pages, or Comments.

Inputs: id (required), expand, select.

ploomes_quotes_listList QuotesA
Read-onlyIdempotent

Search and list quotes (proposals) in Ploomes CRM. Supports OData filtering, sorting, field selection, and pagination. Use $expand=OtherProperties to include custom fields.

Inputs: filter, select, expand, orderby, +2 more.

ploomes_quotes_updateUpdate QuoteA
Idempotent

Update an existing quote in Ploomes CRM by ID. Only provided fields are changed. The QuoteNumber is read-only and cannot be updated.

Inputs: id (required), Title, DealId, ContactId, +4 more.

ploomes_stages_listList StagesA
Read-onlyIdempotent

List pipeline stages in Ploomes CRM. Stages define the sequential steps within a pipeline that deals progress through. Key fields: Id, Name, PipelineId, Ordination. The Ordination field determines the order of stages within a pipeline — use orderby='Ordination asc' to get stages in their correct sequence. Always filter by PipelineId to get stages for a specific pipeline. Use ploomes_pipelines_list first to discover available PipelineId values.

Inputs: filter, select, orderby, top, +1 more.

ploomes_tasks_createCreate TaskA

Create a new task in Ploomes CRM. Attach to a deal via DealId or to a contact via ContactId. Date and Hour are separate fields: Date is the due date (ISO 8601), Hour is the time component as a string (e.g., '14:30'). Use OtherProperties to set custom fields.

Inputs: Title, Description, Date, Hour, +5 more.

ploomes_tasks_deleteDelete TaskA
DestructiveIdempotent

Delete a task from Ploomes CRM by ID. This action is irreversible.

Inputs: id (required).

ploomes_tasks_finishFinish TaskA
Idempotent

Mark a task as finished (completed) in Ploomes CRM. Sends {Finished: true} to the API. This is an idempotent action — finishing an already-finished task has no adverse effect.

Inputs: id (required).

ploomes_tasks_getGet TaskA
Read-onlyIdempotent

Get a single task by ID from Ploomes CRM. Use $expand to include related entities. Available $expand options: Type, Contact, Deal, Owner, Users, Tags, Comments, InteractionRecord, InteractionRecords, Creator, OtherProperties, Attachments.

Inputs: id (required), expand, select.

ploomes_tasks_listList TasksA
Read-onlyIdempotent

Search and list tasks in Ploomes CRM. Supports OData filtering, sorting, field selection, and pagination. Filter by DealId, ContactId, OwnerId, TypeId, Finished status, Date range, and more. Available $expand options: Type, Contact, Deal, Owner, Users, Tags, Comments, InteractionRecord, InteractionRecords, Creator, OtherProperties, Attachments.

Inputs: filter, select, expand, orderby, +2 more.

ploomes_tasks_types_listList Task TypesA
Read-onlyIdempotent

List available task types in Ploomes CRM (e.g., Ligação/Call, Reunião/Meeting, E-mail, Visita/Visit). Returns Id, Name, Icon, Color. Use the returned Id as TypeId when creating tasks or interaction records.

Inputs: top, skip.

ploomes_tasks_updateUpdate TaskB
Idempotent

Update an existing task in Ploomes CRM by ID. Only provided fields are changed. Date and Hour are separate fields: Date is the due date (ISO 8601), Hour is the time component as a string (e.g., '14:30').

Inputs: id (required), Title, Description, Date, +6 more.

ploomes_users_listList UsersA
Read-onlyIdempotent

List users in the Ploomes CRM account. Returns Id, Name, Email, AvatarUrl, RoleId, ProfileId, Phone, etc. Use the returned Id as OwnerId when creating or assigning contacts, deals, tasks, and interaction records. Use $expand=Role,Profile,Teams,OtherProperties to include related data.

Inputs: filter, select, expand, orderby, +2 more.

Tool Schema Changelog

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

Loading tool schema changelog…

    TDQS

    A3.9/5.0

    Scored across 56 tools

    Disambiguation5/5

    Each tool targets a distinct entity and action, with clear prefixes and suffixes. Even the many reference list tools (e.g., ploomes_contacts_types_list vs ploomes_contacts_status_list) are unambiguously differentiated by their entity and purpose.

    Naming Consistency5/5

    All tools follow a consistent ploomes_{entity}_{action} pattern in lowercase snake_case. Actions are standard CRUD verbs (create, delete, get, list, update) plus specific actions (win, lose, reopen, finish). No mixing of conventions.

    Tool Count5/5

    With 56 tools, the server covers multiple CRM entities (contacts, deals, tasks, products, orders, quotes, etc.) and their reference data. Each tool has a clear purpose, and the count reflects the complexity of a full CRM API without being bloated.

    Completeness3/5

    Core CRUD operations are covered for main entities, and reference data is well-supported. However, there are notable gaps: no tools for managing line items within orders/quotes, attachments, or pipeline creation/update, which limits the ability to perform complete CRM workflows.

    Maintenance

    ActivityInactive
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers

    • F
      license
      B
      quality
      D
      maintenance
      Enables AI assistants to autonomously interact with Kommo CRM, providing tools for managing pipelines, leads, contacts, and custom fields via the Kommo API v4.
      27
      1
      -
    • F
      license
      C
      quality
      C
      maintenance
      Exposes 153 tools to connect AI assistants to the Ploomes CRM, enabling CRUD operations, funnel configuration, CPQ, automations, and webhooks.
      100
      1
      -