Skip to main content
Glama
JTSTBP

NewCrm MCP Server Foundation

by JTSTBP

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/

Установка

  1. Откройте терминал в папке проекта.

  2. Установите зависимости:

npm install

Переменные окружения

Скопируйте пример файла и задайте значения в вашем локальном файле .env:

copy .env.example .env

Файл .env должен содержать такие значения, как:

  • 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

Не коммитьте секреты или реальные токены в систему контроля версий. Не храните постоянный административный 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 бизнес-логику.

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