Perfex CRM

com.themesicPublished by themesic.comv3.1.0Updated Oct 24, 2026

Read and write a self-hosted Perfex CRM from an AI agent: 148 permission-filtered tools.

VerifiedStreamable HTTPWeb executableProductivity & WorkflowBusiness & Commerce

Overview

AI-generated overview

MCP server for a self-hosted Perfex CRM that gives an assistant 148 permission-filtered tools to read and write CRM records.

What you can do
  • Read and write core CRM records such as customers, contacts, leads, invoices, estimates, proposals, contracts, payments and credit notes
  • Manage projects, tasks, milestones, timesheets, subscriptions, items, expenses, staff and calendar entries
  • Look up reference data such as countries, taxes, currencies, statuses and custom fields
  • Work with knowledge base articles and groups, and with notes attached to entity types
  • List endpoints support pagination, field selection, sorting and date-range filters
When to use it
Useful when your team runs a self-hosted Perfex CRM and wants an AI assistant to look up or update customers, leads, invoices, projects and tasks directly, for example in Claude, ChatGPT, Cursor or an automation agent.
Requirements
A self-hosted Perfex CRM with the commercial REST API module installed, licensed and its MCP server enabled. The endpoint is your own host at /api/mcp (or the vendor's hosted MCP URL). An API token created in Perfex under Setup > API > API Management, sent in the authtoken header, with permissions ticked for the resources you want exposed.
Before you install
The token grants read and write access to CRM data, including creating, updating and deleting customers, invoices, payments and staff; use a scoped, preferably read-only token where possible. The tool list is filtered by the token's permissions, so new permission rows must be ticked before those tools appear. The module is a paid product requiring a valid license, and CRM data passes through the MCP endpoint.

Installation

In SourceWeft

  1. Open Perfex CRM in the dashboard and add it to a workspace.
  2. Connect authtoken credentials. They are stored privately and never shown on public pages.
  3. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Other MCP clients

Follow the launch instructions in the repository.

README

[REST API for Perfex CRM — connect Perfex CRM with AI agents, Zapier, WooCommerce, n8n and third-party apps]

Perfex CRM REST API — Examples, Postman Collection & Code Snippets

🌐 English · 简体中文 · Español · Português (BR) · Italiano · Français · Deutsch · Türkçe · Tiếng Việt · ไทย · العربية

Ready-to-use Postman collection, code snippets (cURL, PHP, Python, JavaScript) and a resource catalogue for the REST API module for Perfex CRM — the fastest way to connect Perfex CRM with AI agents and third-party applications.

[Postman] [OpenAPI 3.0] [License: MIT] [Perfex CRM]

The Perfex CRM REST API lets you read and write customers, leads, invoices, estimates, projects, tasks and more over a clean HTTP/JSON interface — perfect for CRM integration, automation and custom apps. v3.0 adds an MCP server for AI agents, production-grade webhooks, ready-made Zapier / Make / n8n polling, batch operations and smarter list endpoints. This repository is the practical companion to the REST API for Perfex CRM module by Themesic Interactive: copy-paste examples, an importable Postman collection, and a full endpoint catalogue.


🚀 What's new in v3.0

FeatureEndpointWhat it does
🤖 MCP serverPOST /api/mcpModel Context Protocol (JSON-RPC 2.0) — exposes 148 permission-filtered CRM tools to Claude Desktop, ChatGPT, Cursor, n8n AI Agent and any MCP client
🪝 Webhooks 2.0/api/webhooks124 events, REST management, async delivery with retries, SSRF protection, HMAC-signed requests
🔌 Automation (polling)/api/zapier/*Ready-made polling triggers for Zapier, Make.com, n8n and any polling-based tool
⚡ BatchPOST /api/batchUp to 50 operations in one request (same tool names as MCP)
📚 Knowledge Base/api/knowledge_baseArticles + groups CRUD
🗒️ Notes/api/notesPolymorphic notes across 12 entity types
📄 Smarter listsany list endpointOpt-in ?page=&per_page=, ?fields=, ?sort=, ?created_after=&created_before=
🛡️ Safe writesany POSTIdempotency-Key replay, ignored-unknown-fields on PUT, X-RateLimit-* headers
📐 OpenAPI 3.0 specGET /api/openapiThe whole surface as one machine-readable document - 74 paths, 144 operations - import into Postman, Insomnia or Stoplight in seconds (reference copy in openapi/)

Everything is opt-in and backwards-compatible: requests without the new parameters return the exact same response as before.


Contents

FolderWhat's inside
postman/Importable Postman collection + environment ({{base_url}}, {{authtoken}}) — now with MCP, Webhooks, Batch, Automation, Knowledge Base & Notes
snippets/curl/Copy-paste curl commands for the most common calls
snippets/php/PHP (cURL) examples
snippets/python/Python (requests) examples
snippets/javascript/JavaScript / Node (fetch) examples
docs/Authentication, pagination & filtering, webhooks, MCP, automation, custom tables, errors & status codes

Each snippet language has examples for customers, invoices, leads plus the v3 features webhooks, mcp, batch, automation, knowledge_base and notes, and a list_features file showing pagination, field selection and sorting.


Quick start

Every request to the Perfex CRM REST API is authenticated with the Authtoken header. Create a token in your Perfex admin under API → API Management (after activating the REST API module), then call the API at https://yourdomain.com/api/...:

bash
curl -H "authtoken: YOUR_API_TOKEN" https://yourdomain.com/api/customers

That returns the list of customers as JSON. See docs/authentication.md for header vs. query-parameter auth, and snippets/ for the same call in PHP, Python and JavaScript.

Use the Postman collection

  1. Open Postman → Import → drop in postman/perfex-rest-api.postman_collection.json.
  2. Import the environment postman/perfex-rest-api.postman_environment.json.
  3. Set base_url to https://yourdomain.com/api and authtoken to your token.
  4. Pick any request and hit Send.

Connect an AI agent (MCP)

Point any MCP client (Claude Desktop, Cursor, ChatGPT, n8n AI Agent) at POST https://yourdomain.com/api/mcp and send your authtoken header. The server advertises permission-filtered tools for your CRM. See docs/mcp.md and snippets/curl/mcp.sh.

Use with Claude, ChatGPT and other AI assistants

Connect any assistant with one URL, https://perfex-mcp.themesic.com/mcp. Step-by-step setup for Claude, ChatGPT, Cursor and VS Code: docs/connect-ai-assistants.md.

A Claude plugin (connector + skills) for claude.ai, Cowork and Claude Code lives in claude-plugin/. It requires the REST API module with a valid license and the MCP server enabled. See claude-plugin/README.md for setup, permissions and the privacy policy.


Endpoint catalogue

All CRUD endpoints follow a RESTful convention: GET list, GET /:id single, POST create, PUT /:id update, DELETE /:id delete — under the base path https://yourdomain.com/api.

Core CRM resources

ResourceBase pathTypical operations
Customers/api/customerslist, get, create, update, delete
Contacts/api/contactslist, get, create, update, delete
Leads/api/leadslist, get, create, update, delete
Invoices/api/invoiceslist, get, create, update, delete
Estimates/api/estimateslist, get, create, update, delete
Credit Notes/api/credit_noteslist, get, create, update
Payments/api/paymentslist, get, create
Proposals/api/proposalslist, get, create, update, delete
Contracts/api/contractslist, get, create, update, delete
Projects/api/projectslist, get, create, update, delete
Tasks/api/taskslist, get, create, update, delete
Milestones/api/milestoneslist, get, create, update, delete
Timesheets/api/timesheetslist, get, create, update, delete
Subscriptions/api/subscriptionslist, get, create, update
Items/api/itemslist, get, create, update, delete
Expenses/api/expenseslist, get, create, update, delete
Staff/api/staffslist, get, create, update, delete
Calendar/api/calendarlist, get, create, update, delete
Custom Fields/api/custom_fieldslist per related type
Common (lookups)/api/commoncountries, taxes, currencies, statuses …

v3 platform & extra resources

ResourceBase pathTypical operations
MCP server/api/mcpPOST JSON-RPC 2.0: initialize, tools/list, tools/call
Batch/api/batchPOST up to 50 operations in one request
Webhooks/api/webhookslist, get, create, update, delete, POST /:id/toggle, GET /events, GET /:id/logs
Automation (polling)/api/zapierGET /resources, GET /poll/:resource, GET /test/:resource
Knowledge Base/api/knowledge_baselist, get, create, update, delete; /groups
Notes/api/noteslist by :rel_type/:rel_id, get, create, update, delete

The exact request fields per resource are documented in the official API guide. The snippets here cover the most common flows.


Smarter list endpoints (v3)

Every list endpoint accepts optional query parameters. Add them and you get a { data, meta } envelope; omit them and you get the exact legacy array.

bash
# Page 2, 20 per page, only id + company, newest first, created this yearcurl -H "authtoken: YOUR_API_TOKEN" \  "https://yourdomain.com/api/customers?page=2&per_page=20&fields=id,company&sort=-datecreated&created_after=2026-01-01"
ParameterExampleEffect
page, per_page?page=2&per_page=20Pagination → { data, meta }
fields?fields=id,companyReturn only these columns
sort?sort=-datecreated,companySort (- = descending)
created_after, created_before?created_after=2026-01-01Date-range filter

per_page is the parameter that sizes a page (1-100, default 25). limit is accepted as an alias only when page is sent too, so a bare ?limit=5 does not paginate - use ?page=1&per_page=5.

See docs/pagination-filtering.md and snippets/curl/list_features.sh.


Upgrading from 2.x

There are no breaking changes. Every v3 list feature is opt-in:

  • Send none of the parameters above and you get the same plain array 2.x returned. The { data, meta } envelope appears only when you send page or per_page.
  • No endpoint was renamed. Customers have always been at /api/customers.
  • Unknown fields on PUT are ignored instead of returning an error.
  • POST requests accept an optional Idempotency-Key header; identical retries replay the stored response rather than creating duplicates.

Two things worth knowing when adopting v3:

  • Custom tables moved behind an allowlist in 3.0.2 - see docs/custom-tables.md.
  • New permission rows (Webhooks, Notes, Knowledge Base) must be ticked on existing tokens before those endpoints answer, and before their MCP tools appear in tools/list.

Popular integrations & use cases

The Perfex CRM REST API is commonly used to connect Perfex CRM with AI agents and third-party applications:

  • AI assistants (MCP) — let Claude, ChatGPT or Cursor read and update your CRM through /api/mcp.
  • Zapier / Make / n8n — no-code automation via ready-made polling triggers (/api/zapier/*).
  • Webhooks — push Perfex events (new invoice, new lead, 124 events) to Slack, Discord or your own backend, signed with HMAC.
  • Google Sheets / Power Automate — sync customers, invoices or payments to spreadsheets and dashboards.
  • Custom apps & portals — build a mobile app or customer portal on top of your Perfex data.
  • Accounting & e-commerce — sync invoices and items with external billing or shop platforms.

All of these are powered by the REST API for Perfex CRM module.


Authentication (summary)

MethodHow
Header (recommended)Authtoken: YOUR_API_TOKEN
Query parameter?authtoken=YOUR_API_TOKEN (handy for quick tests / webhooks)

Tokens are created and scoped (per-resource permissions) in API → API Management. Full details in docs/authentication.md.


FAQ

Does Perfex CRM have a REST API? Yes. The REST API for Perfex CRM module adds a full RESTful HTTP/JSON API for customers, leads, invoices, estimates, projects, tasks and more, plus a v3 MCP server, webhooks, batch and automation endpoints.

Can I use Perfex CRM with AI agents / ChatGPT / Claude? Yes — v3 ships an MCP server at POST /api/mcp that exposes permission-filtered CRM tools to any Model Context Protocol client. See docs/mcp.md.

How do I authenticate with the Perfex CRM API? Send your token in the Authtoken HTTP header (or as an ?authtoken= query parameter). See docs/authentication.md.

What is the base URL of the Perfex CRM API? https://yourdomain.com/api — for example https://yourdomain.com/api/customers.

Can I connect Perfex CRM to Zapier, Make or n8n? Yes — v3 has ready-made polling triggers under /api/zapier/*, plus webhooks. See Popular integrations and docs/automation.md.

Is there a Postman collection for Perfex CRM? Yes — import postman/perfex-rest-api.postman_collection.json and the bundled environment, set your base_url and authtoken, and start sending requests.

How do I create an invoice via the Perfex CRM API? POST https://yourdomain.com/api/invoices with the invoice fields and an items[] array — v3 auto-calculates subtotal/total. See snippets/curl/invoices.sh.


About / Support

[Perfex CRM REST API icon]

This repository is an examples companion to the commercial module:

REST API for Perfex CRM — connect your Perfex CRM with third-party applications by Themesic Interactive.

Contributions of additional examples are welcome — see CONTRIBUTING.md.

License

Example code in this repository is released under the MIT License. "Perfex" is a trademark of its respective owner; the REST API module is a commercial product by Themesic Interactive.

Source: README.md at commit 0f4c4f7

Tools

0
This server asks for a credential such as an API key, so SourceWeft could not read its tools without one and has not indexed them.

Version history

1
  1. v3.1.0LatestSep 16, 2026

Score

60% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declaredRequired10 pts
  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts