amoCRM sales manager MCP server
amoCRM ROP MCP Server
An MCP server with business tools on top of amoCRM for a sales manager: department overview, stale deals, manager comparison
Medium risk
We rate an entry medium when the tool runs code, makes network calls or reads project files. Check what exactly it does before installing.
Why this level
- move_lead, create_task and add_note write to amoCRM, though move_lead checks the status belongs to the pipeline
- amoCRM OAuth tokens are stored on the server and grant access to the whole department's deals
Install
In your terminal, with SkillFoxx CLI
npx skillfoxx add mcp/amocrm-rop-mcp-serverDetects the agents on your machine, checks the risk and pins the version.
Other ways to install
Assembled automatically, review before installing.
Run in a terminal
claude mcp add --transport http amocrm-rop-mcp 'https://<MCP_PUBLIC_URL value>/mcp' --header 'Authorization: Bearer <your MCP_ACCESS_TOKEN>'Or add to the file .mcp.json, in the project
{
"mcpServers": {
"amocrm-rop-mcp": {
"type": "http",
"url": "https://<MCP_PUBLIC_URL value>/mcp",
"headers": {
"Authorization": "Bearer <your MCP_ACCESS_TOKEN>"
}
}
}
}If the file already exists, add the server inside the mcpServers key.
Keys and settings
MCP_PUBLIC_URLrequired- Public HTTPS URL for MCP server
MCP_ACCESS_TOKENsecret, required- Access token for MCP HTTP authorization
Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.
The button opens the agent and offers to add the server. If nothing happens, copy the config below.
Add to the file ~/.cursor/mcp.json, for all projects
{
"mcpServers": {
"amocrm-rop-mcp": {
"url": "https://<MCP_PUBLIC_URL value>/mcp",
"headers": {
"Authorization": "Bearer <your MCP_ACCESS_TOKEN>"
}
}
}
}If the file already exists, add the server inside the mcpServers key. For a single project, put the same block into .cursor/mcp.json.
Keys and settings
MCP_PUBLIC_URLrequired- Public HTTPS URL for MCP server
MCP_ACCESS_TOKENsecret, required- Access token for MCP HTTP authorization
Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.
The button opens the agent and offers to add the server. If nothing happens, copy the config below.
Run in a terminal
code --add-mcp '{"name":"amocrm-rop-mcp","type":"http","url":"https://<MCP_PUBLIC_URL value>/mcp","headers":{"Authorization":"Bearer <your MCP_ACCESS_TOKEN>"}}'Or add to the file .vscode/mcp.json, in the project
{
"servers": {
"amocrm-rop-mcp": {
"type": "http",
"url": "https://<MCP_PUBLIC_URL value>/mcp",
"headers": {
"Authorization": "Bearer <your MCP_ACCESS_TOKEN>"
}
}
}
}If the file already exists, add the server inside the servers key.
Keys and settings
MCP_PUBLIC_URLrequired- Public HTTPS URL for MCP server
MCP_ACCESS_TOKENsecret, required- Access token for MCP HTTP authorization
Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.
Add to the file ~/.codex/config.toml, for all projects
[mcp_servers.amocrm-rop-mcp]
url = "https://<MCP_PUBLIC_URL value>/mcp"
http_headers = { Authorization = "Bearer <your MCP_ACCESS_TOKEN>" }If the file already exists, append the block to the end.
Keys and settings
MCP_PUBLIC_URLrequired- Public HTTPS URL for MCP server
MCP_ACCESS_TOKENsecret, required- Access token for MCP HTTP authorization
Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.
Add to the file ~/.gemini/settings.json, for all projects
{
"mcpServers": {
"amocrm-rop-mcp": {
"httpUrl": "https://<MCP_PUBLIC_URL value>/mcp",
"headers": {
"Authorization": "Bearer <your MCP_ACCESS_TOKEN>"
}
}
}
}If the file already exists, add the server inside the mcpServers key.
Keys and settings
MCP_PUBLIC_URLrequired- Public HTTPS URL for MCP server
MCP_ACCESS_TOKENsecret, required- Access token for MCP HTTP authorization
Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.
Add to the file ~/.config/devin/mcp_config.json, for all projects
{
"mcpServers": {
"amocrm-rop-mcp": {
"serverUrl": "https://<MCP_PUBLIC_URL value>/mcp",
"headers": {
"Authorization": "Bearer <your MCP_ACCESS_TOKEN>"
}
}
}
}If the file already exists, add the server inside the mcpServers key. Legacy Cascade keeps the MCP config in ~/.codeium/windsurf/mcp_config.json.
Keys and settings
MCP_PUBLIC_URLrequired- Public HTTPS URL for MCP server
MCP_ACCESS_TOKENsecret, required- Access token for MCP HTTP authorization
Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.
Formerly Windsurf.
Add to the file cline_mcp_settings.json, for all projects
{
"mcpServers": {
"amocrm-rop-mcp": {
"type": "streamableHttp",
"url": "https://<MCP_PUBLIC_URL value>/mcp",
"headers": {
"Authorization": "Bearer <your MCP_ACCESS_TOKEN>"
}
}
}
}If the file already exists, add the server inside the mcpServers key. Open the settings file in Cline: MCP Servers tab, Configure MCP Servers.
Keys and settings
MCP_PUBLIC_URLrequired- Public HTTPS URL for MCP server
MCP_ACCESS_TOKENsecret, required- Access token for MCP HTTP authorization
Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.
Add to the file .roo/mcp.json, in the project
{
"mcpServers": {
"amocrm-rop-mcp": {
"type": "streamable-http",
"url": "https://<MCP_PUBLIC_URL value>/mcp",
"headers": {
"Authorization": "Bearer <your MCP_ACCESS_TOKEN>"
}
}
}
}If the file already exists, add the server inside the mcpServers key.
Keys and settings
MCP_PUBLIC_URLrequired- Public HTTPS URL for MCP server
MCP_ACCESS_TOKENsecret, required- Access token for MCP HTTP authorization
Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.
A fork of Roo Code, same .roo folders.
Add to the file opencode.json, in the project
{
"mcp": {
"amocrm-rop-mcp": {
"type": "remote",
"url": "https://<MCP_PUBLIC_URL value>/mcp",
"headers": {
"Authorization": "Bearer <your MCP_ACCESS_TOKEN>"
}
}
}
}If the file already exists, add the server inside the mcp key.
Keys and settings
MCP_PUBLIC_URLrequired- Public HTTPS URL for MCP server
MCP_ACCESS_TOKENsecret, required- Access token for MCP HTTP authorization
Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.
Add to the file ~/.config/zed/settings.json, for all projects
{
"context_servers": {
"amocrm-rop-mcp": {
"url": "https://<MCP_PUBLIC_URL value>/mcp",
"headers": {
"Authorization": "Bearer <your MCP_ACCESS_TOKEN>"
}
}
}
}If the file already exists, add the server inside the context_servers key.
Keys and settings
MCP_PUBLIC_URLrequired- Public HTTPS URL for MCP server
MCP_ACCESS_TOKENsecret, required- Access token for MCP HTTP authorization
Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.
Create a private amoCRM integration with rights to deals, tasks, notes, events and users, deploy zimuspro156-lab/amocrm-rop-mcp on an Ubuntu VPS via install.sh, run python scripts/oauth_setup.py to link amoCRM, bring up HTTPS with install-cloudflare.sh, then connect /mcp in ChatGPT with OAuth and the login scripts/setup_mcp_oauth.py issues.
Other ways from the author
sudo git clone git@github.com:zimuspro156-lab/amocrm-rop-mcp.git /opt/amocrm-rop-mcp && cd /opt/amocrm-rop-mcp && sudo ./install.shinstall.sh creates the amocrm-mcp system user, a venv and a systemd unit, and does not expose the port externally.
This is third-party code. Review the repository files before installing.
What it does
Instead of a raw wrapper over get_leads and patch_lead, the server gives ready business tools for a sales manager: sales_overview builds a department summary for a period, pipeline_summary shows a stage-by-stage snapshot with counts and totals, manager_performance and compare_managers evaluate one manager or compare several without a good-or-bad rating, find_stale_leads finds deals with no activity for N days, find_overdue_tasks and find_leads_without_tasks catch overdue tasks and deals with no next step, lead_history gives a deal's timeline. Only three write tools remain: create_task, add_note and move_lead, and move_lead first checks that the target status actually belongs to the given pipeline. There are no delete tools or arbitrary PATCH at all. The server deploys on your own server as a systemd service with separate auth circuits: OAuth with PKCE for ChatGPT's incoming access, and separate amoCRM OAuth tokens for outgoing API requests.
Who it is for. For amoCRM sales managers who need not raw data but ready management views: who is falling behind, which deals stalled, what is overdue.
Good fit when
- You need ready business tools like find_stale_leads, not raw amoCRM API calls
- It matters that ChatGPT has no access to deleting deals or arbitrary writes
- You are ready to deploy the server on your own Ubuntu VPS with systemd
Not a fit when
- You need full amoCRM CRUD, not a limited management set of nine read tools and three write tools
- You are not ready to deploy a systemd service and HTTPS via Cloudflare Tunnel yourself
Example request
Show deals stalled for more than two days and compare the workload of two managers this weekLimitations
Only three write tools exist, so the server is not meant for full amoCRM administration. Deployment targets an Ubuntu VPS: install.sh creates a system user, a venv and a systemd unit; another OS needs adaptation. amoCRM authorization is only through a private integration's OAuth; it does not support plain API keys.
How to disable. Stop the service with sudo systemctl stop amocrm-rop-mcp and disconnect the connector in ChatGPT.
MCP
- Transport
- http
- Authentication
- OAuth
| Environment variables | |
|---|---|
| AMOCRM_SUBDOMAIN required | amoCRM account subdomain |
| AMOCRM_CLIENT_ID required | amoCRM private integration ID |
| AMOCRM_CLIENT_SECRET required, secret | amoCRM private integration secret key |
| DEFAULT_PIPELINE_ID | Default pipeline for tools when not explicitly given in the call |
Security check
- move_lead, create_task and add_note write to amoCRM, though move_lead checks the status belongs to the pipeline
- amoCRM OAuth tokens are stored on the server and grant access to the whole department's deals
README in short
The README explains the difference between a raw API wrapper and business tools, gives an architecture diagram with two auth circuits, full read and write tool tables, amoCRM integration setup steps, local Windows setup, VPS deployment via install.sh and systemd, a separate Cloudflare Tunnel script, updates via update.sh that run tests before restarting, and a detailed troubleshooting table with specific error codes.
FAQ
Can the server delete a deal?
No, there is no delete tool or arbitrary PATCH at all, only nine read tools and three safe write tools.
How are ChatGPT's and amoCRM's authorizations separated?
They are two independent circuits: OAuth 2.0 with PKCE for ChatGPT's incoming requests to the server, and separate amoCRM OAuth tokens for the server's outgoing requests to the CRM; they never overlap.
Related
Salesforce's official DX MCP server: work with orgs, metadata, data, users and Apex tests from your agent
Yandex Kit skills for store management
kit-skills
Yandex's official skill set: catalog, prices, stock, orders, storefront and a weekly checkup for a Yandex Kit store, through Claude Code or Codex
YouGile MCP by Indalo
YouGile MCP
Full 65-operation YouGile API coverage with configurable permissions, write confirmation and a shared company rate limit
Bitrix24 portal MCP server
MCP-сервер портала Битрикс24
Bitrix24's official per-portal MCP: an external agent uses OAuth or a token to read and change tasks, deals, meetings and mail