Skip to main content
Glama
JTSTBP

NewCrm MCP Server Foundation

by JTSTBP

NewCrm MCP Server Foundation

Este proyecto es un servidor MCP independiente para el NewCrm CRM existente. No modifica el código base del CRM y no se conecta directamente a MongoDB.

El alcance actual está limitado intencionadamente a una base limpia para la futura integración de MCP.

Arquitectura

ChatGPT Work ↓ OAuth 2.1 ↓ NewCrm MCP Server ↓ APIs de backend existentes de NewCrm ↓ MongoDB

El servidor MCP está diseñado para comunicarse con el CRM existente a través de la capa de API de backend existente siempre que sea posible.

Related MCP server: @kemosoft/mcp-heymax-crm

Estado actual

El proyecto no incluye deliberadamente:

  • implementación de OAuth

  • herramientas MCP

  • integración con HubSpot

  • operaciones de escritura

  • operaciones de creación, actualización o eliminación

  • acceso a MongoDB

  • exportaciones masivas

  • webhooks

  • actualizaciones por lotes

Estructura del proyecto

NewCrm-MCP/
├── src/
│   ├── audit/
│   │   └── logger.js
│   ├── auth/
│   │   └── tokenValidator.js
│   ├── config/
│   │   └── env.js
│   ├── permissions/
│   │   └── roleDefinitions.js
│   ├── services/
│   │   └── crmApiClient.js
│   ├── tools/
│   │   └── index.js
│   └── server.js
├── .env.example
├── .gitignore
├── package.json
├── README.md
└── node_modules/

Instalación

  1. Abra una terminal en la carpeta del proyecto.

  2. Instale las dependencias:

npm install

Variables de entorno

Copie el archivo de ejemplo y establezca los valores en su archivo .env local:

copy .env.example .env

El archivo .env debe contener valores como:

  • PORT

  • HOST

  • NODE_ENV

  • CRM_API_BASE_URL=https://www.jtcrm.in/api

  • MCP_SERVER_NAME

  • MCP_SERVER_VERSION

  • LOG_LEVEL

  • CRM_API_TIMEOUT_MS

No suba secretos ni tokens reales al control de versiones. No almacene un JWT de administrador permanente ni ninguna credencial de producción en el proyecto.

Integración con la API de CRM

Este proyecto incluye un cliente de API de CRM reutilizable para un acceso seguro de solo lectura a las APIs de backend existentes de NewCrm.

Endpoint actualmente compatible:

  • GET /api/leads

El servicio está restringido intencionadamente únicamente a endpoints configurados explícitamente. No acepta URLs arbitrarias de usuarios de MCP.

Ejemplo de uso:

import { getLeads } from "./src/services/crmApiClient.js";

const result = await getLeads({
  authToken: process.env.CRM_API_TEST_AUTH_TOKEN,
});

Esto mantiene la integración reutilizable para futuras llamadas a la API de CRM, evitando el acceso directo a MongoDB y las operaciones de escritura.

Guía para pruebas seguras

Para desarrollo o pruebas, pase un JWT de ámbito de usuario en tiempo de ejecución desde el llamador o un valor de entorno efímero local. No ponga un token de administrador compartido en .env.

Ejemplo de flujo de prueba local:

$env:CRM_API_TEST_AUTH_TOKEN="<user_jwt_here>"
node --input-type=module -e "import { getLeads } from './src/services/crmApiClient.js'; const result = await getLeads({ authToken: process.env.CRM_API_TEST_AUTH_TOKEN }); console.log(result);"

El servicio nunca registrará el token en sí y solo enviará la cabecera x-auth-token cuando el llamador la proporcione.

Ejecutar el servidor

npm start

Modo de desarrollo opcional:

npm run dev

Cómo funciona /mcp

Este proyecto utiliza el SDK oficial de MCP con transporte HTTP Streamable.

El servidor expone un único endpoint MCP en /mcp.

  • POST /mcp gestiona la inicialización JSON-RPC de MCP y las solicitudes posteriores.

  • Se crea una nueva sesión cuando se recibe una solicitud de inicialización.

  • Cada sesión almacena su transporte HTTP Streamable asociado.

  • DELETE /mcp cierra una sesión cuando ya no se necesita.

  • GET /mcp actualmente devuelve 405 Method Not Allowed porque esta base aún no admite solicitudes GET de streaming.

Esta es la base correcta para futuras integraciones de herramientas y backend sin añadir funcionalidad de CRM prematuramente.

Pruebas del servidor

Después de iniciar el servidor, confirme que está escuchando correctamente:

curl -i http://127.0.0.1:3002/mcp

Comportamiento esperado:

  • El servidor debería responder con HTTP 405 para las solicitudes GET en /mcp.

  • El servidor también debería aceptar solicitudes POST para la inicialización de MCP y el tráfico JSON-RPC una vez que un cliente compatible esté conectado.

Un inicio correcto se indica mediante registros similares a:

{"timestamp":"...","level":"info","message":"NewCrm MCP foundation server started","host":"127.0.0.1","port":3002,"endpoint":"/mcp"}

Notas

Este repositorio está aislado intencionadamente del proyecto NewCrm existente. Es un servidor base MCP independiente y no incluye acceso directo a la base de datos ni lógica de negocio específica del CRM.

F
license - not found
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

View all related MCP servers

Related MCP Connectors

  • Read-only MCP server for ClassQuill, a tutoring-business-management platform.

  • The official MCP Server from Mia-Platform to interact with Mia-Platform Console

  • MCP server for LeadDelta — manage LinkedIn connections and CRM data via AI assistants.

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/JTSTBP/crm-mcp'

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