mcp-perfex-crm

mcp-perfex-crm

High-performance MCP server for Perfex CRM that provides direct MySQL access for managing customers, invoices, leads, projects, and more, with 10-100x faster performance than REST API.

Category
Visit Server

README

MCP Perfex CRM - High-Performance MCP Server for Perfex CRM

npm version TypeScript License Model Context Protocol N8N Compatible

๐ŸŽฏ Overview

MCP Perfex CRM is a high-performance Model Context Protocol (MCP) server that provides direct and optimized access to Perfex CRM's MySQL database. This project offers a high-performance alternative to traditional REST APIs, with focus on code quality, security, and maintainability.

โœ… Current Status - v1.0.0-stable

  • 14 functional modules with 186+ tested tools covering comprehensive Perfex CRM functionality
  • Zero warnings in ESLint and TypeScript
  • Complete CI/CD with GitHub Actions
  • Robust type system implemented
  • Complete API documentation

๐Ÿš€ Features

  • ๐Ÿ”ฅ Performance: Direct MySQL access, 10-100x faster than REST API
  • ๐Ÿ›ก๏ธ Security: Prepared statements, input validation, read-only connections
  • ๐Ÿ“Š Modular: Extensible architecture with independent modules
  • ๐Ÿงช Tested: Jest testing framework with growing coverage
  • ๐Ÿ“ Documented: Complete API documentation with examples
  • ๐Ÿ”„ CI/CD: Automated pipeline with quality gates

๐Ÿ“ฆ Available Modules

Core (100% Functional)

  • Customers - Complete customer management
  • Estimates - Estimates and proposals
  • Invoices - Complete invoice management with payments and statistics (8 tools)
  • Leads - Lead management, conversion, and lifecycle tracking (9 tools)
  • Projects - Project management
  • Tasks - Task control
  • Contracts - Contract management
  • Payments - Payment processing
  • Expenses - Expense control
  • Tickets - Complete support system with delete/export tools

Reporting

  • Financial Reporting - Advanced financial reports
  • Resource Management - Resource management
  • Timesheets - Time tracking

Utilities

  • Subscriptions - Subscription management
  • Credit Notes - Credit notes

๐Ÿ› ๏ธ Installation

Option 1: NPM Installation (Recommended)

npm install -g mcp-perfex-crm

Option 2: Local Installation

# Clone repository
git clone https://github.com/YOUR_USERNAME/mcp-perfex-crm
cd mcp-perfex-crm

# Install dependencies
npm install

# Configure environment
cp .env.example .env
# Edit .env with your MySQL settings

# Compile project
npm run build

# Run tests
npm test

โš™๏ธ Configuration

1. Database Configuration

# .env
MYSQL_HOST=localhost
MYSQL_PORT=3306
MYSQL_USER=perfex_readonly
MYSQL_PASSWORD=your_password
MYSQL_DATABASE=perfex_crm

# Log optimization for production
LOG_LEVEL=error
NODE_ENV=production
ENABLE_AUDIT_LOG=false

2. N8N Integration

MCP Perfex CRM is fully compatible with N8N for workflow automation:

# Install as N8N tool
npm install -g mcp-perfex-crm

# Or use in N8N Docker
FROM n8nio/n8n:latest
RUN npm install -g mcp-perfex-crm

N8N Workflow Example:

{
  "nodes": [
    {
      "parameters": {
        "command": "mcp-perfex-crm",
        "options": {
          "env": {
            "MYSQL_HOST": "your-db-host",
            "MYSQL_USER": "readonly_user",
            "MYSQL_PASSWORD": "secure_password",
            "MYSQL_DATABASE": "perfex_crm"
          }
        }
      },
      "type": "@n8n/n8n-nodes-langchain.toolWorkflow",
      "position": [250, 300],
      "id": "perfex-crm-tool"
    }
  ]
}

3. Claude Desktop Integration

{
  "mcpServers": {
    "mcp-perfex-crm": {
      "command": "mcp-perfex-crm",
      "env": {
        "MYSQL_HOST": "localhost",
        "MYSQL_PORT": "3306",
        "MYSQL_USER": "perfex_readonly",
        "MYSQL_PASSWORD": "your_password",
        "MYSQL_DATABASE": "perfex_crm"
      }
    }
  }
}

