Skip to main content
Glama
JTSTBP

NewCrm MCP Server Foundation

by JTSTBP

NewCrm MCP Server Foundation

This project is a separate MCP server for the existing NewCrm CRM. It does not modify the CRM codebase and does not connect directly to MongoDB.

Current scope is intentionally limited to a clean foundation for future MCP integration.

Architektur

ChatGPT Work ↓ OAuth 2.1 ↓ NewCrm MCP Server ↓ Existing NewCrm Backend APIs ↓ MongoDB

The MCP server is designed to communicate with the existing CRM through the existing backend API layer wherever possible.

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

Aktueller Status

The project intentionally does not include:

  • OAuth-Implementierung

  • MCP-Tools

  • HubSpot-Integration

  • Schreiboperationen

  • Erstell-, Aktualisierungs- oder Löschvorgänge

  • MongoDB-Zugriff

  • Massenexporte

  • Webhooks

  • Batch-Updates

Projektstruktur

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/

Installation

  1. Öffnen Sie ein Terminal im Projektordner.

  2. Installieren Sie die Abhängigkeiten:

npm install

Umgebungsvariablen

Kopieren Sie die Beispieldatei und setzen Sie Werte in Ihrer lokalen .env-Datei:

copy .env.example .env

Die .env-Datei sollte Werte wie die folgenden enthalten:

  • 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

Committen Sie keine Geheimnisse oder echten Token in die Versionskontrolle. Speichern Sie kein dauerhaftes Admin-JWT oder eine Produktionsanmeldeinformation im Projekt.

CRM-API-Integration

Dieses Projekt enthält einen wiederverwendbaren CRM-API-Client für sicheren Nur-Lese-Zugriff auf die vorhandenen NewCrm-Backend-APIs.

Derzeit unterstützter Endpunkt:

  • GET /api/leads

Der Dienst ist absichtlich nur auf explizit konfigurierte Endpunkte beschränkt. Er akzeptiert keine beliebigen URLs von MCP-Benutzern.

Beispielverwendung:

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

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

Dies hält die Integration für zukünftige CRM-API-Aufrufe wiederverwendbar, während direkter MongoDB-Zugriff und Schreiboperationen vermieden werden.

Sichere Testanleitung

Für Entwicklung oder Tests übergeben Sie ein benutzerbezogenes JWT zur Laufzeit vom Aufrufer oder einen lokalen ephemeren Umgebungswert. Legen Sie kein gemeinsames Admin-Token in .env ab.

Beispiel für einen lokalen Testablauf:

$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);"

Der Dienst protokolliert das Token selbst nie und sendet den x-auth-token-Header nur, wenn ein Aufrufer ihn bereitstellt.

Server ausführen

npm start

Optionaler Entwicklungsmodus:

npm run dev

So funktioniert /mcp

Dieses Projekt verwendet das offizielle MCP-SDK mit Streamable-HTTP-Transport.

Der Server stellt einen einzelnen MCP-Endpunkt unter /mcp bereit.

  • POST /mcp behandelt die MCP-JSON-RPC-Initialisierung und Folgeanfragen.

  • Eine neue Sitzung wird erstellt, wenn eine Initialisierungsanfrage empfangen wird.

  • Jede Sitzung speichert ihren zugehörigen Streamable-HTTP-Transport.

  • DELETE /mcp schließt eine Sitzung, wenn sie nicht mehr benötigt wird.

  • GET /mcp gibt derzeit 405 Method Not Allowed zurück, da diese Grundlage noch keine Streaming-GET-Anfragen unterstützt.

Dies ist die richtige Grundlage für zukünftige Tool- und Backend-Integrationen, ohne CRM-Funktionalität vorzeitig hinzuzufügen.

Testen des Servers

Nach dem Starten des Servers bestätigen Sie, dass er erfolgreich lauscht:

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

Erwartetes Verhalten:

  • Der Server sollte mit HTTP 405 auf GET-Anfragen an /mcp antworten.

  • Der Server sollte auch POST-Anfragen für die MCP-Initialisierung und den JSON-RPC-Verkehr akzeptieren, sobald ein kompatibler Client verbunden ist.

Ein erfolgreicher Start wird durch Protokolle ähnlich wie die folgenden angezeigt:

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

Hinweise

Dieses Repository ist absichtlich vom bestehenden NewCrm-Projekt isoliert. Es ist ein eigenständiger MCP-Grundlagenserver und enthält keinen direkten Datenbankzugriff oder CRM-spezifische Geschäftslogik.

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