NewCrm MCP Server Foundation
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
Öffnen Sie ein Terminal im Projektordner.
Installieren Sie die Abhängigkeiten:
npm installUmgebungsvariablen
Kopieren Sie die Beispieldatei und setzen Sie Werte in Ihrer lokalen .env-Datei:
copy .env.example .envDie .env-Datei sollte Werte wie die folgenden enthalten:
PORTHOSTNODE_ENVCRM_API_BASE_URL=https://www.jtcrm.in/apiMCP_SERVER_NAMEMCP_SERVER_VERSIONLOG_LEVELCRM_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 startOptionaler Entwicklungsmodus:
npm run devSo funktioniert /mcp
Dieses Projekt verwendet das offizielle MCP-SDK mit Streamable-HTTP-Transport.
Der Server stellt einen einzelnen MCP-Endpunkt unter /mcp bereit.
POST /mcpbehandelt 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 /mcpschließt eine Sitzung, wenn sie nicht mehr benötigt wird.GET /mcpgibt derzeit405 Method Not Allowedzurü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/mcpErwartetes Verhalten:
Der Server sollte mit HTTP
405auf GET-Anfragen an/mcpantworten.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.
This server cannot be deployed
Maintenance
Related MCP Connectors
Read-only MCP server for public WeJob jobs, formations, and companies.
API-first CRM for LLMs - contacts, companies, deals and activities over a native MCP server.
Cross-product MCP server for CRM, LeadKit, ProjectKit, Bookio. 10 action types, MIT open spec.
MCP server for Getfly CRM — customers, opportunities, orders, tickets and tasks.
Related MCP Servers
- FlicenseNot gradedqualityBmaintenanceRead-only MCP server connecting Claude to Vtiger CRM for leads, deals, and overdue follow-ups.-
- AlicenseAqualityCmaintenanceMCP server for HeyMax CRM API, providing read-only tools to query pipelines, services, and other CRM data.1010 npmMIT
- FlicenseNot gradedqualityDmaintenanceRead-only MCP server for MongoDB ERP analytics with catalog-driven collection allowlist and safe find/aggregate tools.1-

firelever-mcpofficial
FlicenseNot gradedqualityBmaintenanceRead-only MCP server for querying the lead database and pipeline statistics.-