crm-mcp-server

deepakkamboj/crm-mcp-server

3.2

If you are the rightful owner of crm-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

This project is an implementation of a Model Context Protocol (MCP) server for Customer Relationship Management (CRM) operations.

Tools
  1. create-contact

    Creates a new contact in the CRM system.

  2. get-contact

    Retrieves contact information by ID or email.

  3. update-contact

    Updates existing contact information.

  4. list-contacts

    Lists contacts with optional filtering and pagination.

  5. create-company

    Creates a new company record.

  6. get-company

    Retrieves company information by ID or name.

  7. create-deal

    Creates a new sales deal or opportunity.

  8. update-deal

    Updates deal status and information.

  9. log-interaction

    Logs customer interactions and activities.

  10. search-crm

    Searches across contacts, companies, and deals.

CRM MCP Server for Intelligent Apps

Node.js TypeScript Zod License

This project is an implementation of a Model Context Protocol (MCP) server for Customer Relationship Management (CRM) operations. It provides tools to manage contacts, companies, deals, and customer interactions through a standardized API interface.

[!TIP] The simplest way to get started is to use the one-line installation: npx crm-mcp-server. This will automatically download and run the latest version without having to manually install the package.

Features

  • create-contact: Creates a new contact in the CRM system.
  • get-contact: Retrieves contact information by ID or email.
  • update-contact: Updates existing contact information.
  • list-contacts: Lists contacts with optional filtering and pagination.
  • create-company: Creates a new company record.
  • get-company: Retrieves company information by ID or name.
  • create-deal: Creates a new sales deal or opportunity.
  • update-deal: Updates deal status and information.
  • log-interaction: Logs customer interactions and activities.
  • search-crm: Searches across contacts, companies, and deals.

Requirements

  • Node.js 18 or newer
  • VS Code, Cursor, Windsurf, Claude Desktop or any other MCP client

Getting started

First, install the CRM MCP server with your client. A typical configuration looks like this:

{
  "mcpServers": {
    "crm-server": {
      "command": "npx",
      "args": [
        "crm-mcp-server@latest"
      ]
    }
  }
}

Install in VS Code

You can also install the CRM MCP server using the VS Code CLI:

# For VS Code
code --add-mcp '{"name":"crm-server","command":"npx","args":["crm-mcp-server@latest"]}'

After installation, the CRM MCP server will be available for use with your GitHub Copilot agent in VS Code.

Install in Cursor

Go to Cursor Settings -> MCP -> Add new MCP Server. Name to your liking, use command type with the command npx crm-mcp-server. You can also verify config or add command like arguments via clicking Edit.

{
  "mcpServers": {
    "crm-server": {
      "command": "npx",
      "args": [
        "crm-mcp-server@latest"
      ]
    }
  }
}
Install in Windsurf

Follow Windsuff MCP documentation. Use following configuration:

{
  "mcpServers": {
    "crm-server": {
      "command": "npx",
      "args": [
        "crm-mcp-server@latest"
      ]
    }
  }
}
Install in Claude Desktop

Follow the MCP install guide, use following configuration:

{
  "mcpServers": {
    "crm-server": {
      "command": "npx",
      "args": [
        "crm-mcp-server@latest"
      ]
    }
  }
}

Installation

  1. Clone the repository:

    git clone https://github.com/deepakkamboj/crm-mcp-server.git
    cd crm-mcp-server
    
  2. Install dependencies:

    npm install
    
  3. Build the project:

    npm run build
    

🔧 Usage

Starting the Server

  1. Start the server:

    npm start
    
  2. Use the tools via the MCP protocol to perform CRM operations.

Using as an MCP Server

This project implements the MCP protocol, allowing you to interact with the server using MCP-compatible clients. Below are the steps to use it as an MCP server:

  1. Start the MCP Server: Ensure the server is running by executing:

    npm start
    
  2. Connect to the Server: Use an MCP client to connect to the server. The default server runs on http://localhost:3000.

  3. Send MCP Requests: Use the following tools via MCP requests:

    • create-contact: Create a new contact with name, email, phone, and company information.
    • get-contact: Retrieve contact details by ID or email address.
    • update-contact: Modify existing contact information.
    • list-contacts: Get a list of contacts with optional filtering.
    • create-company: Add a new company to the CRM system.
    • get-company: Retrieve company information and associated contacts.
    • create-deal: Create a new sales opportunity or deal.
    • update-deal: Update deal progress, value, and status.
    • log-interaction: Record customer interactions, calls, emails, and meetings.
    • search-crm: Search across all CRM data types.
  4. Example MCP Request: Below is an example of an MCP request to create a new contact:

    {
      "tool": "create-contact",
      "input": {
        "firstName": "John",
        "lastName": "Doe",
        "email": "john.doe@example.com",
        "phone": "+1-555-123-4567",
        "company": "Acme Corp",
        "title": "Sales Manager"
      }
    }
    

    Send this request to the server using an MCP client, and the server will create the contact and return the contact ID.

MCP (JSON‑RPC) Mode

For AI clients (e.g. Claude Desktop, Cursor, VS Code MCP extension), configure your <client>_config.json:

{
  "mcpServers": {
    "crm-mcp-server": {
      "command": "node",
      "args": ["${AbsolutePath}/build/index.js"]
    }
  }
}

Once the MCP server is running, you can invoke tools like:

  • create-contact (params: { "firstName": "John", "lastName": "Doe", "email": "john@example.com" })
  • get-contact (params: { "id": "contact-123" } or { "email": "john@example.com" })
  • list-contacts (params: { "limit": 10, "offset": 0 })
  • create-company (params: { "name": "Acme Corp", "industry": "Technology" })
  • create-deal (params: { "title": "Q4 Enterprise Deal", "value": 50000, "contactId": "contact-123" })

MCP Local Dev Mode

For local development, configure your <client>_config.json as follows:

{
  "mcpServers": {
    "crm-mcp-server": {
      "command": "node",
      "args": ["${AbsolutePath}/build/index.js"]
    }
  }
}

Development

  • To run the server in development mode:

    npm run dev
    
  • To test the tools, export the server and use the MCP SDK.

🤝 Contributing

  1. Fork the repo.
  2. Create a branch (git checkout -b feature/xyz).
  3. Commit your changes.
  4. Open a Pull Request (PR).

License

This project is licensed under the MIT License.