home / mcp / amocrm mcp server

amoCRM MCP Server

Provides 36 MCP tools to manage amoCRM data via MCP clients with OAuth token handling and rate limiting.

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "caiborg-ai-amocrm-mcp": {
      "command": "python",
      "args": [
        "-m",
        "amocrm_mcp"
      ],
      "env": {
        "AMO_CLIENT_ID": "YOUR_CLIENT_ID",
        "AMO_SUBDOMAIN": "mycompany",
        "AMO_ACCESS_TOKEN": "ya29.A0ARrdaM...",
        "AMO_CLIENT_SECRET": "YOUR_CLIENT_SECRET",
        "AMO_REFRESH_TOKEN": "YOUR_REFRESH_TOKEN"
      }
    }
  }
}

You can run the amoCRM MCP Server to expose a rich set of tools for managing leads, contacts, companies, tasks, notes, pipelines, and analytics through MCP-compatible clients. This server handles OAuth token refresh, rate limiting, and consistent response envelopes, making it straightforward to automate amoCRM workflows from your preferred MCP client.

How to use

To use the amoCRM MCP Server, install it in your Python environment, configure your amoCRM credentials, and run the server locally. Your MCP client will then connect to the server using standard MCP transports (stdio by default or SSE if you opt in). You can perform actions such as listing leads, creating contacts, updating pipelines, and retrieving analytics by invoking the corresponding MCP tools exposed by the server. The server ensures tokens are refreshed automatically and responses are consistently shaped for easy client-side handling.

How to install

Prerequisites you need before installation:

      How to install

      pip install -e .

      Configure your environment

      Create a local environment file from the example and fill in your amoCRM credentials. At a minimum you need your subdomain and an access token. For automatic token refresh, provide the client ID, client secret, and refresh token.

      Configure your environment example

      cp .env.example .env

      Run the MCP server

      Start the server using the stdio transport (default) for local clients like Claude Desktop or Cursor.

      Run the MCP server with SSE transport

      AMO_TRANSPORT=sse AMO_PORT=8000 python -m amocrm_mcp

      Claude Desktop config example

      If you use Claude Desktop, add a configuration that launches the MCP server with your credentials. The following example shows how to set the environment and command for Claude Desktop integration.

      Claude Desktop configuration example

      {
        "mcpServers": {
          "amocrm": {
            "command": "python",
            "args": ["-m", "amocrm_mcp"],
            "env": {
              "AMO_SUBDOMAIN": "your-subdomain",
              "AMO_ACCESS_TOKEN": "your-token"
            }
          }
        }
      }

      Available tools

      leads_list

      List leads in amoCRM to review or process pending items.

      leads_get

      Retrieve details for a specific lead by its identifier.

      leads_search

      Search leads using various criteria to filter results.

      leads_create

      Create a new lead with essential fields.

      leads_create_complex

      Create a lead with advanced fields and associations.

      leads_update

      Update fields on an existing lead.

      contacts_get

      Fetch details about a specific contact.

      contacts_search

      Search contacts by name, email, or other attributes.

      contacts_create

      Create a new contact in the system.

      contacts_update

      Update an existing contact's information.

      companies_get

      Retrieve information about a company.

      companies_search

      Search companies by criteria.

      companies_create

      Create a new company entity.

      companies_update

      Update company information.

      tasks_list

      List tasks associated with entities.

      tasks_get

      Get details for a specific task.

      tasks_create

      Create a new task in the CRM.

      tasks_update

      Update an existing task.

      notes_list

      List notes attached to entities.

      notes_create

      Create a new note for an entity.

      pipelines_list

      List available pipelines.

      pipelines_get

      Get details for a specific pipeline.

      pipelines_list_statuses

      List statuses for pipelines.

      associations_get_linked

      Retrieve linked entities for a given item.

      associations_link_entities

      Create or update relationships between entities.

      account_get

      Fetch account metadata.

      account_list_users

      List users in the account.

      account_list_custom_fields

      List custom fields available in the account.

      batch_create_leads

      Create multiple leads in a single operation.

      batch_create_contacts

      Create multiple contacts in a single operation.

      batch_update_leads

      Update multiple leads in one request.

      analytics_get_events

      Retrieve analytics events.

      analytics_get_pipeline_analytics

      Get analytics data for pipelines.

      unsorted_list

      List items in the unsorted inbox.

      unsorted_accept

      Accept an item from the unsorted inbox.

      unsorted_reject

      Reject an item from the unsorted inbox.