home / mcp / amocrm mcp server
Provides 36 MCP tools to manage amoCRM data via MCP clients with OAuth token handling and rate limiting.
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.
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.
Prerequisites you need before installation:
pip install -e .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.
cp .env.example .envStart the server using the stdio transport (default) for local clients like Claude Desktop or Cursor.
AMO_TRANSPORT=sse AMO_PORT=8000 python -m amocrm_mcpIf 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.
{
"mcpServers": {
"amocrm": {
"command": "python",
"args": ["-m", "amocrm_mcp"],
"env": {
"AMO_SUBDOMAIN": "your-subdomain",
"AMO_ACCESS_TOKEN": "your-token"
}
}
}
}List leads in amoCRM to review or process pending items.
Retrieve details for a specific lead by its identifier.
Search leads using various criteria to filter results.
Create a new lead with essential fields.
Create a lead with advanced fields and associations.
Update fields on an existing lead.
Fetch details about a specific contact.
Search contacts by name, email, or other attributes.
Create a new contact in the system.
Update an existing contact's information.
Retrieve information about a company.
Search companies by criteria.
Create a new company entity.
Update company information.
List tasks associated with entities.
Get details for a specific task.
Create a new task in the CRM.
Update an existing task.
List notes attached to entities.
Create a new note for an entity.
List available pipelines.
Get details for a specific pipeline.
List statuses for pipelines.
Retrieve linked entities for a given item.
Create or update relationships between entities.
Fetch account metadata.
List users in the account.
List custom fields available in the account.
Create multiple leads in a single operation.
Create multiple contacts in a single operation.
Update multiple leads in one request.
Retrieve analytics events.
Get analytics data for pipelines.
List items in the unsorted inbox.
Accept an item from the unsorted inbox.
Reject an item from the unsorted inbox.