AJEMS MCP Connector
OfficialAJEMS MCP Connector
Позволяет Claude и ChatGPT отвечать на вопросы о рабочем пространстве AJEMS — и при желании создавать приложения, формы и записи — без входа в AJEMS.
Одно развёртывание обслуживает всех тенантов. Пользователи входят, указывая название своей организации и секретный ключ AJEMS.
Файлы
Файл | Роль |
| Конфигурация, аутентификация, HTTP-транспорт, проверка здоровья, завершение работы |
| Каждый инструмент, который может вызвать ИИ |
| Единственный модуль, который общается с AJEMS API |
| OAuth-рукопожатие, необходимое для Claude и ChatGPT |
| Кэширование для каждого тенанта и ограничение параллелизма восходящих запросов |
| Небольшие общие помощники |
| Пошаговая проверка из 11 шагов |
| Фейковый AJEMS с примерами данных для тестирования без живого рабочего пространства |
Related MCP server: BackCrew ServiceM8 MCP Server
Быстрый старт
npm install
cp .env.example .env # set PUBLIC_URL and AJEMS_HOST_TEMPLATE
npm startПроверьте на реальном рабочем пространстве:
node diagnose.js https://mcp.ajems.com <organisation> <secret-key>Или попробуйте вообще без AJEMS:
npm run mock # terminal 1
# set AJEMS_HOST_TEMPLATE=http://localhost:9090/{org}/json_builder
npm start # terminal 2
node diagnose.js http://localhost:8080 testco test-secret-keyСмотрите DEPLOY.md для nginx, TLS, pm2 и настройки.
Инструменты
По умолчанию только чтение. Установите ALLOW_WRITES=true для четырёх инструментов записи.
Инструмент | Назначение |
| Обнаружение — каждое приложение и форма, с флагами чтения/записи |
| Ключи полей, человеческие метки, типы, параметры выпадающих списков |
| Записи с фильтрами, диапазоном дат, выбором полей |
| count / sum / avg / min / max, опционально с группировкой |
| Новое приложение |
| Новая форма; ключи полей генерируются автоматически |
| Одна или несколько записей, вставка с ограниченным параллелизмом |
| Изменение полей существующей записи |
| Поиск по ключевым словам в формах и записях (ChatGPT) |
| Полная информация об одном результате поиска (ChatGPT) |
aggregate_responses вычисляет на сервере. Без него «итог по городам» пришлось бы тянуть тысячи строк в контекст модели и считать вручную — медленно, дорого и неверно после определённого размера.
search и fetch существуют потому, что вне режима разработчика ChatGPT вызывает только инструменты с этими двумя именами и игнорирует всё остальное.
Как обрабатывается вопрос
Claude спрашивает «сколько записей за июль по городам?»:
list_apps_and_forms→ находит формуdescribe_form→ узнаёт, чтоdate_1750943312417— это поле даты, аdropdown_1750943301432содержит городаaggregate_responsesс диапазоном дат иgroup_by→ получает три числаПишет ответ на простом английском
Ключи полей генерируются автоматически (date_1750943312417), поэтому шаг 2 не является необязательным. Описания инструментов сообщают это модели, и она сама выстраивает цепочку вызовов.
Изоляция тенантов
Тенант берётся из сессии и определяется на сервере по bearer-токену
Ни одна схема инструмента не имеет параметра
tenant,orgилиurl— не существует ничего, что модель можно было бы уговорить изменитьajems.js— единственный модуль, отправляющий исходящие запросы, и только на базовый URL этого тенантаКлючи кэша разделены по тенанту и хешу секретного ключа, поэтому тенанты не могут читать чужие кэшированные записи, а ротированный ключ сам истекает
Названия организаций урезаются до символов, безопасных для поддоменов, поэтому запись вида
evil.com/xне может перенаправить сервер куда-либо ещёКаждый вызов инструмента логируется как JSON с тенантом и пользователем
При добавлении инструмента перепроверьте второй пункт.
Тестирование
46 проверок проходят против мока: аутентификация, все 10 инструментов, фильтры, диапазоны дат, запасной вариант created_at, группированная агрегация, массовая вставка, инвалидация кэша после записи, сообщения об ошибках, изоляция тенантов, 20 одновременных пользователей и ограничение скорости.
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 Connectors
Give AI agents access to form submissions — read, search, update, and process file attachments.
Give your AI agents the tools to build, manage, and run automation workflows.
Zero-setup MCP gateway securely connecting AI to your tools with authentication and workflows
Connect AI agents to Process Street workflows, tasks, runs, data sets, and operational records.
Related MCP Servers
- FlicenseAqualityDmaintenanceEnables AI assistants to interact with SMB platform APIs for querying business data, managing tasks, accessing connectors, dashboards, and monitoring security.16
- AlicenseBqualityBmaintenanceEnables an AI assistant to interact with ServiceM8 via natural language, supporting lookups and optionally creating or updating records, with tiered safety controls.36MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to interact with Jurisly workspaces for tasks like drafting invoices, finding hearing dates, and editing documents through natural language.Apache 2.0
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to directly interact with ERPNext/Frappe business data and operations, including document management, submissions, cancellations, reports, PDF generation, file uploads, and whitelisted method calls, with per-request permission enforcement.MIT
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/ajemssolutions/MCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server