AJEMS MCP Connector
OfficialAJEMS MCP Connector
Permite que Claude y ChatGPT respondan preguntas sobre un espacio de trabajo de AJEMS — y opcionalmente crear aplicaciones, formularios y registros — sin que nadie inicie sesión en AJEMS.
Un solo despliegue sirve a cada inquilino. Los usuarios inician sesión con el nombre de su organización y la clave secreta de AJEMS.
Archivos
Archivo | Función |
| Configuración, autenticación, transporte HTTP, salud, apagado |
| Cada herramienta que la IA puede llamar |
| El único módulo que habla con la API de AJEMS |
| El apretón de manos OAuth que requieren Claude y ChatGPT |
| Caché por inquilino y limitación de concurrencia ascendente |
| Pequeños ayudantes compartidos |
| Comprobador de extremo a extremo de 11 pasos |
| AJEMS falso con datos de muestra, para pruebas sin un espacio de trabajo real |
Related MCP server: Synapse
Inicio rápido
npm install
cp .env.example .env # set PUBLIC_URL and AJEMS_HOST_TEMPLATE
npm startVerifica contra un espacio de trabajo real:
node diagnose.js https://mcp.ajems.com <organisation> <secret-key>O pruébalo sin AJEMS en absoluto:
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-keyConsulta DEPLOY.md para nginx, TLS, pm2 y ajustes.
Herramientas
Solo lectura por defecto. Establece ALLOW_WRITES=true para las cuatro herramientas de escritura.
Herramienta | Propósito |
| Descubrimiento — cada aplicación y formulario, con indicadores de lectura/escritura |
| Claves de campo, etiquetas legibles, tipos, opciones de desplegable |
| Registros con filtros, rango de fechas, selección de campos |
| count / sum / avg / min / max, opcionalmente agrupados |
| Nueva aplicación |
| Nuevo formulario; claves de campo generadas automáticamente |
| Uno o muchos registros, insertados con concurrencia limitada |
| Cambiar campos en un registro existente |
| Búsqueda por palabras clave en formularios y registros (ChatGPT) |
| Detalle completo para un resultado de búsqueda (ChatGPT) |
aggregate_responses calcula en el servidor. Sin él, "total por ciudad" traería miles de filas al contexto del modelo y las contaría a mano — lento, costoso e incorrecto más allá de cierto tamaño.
search y fetch existen porque fuera del Modo Desarrollador, ChatGPT solo llama a herramientas con esos dos nombres e ignora todo lo demás.
Cómo se responde una pregunta
Claude pregunta "¿cuántas entradas en julio, por ciudad?":
list_apps_and_forms→ encuentra el formulariodescribe_form→ aprende quedate_1750943312417es el campo de fecha ydropdown_1750943301432contiene ciudadesaggregate_responsescon un rango de fechas ygroup_by→ obtiene tres númerosEscribe la respuesta en inglés sencillo
Las claves de campo se generan automáticamente (date_1750943312417), por eso el paso 2 no es opcional. Las descripciones de las herramientas le indican esto al modelo, y él mismo encadena las llamadas.
Aislamiento de inquilinos
El inquilino proviene de la sesión, resuelto en el servidor a partir del token de portador
Ningún esquema de herramienta tiene un parámetro
tenant,orgourl— no existe nada que un modelo pueda ser convencido de cambiarajems.jses el único módulo que emite solicitudes salientes, y solo a la URL base de ese inquilinoLas claves de caché tienen un espacio de nombres por inquilino y un hash de la clave secreta, de modo que los inquilinos no pueden leer las entradas en caché de otros y una clave rotada se autoexpira
Los nombres de organización se reducen a caracteres seguros para subdominios, de modo que una entrada como
evil.com/xno puede redirigir el servidor a otro lugarCada llamada a una herramienta se registra como JSON con inquilino y usuario
Al añadir una herramienta, vuelve a comprobar el segundo punto.
Pruebas
46 comprobaciones pasan contra el mock: autenticación, las 10 herramientas, filtros, rangos de fechas, el respaldo created_at, agregación agrupada, inserción masiva, invalidación de caché después de escrituras, mensajes de error, aislamiento de inquilinos, 20 usuarios concurrentes y limitación de velocidad.
This server cannot be deployed
Maintenance
Related MCP Connectors
- mcpOAuthcom.formester
Give AI agents access to form submissions — read, search, update, and process file attachments.
- OpenOakOAuthorg.openoak
Secure AI access to OpenOak tasks, notes, and Kanban boards.
- mcp-serverOAuthcom.make
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
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables 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 gradedqualityAmaintenanceEnables LLM clients to securely read and write Frappe/ERPNext data under a real user's permissions, with audited calls and granular access control.1AGPL 3.0
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to connect to a Flow Master workspace and perform project, task, ticket, board, relationship, tag, and comment operations under the user's own account and permissions.3 npmISC
- AlicenseNot gradedqualityBmaintenanceEnables AI assistants to securely connect to a vybeflow tenant for multi-channel messaging operations such as reading inbox tickets, looking up contacts, checking campaign progress, and sending messages under scoped permissions.MIT