For local installation:

{
  "mcpServers": {
    "mcp-perfex-crm": {
      "command": "node",
      "args": ["/path/to/mcp-perfex-crm/dist/index.js"],
      "env": {
        "MYSQL_HOST": "localhost",
        "MYSQL_PORT": "3306",
        "MYSQL_USER": "perfex_readonly",
        "MYSQL_PASSWORD": "your_password",
        "MYSQL_DATABASE": "perfex_crm"
      }
    }
  }
}

๐Ÿ“– Usage

Example: List Customers

// Via MCP
const result = await use_mcp_tool({
  server_name: "mcp-perfex-crm",
  tool_name: "get_customers",
  arguments: {
    limit: 10,
    active: true
  }
});

Example: Create Project

const result = await use_mcp_tool({
  server_name: "mcp-perfex-crm",
  tool_name: "create_project",
  arguments: {
    name: "New Website",
    client_id: 123,
    start_date: "2025-02-01",
    billing_type: "fixed_rate",
    project_cost: 5000
  }
});

๐Ÿงช Development

# Development mode with hot reload
npm run dev

# Run linter
npm run lint

# Format code
npm run format

# Run tests with coverage
npm run test:coverage

# Production build
npm run build

๐Ÿ“Š Code Quality

  • โœ… TypeScript: Robust type system
  • โœ… ESLint: Zero warnings, strict configuration
  • โœ… Prettier: Consistent formatting
  • โœ… Jest: Configured testing framework
  • โœ… GitHub Actions: Automated CI/CD
  • โœ… Optimized Logging: Production configuration with minimal context impact

๐Ÿ”’ Security

  • All queries use prepared statements
  • Input validation on all tools
  • Read-only connections by default
  • Audit logs for sensitive operations
  • Masks for sensitive data in logs

๐Ÿค Contributing

Contributions are welcome! Please:

  1. Fork the project
  2. Create a feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Code Standards

  • Follow the configured TypeScript/ESLint style
  • Add tests for new functionality
  • Keep documentation updated
  • Zero warnings is mandatory

๐Ÿ“ˆ Roadmap

v1.0.1 (February 2025)

  • [ ] Enhanced error handling
  • [ ] Performance metrics dashboard
  • [ ] Automated documentation generation
  • [ ] Extended test coverage

v1.1.0 (Q1 2025)

  • [ ] Test coverage >80%
  • [ ] Complete TypeScript strict mode
  • [ ] Webhook support
  • [ ] Intelligent caching

v1.2.0 (Q2 2025)

  • [ ] Analytics dashboard
  • [ ] Batch operations
  • [ ] GraphQL gateway
  • [ ] Enhanced multi-tenant support

๐Ÿ“ Documentation

๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

๐Ÿ‘จโ€๐Ÿ’ป Author

Emanuel Almeida

๐Ÿ™ Acknowledgments

  • Anthropic team for the Model Context Protocol
  • Perfex CRM community
  • All contributors

๐Ÿ“Š Performance Benchmarks

Operation REST API MCP Direct Improvement
Get Customers (100) 2.3s 0.23s 10x faster
Create Project 1.8s 0.18s 10x faster
Complex Query 5.2s 0.52s 10x faster

๐Ÿ—๏ธ Architecture

mcp-perfex-crm/
โ”œโ”€โ”€ src/
โ”‚   โ”œโ”€โ”€ modules/          # Business logic modules
โ”‚   โ”œโ”€โ”€ tools/            # MCP tools implementation
โ”‚   โ”œโ”€โ”€ types/            # TypeScript definitions
โ”‚   โ”œโ”€โ”€ utils/            # Utility functions
โ”‚   โ””โ”€โ”€ connections/      # Database connections
โ”œโ”€โ”€ tests/                # Test suites
โ”œโ”€โ”€ docs/                 # Documentation
โ””โ”€โ”€ examples/             # Usage examples

โญ If this project helped you, please consider giving it a star!

๐Ÿš€ Ready to supercharge your Perfex CRM integration? Get started now!

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured