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 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.
Public, read-only MCP server for FarmNeural company facts, packages, and capabilities.
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.103 npmMIT
- FlicenseNot gradedqualityDmaintenanceRead-only MCP server for MongoDB ERP analytics with catalog-driven collection allowlist and safe find/aggregate tools.1-

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