Read and write a self-hosted Perfex CRM from an AI agent: 148 permission-filtered tools.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent — or use 1-click editor setup below.
💡 Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
🌐 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.
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.
🧩 Get the module: https://themesic.com/product/rest-api-module-for-perfex-crm-connect-your-perfex-crm-with-third-party-applications/
📖 API guide / live docs: https://perfexcrm.themesic.com/apiguide/
🧾 OpenAPI 3.0 spec: GET https://yourdomain.com/api/openapi (reference copy)
| Feature | Endpoint | What it does |
|---|---|---|
| 🤖 MCP server | POST /api/mcp | Model 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/webhooks | 124 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 |
| ⚡ Batch | POST /api/batch | Up to 50 operations in one request (same tool names as MCP) |
| 📚 Knowledge Base | /api/knowledge_base | Articles + groups CRUD |
| 🗒️ Notes | /api/notes | Polymorphic notes across 12 entity types |
| 📄 Smarter lists | any list endpoint | Opt-in ?page=&per_page=, ?fields=, ?sort=, ?created_after=&created_before= |
| 🛡️ Safe writes | any POST | Idempotency-Key replay, ignored-unknown-fields on PUT, X-RateLimit-* headers |
| 📐 OpenAPI 3.0 spec | GET /api/openapi | The 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.
| Folder | What'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.
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/...:
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.
postman/perfex-rest-api.postman_collection.json.postman/perfex-rest-api.postman_environment.json.base_url to https://yourdomain.com/api and authtoken to your token.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.
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.
| Resource | Base path | Typical operations |
|---|---|---|
| Customers | /api/customers | list, get, create, update, delete |
| Contacts | /api/contacts | list, get, create, update, delete |
| Leads | /api/leads | list, get, create, update, delete |
| Invoices | /api/invoices | list, get, create, update, delete |
| Estimates | /api/estimates | list, get, create, update, delete |
| Credit Notes | /api/credit_notes | list, get, create, update |
| Payments | /api/payments | list, get, create |
| Proposals | /api/proposals | list, get, create, update, delete |
| Contracts | /api/contracts | list, get, create, update, delete |
| Projects | /api/projects | list, get, create, update, delete |
| Tasks | /api/tasks | list, get, create, update, delete |
| Milestones | /api/milestones | list, get, create, update, delete |
| Timesheets | /api/timesheets | list, get, create, update, delete |
| Subscriptions | /api/subscriptions | list, get, create, update |
| Items | /api/items | list, get, create, update, delete |
| Expenses | /api/expenses | list, get, create, update, delete |
| Staff | /api/staffs | list, get, create, update, delete |
| Calendar | /api/calendar | list, get, create, update, delete |
| Custom Fields | /api/custom_fields | list per related type |
| Common (lookups) | /api/common | countries, taxes, currencies, statuses … |
| Resource | Base path | Typical operations |
|---|---|---|
| MCP server | /api/mcp | POST JSON-RPC 2.0: initialize, tools/list, tools/call |
| Batch | /api/batch | POST up to 50 operations in one request |
| Webhooks | /api/webhooks | list, get, create, update, delete, POST /:id/toggle, GET /events, GET /:id/logs |
| Automation (polling) | /api/zapier | GET /resources, GET /poll/:resource, GET /test/:resource |
| Knowledge Base | /api/knowledge_base | list, get, create, update, delete; /groups |
| Notes | /api/notes | list 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.
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.
| Parameter | Example | Effect |
|---|---|---|
page, per_page | ?page=2&per_page=20 | Pagination → { data, meta } |
fields | ?fields=id,company | Return only these columns |
sort | ?sort=-datecreated,company | Sort (- = descending) |
created_after, created_before | ?created_after=2026-01-01 | Date-range filter |
per_pageis the parameter that sizes a page (1-100, default 25).limitis accepted as an alias only whenpageis sent too, so a bare?limit=5does not paginate - use?page=1&per_page=5.
Factual signals from GitHub, npm, and our automated checks — not a rating.
No reviews yet — be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/perfex-crm)<a href="https://allmcps.com/mcp/perfex-crm"><img src="https://allmcps.com/api/badge/perfex-crm?style=directory" alt="Perfex CRM on AllMCPs" /></a>