NewCrm MCP Server Foundation
NewCrm MCP Server Foundation
Этот проект представляет собой отдельный MCP-сервер для существующей CRM NewCrm. Он не изменяет кодовую базу CRM и не подключается напрямую к MongoDB.
Текущий объём работ намеренно ограничен чистой основой для будущей MCP-интеграции.
Архитектура
ChatGPT Work ↓ OAuth 2.1 ↓ NewCrm MCP Server ↓ Существующие API бэкенда NewCrm ↓ MongoDB
MCP-сервер спроектирован так, чтобы взаимодействовать с существующей CRM через существующий слой API бэкенда, где это возможно.
Related MCP server: @kemosoft/mcp-heymax-crm
Текущий статус
Проект намеренно не включает:
Реализацию OAuth
MCP-инструменты
Интеграцию с HubSpot
Операции записи
Операции создания, обновления или удаления
Доступ к MongoDB
Массовые экспорты
Вебхуки
Пакетные обновления
Структура проекта
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/Установка
Откройте терминал в папке проекта.
Установите зависимости:
npm installПеременные окружения
Скопируйте пример файла и задайте значения в вашем локальном файле .env:
copy .env.example .envФайл .env должен содержать такие значения, как:
PORTHOSTNODE_ENVCRM_API_BASE_URL=https://www.jtcrm.in/apiMCP_SERVER_NAMEMCP_SERVER_VERSIONLOG_LEVELCRM_API_TIMEOUT_MS
Не коммитьте секреты или реальные токены в систему контроля версий. Не храните постоянный административный JWT или любые производственные учётные данные в проекте.
Интеграция с CRM API
Этот проект включает переиспользуемый клиент CRM API для безопасного доступа только на чтение к существующим API бэкенда NewCrm.
Текущая поддерживаемая конечная точка:
GET /api/leads
Сервис намеренно ограничен только явно сконфигурированными конечными точками. Он не принимает произвольные URL от пользователей MCP.
Пример использования:
import { getLeads } from "./src/services/crmApiClient.js";
const result = await getLeads({
authToken: process.env.CRM_API_TEST_AUTH_TOKEN,
});Это сохраняет интеграцию переиспользуемой для будущих вызовов CRM API, избегая при этом прямого доступа к MongoDB и операций записи.
Рекомендации по безопасному тестированию
Для разработки или тестирования передавайте JWT с областью действия пользователя во время выполнения от вызывающей стороны или из локального временного значения окружения. Не помещайте общий административный токен в .env.
Пример локального тестового сценария:
$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);"Сервис никогда не будет логировать сам токен и отправляет заголовок x-auth-token только тогда, когда вызывающая сторона его предоставляет.
Запуск сервера
npm startДополнительный режим разработки:
npm run devКак работает /mcp
Этот проект использует официальный MCP SDK с транспортом Streamable HTTP.
Сервер предоставляет единственную конечную точку MCP по адресу /mcp.
POST /mcpобрабатывает инициализацию MCP JSON-RPC и последующие запросы.Новая сессия создаётся при получении запроса на инициализацию.
Каждая сессия хранит связанный с ней транспорт Streamable HTTP.
DELETE /mcpзакрывает сессию, когда она больше не нужна.GET /mcpв настоящее время возвращает405 Method Not Allowed, поскольку эта основа ещё не поддерживает потоковые GET-запросы.
Это правильная основа для будущих инструментов и интеграций с бэкендом без преждевременного добавления функциональности CRM.
Тестирование сервера
После запуска сервера убедитесь, что он успешно прослушивает порт:
curl -i http://127.0.0.1:3002/mcpОжидаемое поведение:
Сервер должен отвечать HTTP
405на GET-запросы к/mcp.Сервер также должен принимать POST-запросы для инициализации MCP и JSON-RPC трафика после подключения совместимого клиента.
Об успешном запуске свидетельствуют логи, похожие на:
{"timestamp":"...","level":"info","message":"NewCrm MCP foundation server started","host":"127.0.0.1","port":3002,"endpoint":"/mcp"}Примечания
Этот репозиторий намеренно изолирован от существующего проекта NewCrm. Это автономный базовый MCP-сервер, который не включает прямой доступ к базе данных или специфичную для CRM бизнес-логику.
This server cannot be installed
Maintenance
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
- FlicenseNot gradedqualityBmaintenanceRead-only MCP server connecting Claude to Vtiger CRM for leads, deals, and overdue follow-ups.
- AlicenseNot gradedqualityCmaintenanceMCP server for HeyMax CRM API, providing read-only tools to query pipelines, services, and other CRM data.9MIT
- FlicenseNot gradedqualityCmaintenanceRead-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.
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.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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