Skip to main content
Glama
Saipranoy

mcp-crm

by Saipranoy

mcp-crm

Un proyecto de aprendizaje: un servidor Model Context Protocol que expone un CRM a un cliente MCP a través de stdio.

El inicio de sesión se realiza a través de Microsoft Entra mediante el flujo de código de dispositivo. El token de identidad resultante se intercambia por un token de acceso al CRM, de modo que las consultas al CRM se ejecutan como el usuario autenticado y devuelven solo lo que ese usuario tiene permiso de ver.

Requisitos

  • Node.js 20+

  • Un registro de aplicación de Entra con el flujo de código de dispositivo (cliente público) habilitado

  • Una API de CRM que acepte un token de Entra en POST /api/accounts/auth/entra y sirva GET /api/accounts

Related MCP server: M365 Copilot Web Bridge

Configuración

npm install

Crea un .env en la raíz del proyecto:

ENTRA_CLIENT_ID=<your app registration's client id>
ENTRA_TENANT_ID=<your directory tenant id>
CRM_API_BASE_URL=https://your-crm.example.com

Los tres son necesarios: el servidor lanza un error en el arranque si falta alguno. .env está en .gitignore; nunca lo incluyas en control de versiones.

Ejecución

npx tsx src/index.ts     # run directly
npx tsc                  # type-check and build to dist/

El servidor habla en MCP a través de stdio, por lo que normalmente lo lanza un cliente en lugar de una persona. Para integrarlo con Claude Code:

{
  "mcpServers": {
    "crm": {
      "command": "npx",
      "args": ["tsx", "/absolute/path/to/mcp-crm/src/index.ts"]
    }
  }
}

La salida de registro se envía a stderr, ya que stdout transporta el protocolo MCP.

Herramientas

Herramienta

Descripción

start_crm_login

Inicia el inicio de sesión de Entra mediante código de dispositivo y devuelve el código y la URL a visitar. Devuelve enseguida; el inicio de sesión se completa en segundo plano.

crm_login_status

Indica si ese inicio de sesión ha finalizado, sigue pendiente o ha fallado.

search_crm_accounts

Busca cuentas reales del CRM por nombre. Requiere un inicio de sesión completado. Devuelve hasta 25 coincidencias con id, name, status y sales_rep.

search_accounts

Busca en una pequeña lista fija de cuentas de ejemplo. No requiere autenticación: se usa para probar el cableado sin un CRM en vivo.

Flujo de inicio de sesión

start_crm_login no puede bloquearse hasta que Entra termine, por lo que se divide en dos partes:

  1. Llama a start_crm_login. Devuelve el código de dispositivo y la URL que debes abrir.

  2. Completa el inicio de sesión en el navegador.

  3. Llama a crm_login_status para confirmar. En cuanto reporte un usuario conectado, search_crm_accounts funcionará.

El token se guarda solo en memoria: reiniciar el servidor significa volver a iniciar sesión.

Licencia

ISC

A
license - permissive license
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Bridges stdio-based LLM harnesses to OAuth-protected remote MCP servers via Streamable HTTP, handling PKCE browser login and token refresh automatically.
    9
  • F
    license
    Not graded
    quality
    B
    maintenance
    Provides MCP tools to interact with GoHighLevel CRM data, including contacts, conversations, call transcripts, broker lead overviews, pipelines/opportunities, and task creation. Supports both stdio and HTTP transports for local and remote use.

View all related MCP servers

Related MCP Connectors

  • Browser MCP for logged-in tasks. Uses your Chrome — credentials stay local. Zero-token replay.

  • Official Microsoft MCP Server to query Microsoft Entra data using natural language

  • Query SEC EDGAR filings, XBRL financials, and company data through MCP. STDIO & Streamable HTTP.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Saipranoy/mcp-crm'

If you have feedback or need assistance with the MCP directory API, please join our Discord server