CRM集成开发工具

Kommo CRM MCP Server & SDK 是一个为Kommo CRM API v4提供Model Context Protocol(MCP)服务器和TypeScript/JavaScript SDK的双用途解决方案,适用于AI代理集成和自定义应用开发。

  • by E0DUAR
  • TypeScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 E0DUAR/kommo-mcp

使用说明

Kommo CRM MCP服务器和SDK

模型上下文协议(MCP) 服务器和TypeScript/JavaScript SDK Kommo CRM(前身为AmoCRM)API v4.

此软件包提供了一个双重用途的解决方案:

  1. MCP服务器: 将Kommo CRM连接到Claude Desktop等人工智能代理,为他们提供管理潜在客户、联系人、公司、任务等的工具。
  2. SDK: 一个类型安全、完整的TypeScript SDK,用于在您自己的应用程序中与Kommo API v4交互。

🚀 特性

  • 完成CRUD操作: 全面管理 潜在客户、联系人、公司、交易、任务和备注.
  • 高级功能:
    • 管理 管道和状态.
    • 手柄 自定义字段 智能(按名称搜索、元数据感知)。
    • 目录和产品 支持(包括将产品与潜在客户联系起来)。
  • AI就绪: 使用针对LLM使用进行优化的语义工具进行设计。
  • 类型安全: 使用TypeScript和Zod构建,用于强大的验证。
  • 双重构建: 同时支持ESM(import)和CommonJS(require).

📦 安装

npm install @syncraengine/kommo-mcp

🤖 用作MCP服务器(克劳德桌面)

要将其与Claude Desktop或任何MCP客户端一起使用,请将以下配置添加到您的 claude_desktop_config.json (Mac: ~/Library/Application Support/Claude/,Windows: %APPDATA%\Claude\).

配置

{
  "mcpServers": {
    "kommo-crm": {
      "command": "npx",
      "args": [
        "-y",
        "@syncraengine/kommo-mcp"
      ],
      "env": {
        "KOMMO_SUBDOMAIN": "your-subdomain",
        "KOMMO_ACCESS_TOKEN": "your-long-lived-access-token"
      }
    }
  }
}

环境变量

变量 描述 必填
KOMMO_ACCESS_TOKEN OAuth 2.0访问令牌(建议MCP长期使用) ✅ 是的
KOMMO_SUBDOMAIN 您的Kommo子域名(例如。, mycompany 为了 mycompany.kommo.com) ✅ 是(或BASE_URL)
KOMMO_BASE_URL 完整URL(例如。, https://mycompany.kommo.com) 可选

📚 作为库使用(SDK)

您可以直接在TypeScript/Node.js项目中使用导出的函数。

import { 
  searchContactByPhone, 
  createLead, 
  getKommoConfig,
  type KommoConfig 
} from '@syncraengine/kommo-mcp';

// 1. Configure
const config: KommoConfig = {
  baseUrl: 'https://your-subdomain.kommo.com',
  accessToken: process.env.KOMMO_ACCESS_TOKEN!
};

// 2. Use functions
async function main() {
  // Search for a contact
  const searchResult = await searchContactByPhone({ phone: '+1234567890' }, config);
  
  if (searchResult.success && searchResult.contacts.length > 0) {
    const contact = searchResult.contacts[0];
    console.log(`Found contact: ${contact.name}`);
    
    // Create a lead for this contact
    const leadResult = await createLead({
      name: 'New Deal from Website',
      price: 500,
      _embedded: {
        contacts: [{ id: contact.id }]
      }
    }, config);
    
    console.log('Lead created:', leadResult);
  }
}

main();

🛠️ 可用工具(MCP)

服务器向AI暴露了大约40个工具,包括:

  • 联络: kommo_search_contact_by_phone, kommo_create_contact, kommo_update_contact等等。
  • 引导: kommo_list_leads, kommo_create_lead, kommo_update_lead, kommo_update_lead_custom_fields等等。
  • 公司: kommo_search_company, kommo_create_company, kommo_update_company.
  • 任务: kommo_list_tasks, kommo_create_task, kommo_update_task.
  • 笔记: kommo_list_notes, kommo_create_note.
  • 管道: kommo_list_pipelines, kommo_get_pipeline_statuses.
  • 产品: kommo_list_catalogs, kommo_link_product_to_lead.

👨‍💻 发展

如果您想贡献或修改包:

  1. 克隆存储库:

    git clone https://github.com/syncraengine/kommo-mcp.git
    cd kommo-mcp
    
  2. 安装依赖项:

    npm install
    
  3. 构建:

    npm run build
    

    这会产生ESM(dist/esm)和CommonJS(dist/cjs)建筑。

  4. 本地测试(MCP): 您可以使用 MCP检查员 测试服务器。

    npx @modelcontextprotocol/inspector npx tsx src/bin/mcp-server.ts
    

📄 许可证

此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。


建于❤️ 通过 爱德华多·门德斯