MCP4Acumatica
MCP4Acumatica
Descargo de responsabilidad: Este proyecto es una integración independiente creada por la comunidad y no está afiliado a Acumatica, Inc., ni cuenta con su respaldo ni con su soporte. «Acumatica» es una marca comercial registrada de Acumatica, Inc. El uso del nombre y de la API de Acumatica tiene fines meramente de interoperabilidad.
Un servidor remoto de Model Context Protocol (MCP) que conecta Claude con Acumatica ERP 2025 R2. Se ejecuta en Cloudflare Workers con autenticación OAuth por usuario contra tu instancia de Acumatica.
Cada usuario se autentica con sus propias credenciales de Acumatica. Su rol de Acumatica controla qué registros pueden ver. El servidor MCP exige además un rol específico de Acumatica para el acceso, muestra un aviso intermedio de consentimiento y oculta automáticamente los datos sensibles antes de que lleguen al modelo de IA.
Características
49 herramientas — 38 consultas de solo lectura + 6 de utilidad/detección + 4 de conocimiento de esquema + 1 herramienta de escritura (alta/actualización de clientes, desactivada por defecto) (ver Herramientas disponibles)
OAuth por usuario — los usuarios inician sesión con sus credenciales de Acumatica (o con otro de SSO)
Acceso basado en roles — el modelo de seguridad de Acumatica determina qué ve cada usuario
Barrera de acceso — solo los usuarios que puedan leer una Generic Inquiry canaria designada pueden conectarse (restríngela como prefieras; un rol marcador como
MCP Accesses la opción recomendada)Aviso de consentimiento — los usuarios deben aceptar explícitamente el procesamiento de sus datos por una IA antes de usar las herramientas
Ocultación de campos sensibles — SSN, cuentas bancarias, salarios y otros datos personales se ocultan automáticamente antes de que la información salga del servidor
Limitación de peticiones — por defecto, se permiten 3 peticiones concurrentes y 40 peticiones por minuto y usuario; ambos límites pueden ajustarse desde la consola de administración. Si una petición encuentra todas las plazas ocupadas, espera brevemente a que se libere una en lugar de fallar al instante; un rechazo devuelve una respuesta estructurada
{ error: "rate_limited", retryAfterSeconds, actionRequired }que le dice a la IA exactamente cuánto tiempo debe esperar, en lugar de reintentar en bucleDenegación de paginación — las herramientas de listado/consulta devuelven una respuesta estructurada
{ truncated, paginationSupported: false, actionRequired }cuando los resultados alcanzan el límite de registros, e indican a la IA que pida al usuario un filtro más específico en lugar de volver a invocar la herramientaRegistro de auditoría estructurado — todas las invocaciones de herramientas, eventos de autenticación y ocultaciones de campos quedan registradas
Consola de administración — interfaz web de administración en
/docs/adminpara consultar los registros y ajustar la configuración en tiempo de ejecución sin volver a desplegarRetención prolongada de registros — almacenamiento de logs basado en R2 mediante Cloudflare Logpush, con visor de registros que admite búsqueda
Arquitectura
Claude (claude.ai / Desktop / API)
|
v MCP over streamable-http
+----------------------------------+
| Cloudflare Worker |
| OAuth 2.1 Provider |
| /authorize -> Acumatica login |
| /callback <- Acumatica |
| (access gate + OIDC userinfo) |
| /consent -> AI data consent |
| /token, /register (DCR) |
| /mcp -> McpAgent DO (49 tools)|
+---------------+------------------+
| Bearer token (per-user)
v
Acumatica 25R2 SaaS
Contract-Based REST API
Default/25.200.001Requisitos previos
Node.js >= 18
Una cuenta de Cloudflare (plan de pago de Workers para Durable Objects)
Una instancia de Acumatica 2025 R2 que disponga de:
Una aplicación conectada (Connected Application) configurada en SM303010 con el flujo OAuth 2.0 Authorization Code (los alcances los envía el servidor en la petición; no se configuran en la aplicación)
Una URI de redirección que apunte al endpoint
/callbackde tu workerUna Generic Inquiry
MCPAccess(SM208000) — una GI canaria trivial con Expose via OData activado; la barrera de acceso del inicio de sesión comprueba si el usuario puede leer en esa GI (ver documentación de la arquitectura para más detalles). El nombre de la GI se puede configurar medianteACUMATICA_CANARY_GIUna forma de restringir quién puede leer esa GI — un rol marcador
MCP Access(SM201005) asignado a los usuarios autorizados es la opción recomendada
Instalación
Existen tres rutas de instalación. Las tres dependen de los mismos prerrequisitos en Acumatica: confirma estos primero (ver «Configuración de Acumatica» más abajo) sea cual sea la ruta y elijas.
Ruta | ideal para | ¿Necesita terminal? |
A. Botón «Deploy en Cloudflare» | Quienes quieran una instalación totalmente mediante GUI | No |
B. Instalador de una sola línea | Desarrolladores que ya tengan | Sí (una orden) |
C. Instalación manual | Quien desee inspeccionar cada paso | Sí |
Ruta A — Botón «Deploy en Cloudflare» (sin terminal)
El botón crea un fork de este repositorio en tu cuenta de GitHub, resuelve wrangler.jsonc, crea automáticamente el namespace KV y el bucket de R2, te pide los secretos y despliega. Peso a paso:
Haz clic en el botón. Cloudflare te pedirá que inicies sesión (o crees una cuenta) y que autorices un fork de GitHub.
Confirma los bindings. Cloudflare te pedirá crear los namespaces KV dos veces: una para el binding
TOKEN_STORE(datos de la app: tokens, estado de OAuth, caché, configuración, sesiones de administración) y otra paraOAUTH_KV(usado internamente por la librería de OAuth). Esto es normal: son dos bindings distintos y nunca comparten claves.⚠️ Pon a los dos namespaces nombres distintos (por ejemplo,
mcp4acumatica-appparaTOKEN_STOREymcp4acumatica-oauthparaOAUTH_KV). El aprovisionamiento automático de Cloudflare deriva el título por defecto del nombre del Worker, de modo que ambos campos se ponen comomcp4acumaticay crear dos namespaces con el mismo título falla con el error «Cannot plan a KV Namespace intitulado … porque ya existe». Si te aparece ese error, se ha quedado un namespace a medio crear: ve a Storage & Databases → KV, elimina el namespace huérfanomcp4acumaticay vuelve a intentarlo con dos nombres distintos. (El aprovisionamiento gráfico de Cloudflare no puede apuntar ambos bindings a un solo namespace, ni tampoco puede la configuración preasignar títulos distintos; por eso la solución es crear dos namespaces distintos. Si la interfaz gráfica sigue fallando, usa una ruta con terminal de las que aparecen más adelante:setup.shcrea un único namespace y enlaza ambos bindings a él.)Los buckets R2 (
mcp4acumatica-logs,mcp4acumatica-index) se crean de la misma forma, pero sus nombres estan fijados enwrangler.jsoncpara que no colisionen.Pon los secretos. Cuando te lo pida, pega:
ACUMATICA_CLIENT_ID— el de tu Connected Application (SM303010)ACUMATICA_CLIENT_SECRET— de la misma pantallaCOOKIE_ENCRYPTION_KEY— abre la consola del navegador en la página que quieras y ejecuta:[...crypto.getRandomValues(new Uint8Array(32))].map(b => b.toString(16).padStart(2,'0')).join('')Copia la cadena hexadecimal de 64 caracteres resultante.
ADMIN_SECRET— cualquier contraseña que recuerdes (proteja la consola/docs/admin). Puedes generar una con[...crypto.getRandomValues(new Uint8Array(24))].map(b => b.toString(16).padStart(2,'0')).join('')si no tienes preferencia.
Despliega. Cloudflare conecta el fork con Workers Builds y realiza el primer despliegue.
Actualiza las variables de Acumatica. When the deployment finishes, open
Workers & Pages → mcp4acumatica → Settings → Variables and Secretsand edit:ACUMATICA_URL(por ejemplo,https://yourcompany.acumatica.com)ACUMATICA_TENANTOpcionalmente,
ACUMATICA_MAX_RECORDS,ACUMATICA_CANARY_GI,REDACT_PATTERNS,REDACT_SKIPClick en Save and Deploy: Cloudflare volverá a lanzar con los nuevos valores.
Añade una URI de redirección a tu Connected Application. Ahora tu worker (es decir, puede alcanzarlo en
https://mcp4acumatica.<your-account>.workers.dev. Incluyehttps://<ese-host>/callbackentre las URI de redirección de la pantalla SM303010 de Acumatica. Si prefieres usar un dominio personalizado, ve a «Custom domain».Comprueba el despliegue. Visita
https://<tu-host>/docs/admin/preflight, inicia sesión con tuADMIN_SECRETy ejecuta el diagnóstico preflight. Se comprueba la conectividad con Acumatica, el endpoint de descubrimiento de OIDC, las credenciales de la Connected App, la ruta del tenant y la version del API del contrato; cualquier mala configuración se indica por su nombre.
Después de este punto, Claude ya puede conectarte (ver «Connecting Claude AppConfigurator» más a small).
Ruta B — Instalador de una sola línea (terminal)
Si ya tines git, node y npm, ejecuta:
curl -fsSL https://mcp4acumatica.hallboys.com/install.sh | bashEsto clona el repositorio, Instalar las dependencias y ejecuta ./setup.sh. El script de instalación pedirá los valores de Acumatica que el usuario necesita (URL, tenant, client ID y client secret de la Connected App), genera automáticamente los secretos criptográficos, Crea el namespace de KV y el bucket R2, sube los secretos, despliega y, por fin, ejecuta la comprobación preflight.
Si prefieres inspeccionar primero el script:
curl -fsSL https://mcp4acumatica.hallboys.com/install.sh -o install.sh
less install.sh # read it
bash install.sh # then runRuta C — Instalación manual (terminal)
1. Clona e instala
git clone https://github.com/hallboys/MCP4Acumatica.git
cd MCP4Acumatica
npm install2. Crea el namespace KV
npx wrangler kv namespace create TOKEN_STOREAppointment que veas en la salida: la variable ID te servirá dentro de wrangler.jsonc. Se usa el mismo identificador para los dos bindings: TOKEN_STORE y OAUTH_KV.
3. Configura wrangler
wrangler.jsonc se presenta en el repositorio como plantilla de despliegue. Edítalo en el lugar correspondiente y completa lo siguiente:
El identificador del namespace KV del paso 1 (bindings
TOKEN_STOREyOAUTH_KV; el mismo id) *ACUMATICA_URL— la buena URL de tu instancia Achematica (p. ej.https://yourcompany.acumatica.com)ACUMATICA_TENANT— el nombre de tu empresa o tu tenant en Acumatica
Para dejar tus valores locales fuera de git status (y poder seguir obteniendo updates del repositorio sin conflictos):
git update-index --skip-worktree wrangler.jsonc4. Define los secretos
npx wrangler secret put ACUMATICA_CLIENT_ID
npx wrangler secret put ACUMATICA_CLIENT_SECRET
npx wrangler secret put COOKIE_ENCRYPTION_KEY # use `openssl rand -hex 32`
npx wrangler secret put ADMIN_SECRET # any password — protects /docs/admin5. Despliega
npx wrangler deploy6. Desarrollo local (opcional)
cp .dev.vars.example .dev.vars
# Edit .dev.vars with your Acumatica credentials
npx wrangler devConfiguración de Acumatica
Estos pasos son obligatorios independientemente de la ruta de instalación elegida. No se pueden automatizar: la API de Acumatica no los expone.
Connected Application (SM303010)
En Acumatica: System > Integration > Connected Applications (SM303010).
Create a new Connected Application.
Define OAuth 2.0 Flow en Authorization Code.
Añade una URI de redirección a:
https://<tu-worker>/callback(utiliza el hostname* .workers.devo tu dominio personalizado).Guarda el Client ID y el Client Secret: los aportarás como secretos durante la instalación.
Este no es un campo de alcances (scopes) configurable. Los scopes de OAuth (
api openid profile email offline_access, incluido eloffline_accessque hace que Acumatica emita tokens de renovación), los envía el servidor MCP en la petición de autorización; no se configuran en la Connected Application.
Barrera de acceso: Generic Inquiry canary (SM208000, SM201005)
Antes de que un usuario pueda usar las herramientas de IA, la secuencia de inicio de sesión realiza una bueña de acceso: consulta una Generic Inquiry canaria trivial a través de OData and comprobarces whether user can read. The server never checks role groups; only asks "can you see this GI?".
Crea la Generic Inquiry: SM208000 → Generic Inquiry → create a GI named
MCPAccesswith any simple query (with only one column from any table enough). Enable Expose via OData.Restringe quién puede leer eña GI (recomendado: rol marcador): SM201005 → User Roles → create a role named
MCP Accesswith no permissions at the screen level, assign theMCPAccessGI only to that role, y asigna el rol a cada usuario que deba tener acceso al asistente IA. Cualquier otra mécanisme que controle la lectura de esa GI por OData es válido.
El nombre de la Generic canaria es configurable mediante la variable
ACUMATICA_CANARY_GI(por defecto,MCPAccess). Cambiali en el panel Cloudflare (Variables and Secrets) o enwrangler.jsonc.
Generic Inquiry exposure to AI (muy recomendado)
Una instancia madura de Acumatica puede tener cientos de consultas genéricas (Generic Inquiries, GI), la mayoría construidas para pantallas humanas (cuadrículas de informes amplias, paneles, consultas puntuales). Exponerlas todas al asistente satura su contexto y hace que escoja la consulta equivocada —y, peor aún, una GI parametrizada expuesta vía OData devuelve datos erróneos en silencio: al consultarla sin sus parámetros, Acumatica devuelve filas por defecto/sin filtrar con ningún error, algo que el modelo no puede detectar. El control de exposición de GI convierte esto en opt-in: programas con ExposedToMCP las GI que son realmente útiles y correctas para que un agente de IA consulte, y el modelo solo ve estas.
El control está inactivo hasta que lo configures: el servidor se ejecuta, pero sin registro el asistente no puede descubrir GI (acumatica_list_generic_inquiries no devuelve nada; un usuario cualquiera puede ejecutar una GI de todos modos por su nombre exacto). Configurarlo le da al asistente un grupo seleccionado que puede descubrir sin riesgo. Activarlo es un proyecto de personalización único en Acumatica — es decir, junto con acumatica/, es un proyecto de personalización incluido en acumatica/, que añade los campos personalizados UsrExposedToMCP / UsrAIDescription (GIDesign) y UsrResAIDescription (GIResult), además de los cambios en el formulario SM20839; después se crean las GIs de feed MCPGIs / MCPGIFields, se concede acceso de lectura a los feeds para el rol MCP Access y se marcan las GI que se quieren exponer. Ver el artículo Generic Inquiries.
Ver Generic Inquiries para conocer el razonamiento completo, cómo decidir qué GI exponer y le configuración paso a paso.
Dominio personalizado (opcional)
El despliegue te da un hostname *.workers.dev de serie. Para asociarle un dominio con tu marca:
Mediante el panel de Cloudflare:
Workers & Pages → mcp4acumatica → Settings → Domains & Routes → Add. La zona del dominio debe estar en tu cuenta de Cloudflare.Mediante
wrangler.jsonc: descomenta el bloqueroutesde la parte superior del archivo, modificapatternyzone_name, y vuelve a desplegar.
Si cambias el hostname, recuerda añadir la nueva URL https://<host>/callback a los URI de redirección de tu aplicación conectada (Connected Application) en SM303010.
Conectando Claude
Claude.ai / Claude Desktop
Ve a Settings > Connectors
Haz clic en Add Connector e introduce la URL:
https://<your-worker-url>/mcpEn el primer uso, serás redirigido a la página de inicio de sesión de Acumatica
Si tu cuenta puede leer la GI canary (es decir, se te ha concedido acceso), verás una página de consentimiento que explica el tratamiento de datos para IA
Después de aceptar el consentimiento, Claude tendrá acceso a las 49 herramientas
Claude Code (CLI)
claude mcp add acumatica-erp --transport streamable-http https://<your-worker-url>/mcpAPI (via Anthropic SDK)
Al usar la API de Anthropic con MCP, apunta el cliente MCP a https://<your-worker-url>/mcp. El servidor es compatible con OAuth 2.1 con Dynamic Client Registration en /register.
Herramientas disponibles
Núcleo
Herramienta | Descripción |
| Registro de cliente con contactos, reglas de crédito y balance |
| Registro de proveedor con contactos, condiciones e información fiscal |
| Pedido de venta con líneas, totales y envío |
Financiación / Contabilidad
Herramienta | Descripción |
| Factura de AR con líneas y detalles de impuestos |
| Factura de AP con líneas y relación con PO |
| Lote de asiento de GL con detalles de débito/crédito |
| Pago de AR con documentos y pedidos aplicados |
| Consulta del plan de cuentas de GL |
| Cheque de AP / pago a proveedor con historial |
Inventario y almacén
Herramienta | Descripción |
| Artículo de inventario con precios, cantidad por almacén y proveedores |
| Artículo no inventariable (servicio, mano de obra, gasto) |
| Cantidad disponible en tiempo real por almacenes |
| Resumen agregado de existencias por almacén |
| Almacén con ubicaciones y configuración |
| Clases de artículo y valores por defecto |
Compras
Herramienta | Descripción |
| Orden de compra con líneas, proveedor y totales |
| Recibo con cantidad recibida y relación con PO |
Proyectos
Herramienta | Descripción |
| Cabecera del proyecto, estado, información financiera |
| Tarea dentro de un proyecto |
| Línea con la que las prevista y prevista la padrón |
| Detalles de transacciones de costes/ingresos del proyecto |
Conversión y campo
Herramienta | Descripción |
| Orden de servicio de campo con detalles y citas |
| Horas previstas/realizadas, personal, coste/beneficio |
Ventas y CRM
Herramienta | Descripción |
| Contacto de CRM con dirección, teléfono, propietario |
| Registro unificado de prospecto/cliente/proveedor |
| Operación en el pipeline de ventas con productos y cantidades |
| Oportunidad de marketing con estado y origen |
| Representante de ventas con configuración de comisión |
Envío y cumplimiento
Herramienta | Descripción |
| Envío con paquetes, seguimiento y flete |
| Factura con vínculo a pedido de venta / envío |
RR. HH. y nó tierra
Herramienta | Descripción |
| Empleado con contacto y ajustes financieros |
| Informe de gastos con líneas y aprobación |
| Parte de horas con proyecto, facturación / horas extra |
Actividades de CRM
Herramienta | Descripción |
| Actividad de correo electrónico con de/para/cuerpo |
| Evento de calendario con asistentes |
| Actividad general de CRM |
| Tarea de CRM con actividades relacionadas |
Utilidades / Descubrimiento
Herramienta | Descripción |
| Ejecutar cualquier GI con filtros configurada |
| Listar/buscar cualquier entidad con filtrado OData, ordenación y selección de campos |
| Descubre los campos, tipos y subentidades de cualquier entidad |
| Listar las GIs disponibles expuestas vía OData |
| Inferir el esquema semántico de una GI antes de ejecutarla |
| Limpiar la caché de metadatos cuando cambian los esquemas |
Consejo: Use
acumatica_describe_entitypara descubrir los campos disponibles y luegoacumatica_list_entitiespara buscar o filtrar. En el caso de las consultas genéricas, usaListView_Categoriesacumatica_list_generic_inquiriesyacumatica_describe_inquirypara ver los campos disponibles antes de ejecutarlas. Consulte: docs/example-prompts.md para ver ejemplos de uso.
Documentación
La documentación completa de este proyecto se encuentra en docs/:
Referencia de Herramientas — Especificación completa de las 49 herramientas con parámetros y endpoints
Ejemplos de Prompts — Prompts de ejemplo para Claude y otros clientes MCP organizados por caso de uso
Guía de filtrado OData — Guía de parámetros
$filter,$orderby,$select,$expandy$topGeneric Inquiries — Por qué las GI están bloqueadas para uso de IA, cuáles exponer y cómo habilitar el registro opt-in
Conocimiento del Esquema — Herramientas de descubrimiento de esquemas sin despliegue para construir integraciones/customizations, y cómo se genera el índice de esquema
Arquitectura — Arquitectura detallada, flujo OAuth, modelo de seguridad y decisiones de diseño
Guía de Autoinstalación — Cómo ejecutar el servidor MCP en Node.js u otras plataformas fuera de Cloudflare
Actualización de Acumatica — Que hacer al preparar la versión de Acumatica que se conecta
Usos
acumatica-gi-descriptions— Proceso completo para escribir descripciones orientadas a IA para las Generic Inquiries y sus columnas de resultados, con base en el propio metadata de diseño de la GI (tablas, uniones, condiciones WHERE, columnas) y no adivinando por nombres. Incluye las trampas más comunes que hacen fallar silenciosamente el trabajo con metadatos de GI, una lista de señales de diseño útiles y tres scripts: una para auditar truncados, un briefing de diseño y una validación de borrador.
Para usar un skill, apunta a Claude al directorio correspondiente, o cópia el contenido en tu propio .claude/skills/.
Seguridad
Sin credenciales almacenadas. El servidor MCP no almacena contraseñas de Acumatica. Utiliza el flujo de código de autorización de OAuth 2.0 -- los usuarios se autentican directamente con Acumatica.
Tokens por usuario. El token de acceso a Acumatica de cada usuario se almacena en el almacén de clave-valor de la plataforma (Cloudflare KV en el despliegue por defecto), asociado a su nombre de usuario. Los tokens se renuevan automáticamente al caducar. Si un token de actualización caduca, la conexión se reautentica automáticamente en lugar de requerir una reconexión manual.
Puerta de acceso. Solo los usuarios que puedan leer una Generic Inquiry centinela designada pueden conectarse. El servidor comprueba la legibilidad de la GI mediante OData durante el inicio de sesión (no la pertenencia a roles); los usuarios sin acceso ven una página de acceso denegado. Restringe la GI como quieras -- un rol marcador
MCP Accesses la forma recomendada. El nombre de la GI se configura medianteACUMATICA_CANARY_GI.Consentimiento. Tras superar la comprobación de acceso, los usuarios deben aceptar que sus datos serán procesados por un modelo de IA externo antes de que se active la sesión MCP.
Enmascaramiento de campos sensibles. Las respuestas de las herramientas se analizan automáticamente en busca de nombres de campos sensibles (SSN, cuentas bancarias, sueldos, tarjetas de crédito, etc.) y los valores coincidentes se sustituyen por
[REDACTED]. Los patrones se pueden configurar mediante las variables de entornoREDACT_PATTERNSyREDACT_SKIP.Acceso basado en roles. El rol del usuario en Acumatica determina qué registros puede leer. Si un usuario no tiene acceso a un registro en Acumatica, tampoco podrá acceder a él a través del servidor MCP.
Solo lectura. Todas las herramientas actuales son consultas de solo lectura. No se crean, modifican ni eliminan todos.
Límite de peticiones. 3 peticiones simultáneas, 40 peticiones por minuto y un cupo de 1000 registros por consulta por defecto -- todo configurable desde la consola de administración en
/docs/admin/settingssin redeploy. Los límites son por usuario y cuentan las llamadas HTTP a Acumatica (no las invocaciones a herramientas). Los rechazos devuelven un sobre estructurado con unretryAfterSecondsexacto y quedan registrados como eventosrate_limit_hitpara que veas si los topes son demasiado estrictos.Denegación de paginación. Las herramientas de listado/consulta (
acumatica_list_entities,acumatica_run_inquiry,acumatica_list_generic_inquiries) no admiten paginación. Cuando una respuesta alcanzaACUMATICA_MAX_RECORDS, la herramienta devuelve un sobre estructurado (truncated: true,paginationSupported: false,actionRequired: "...") que indica a la IA que se detenga y pida al usuario un filtro más reducido en lugar de recuperar más registros.Registro de auditoría. Todas las invocaciones a herramientas, los eventos de autenticación (inicio de sesión correcto/denegado, aceptación del consentimiento) y los eventos de enmascaramiento de campos se registran como JSON estructurado. Puedes verlos con
npx wrangler sol.
Portabilidad de la plataforma
Aunque el despliegue por defecto apunta a Cloudflare Workers, los manejadores de las herramientas y las librerías centrales son independientes de la plataforma. Una abstracción de almacenamiento (interfaz IKeyValueStore + tipo AppEnv) desacopla la lógica de las herramientas de las API específicas de Cloudflare, lo que permite despliegues autoalojados en Node.js con Redis, SQLite u otros backends de almacenamiento. Consulta la Guía de autoalojamiento para más detalles.
Stack tecnológico
Runtime: Cloudflare Workers + Durable Objects
MCP:
agentsSDK (McpAgent),@modelcontextprotocol/sdkAutenticación:
@cloudflare/workers-oauth-providerEnrutamiento HTTP: Hono
Lenguaje: TypeScript
Validación: Zod
Desarrollo
npx wrangler dev # Start local dev server
npx tsc --noEmit # Type check
npx wrangler tail # Stream live logs from deployed workerLicencia
Apache 2.0 -- Copyright 2026 Hall Boys, Inc.
This server cannot be installed
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
MCP server unifying ERPs, CRMs, APIs and knowledge base for Claude, ChatGPT and Gemini.
Cloud-hosted MCP server for secure AI access to enterprise data sources via CData Connect AI.
The Remote MCP server acts as a standardized bridge between LLM applications (like Claude, ChatGPT, and Cursor) and external services, enabling AI agents to access external tools and resources. Its primary capability is providing a centralized search tool to discover other MCP servers and their respective tools. Unlike local implementations, it runs remotely with OAuth authentication and permission controls for security.
Unified MCP Server is a remote MCP connector for AI agents and vertical AI products that provides access to 22,000+ authorized SaaS tools across 400+ integrations and 24 categories directly inside LLMs (Claude, GPT, Gemini, Cohere). Tools operate only on explicitly authorized customer connections, enabling agents to safely read and write against live third-party systems.
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/NologyAcu/mcp4nology'
If you have feedback or need assistance with the MCP directory API, please join our Discord server