Ops Lense
Ops Lense
Ops Lense es un servidor del Protocolo de Contexto de Modelo (MCP) para operaciones de comercio alojado de forma remota. Ayuda a un especialista en operaciones a investigar pedidos atascados, entender qué salió mal y tomar la siguiente acción segura sin necesidad de un ingeniero para cada incidente.
Esta tarea se centra intencionadamente en un flujo de trabajo en profundidad: la investigación y corrección de pedidos atascados en pedidos, pagos, inventario y cumplimiento.
Qué demuestra
Un operador puede preguntar a un cliente de IA habilitado para MCP cosas como:
¿Por qué este pedido pagado sigue atascado?
La IA puede usar Ops Lense para:
encontrar el pedido;
inspeccionar su línea de tiempo operativa;
diagnosticar la probable falla a partir de los datos del backend;
determinar qué tan seguro se puede realizar la acción propuesta;
previsualizar y ejecutar una corrección acotada después de la confirmación del operador; o
enviar una acción de alto riesgo a una cola de revisión manual en lugar de ejecutarla.
Por lo tanto, el MCP es la interfaz principal del producto, no una integración adicional alrededor de una aplicación separada.
Modelo de seguridad
No todas las operaciones de comercio deberían tener el mismo nivel de autonomía de IA. Ops Lense separa las acciones en tres categorías.
Categoría | Comportamiento | Ejemplos |
Instantáneo | La investigación de solo lectura puede ejecutarse de inmediato | Buscar pedidos, ver línea de tiempo, diagnosticar un pedido, ver estadísticas |
Confirmación requerida | El MCP previsualiza el cambio primero y ejecuta solo después de la aprobación explícita del operador | Resincronizar una reserva de inventario faltante |
Solo revisión manual | El MCP no puede ejecutar la acción; crea una solicitud de revisión pendiente | Reembolsar pago, cancelar un pedido enviado, anular cumplimiento, ajustar inventario |
Flujo de confirmación
resync_inventory_reservation es una operación de escritura protegida.
Primera llamada:
confirmed=falseEl servidor valida el pedido y devuelve el efecto propuesto sin cambiar la base de datos.
Después de que el operador aprueba explícitamente la acción, el cliente puede llamar:
confirmed=trueEl servidor entonces realiza la mutación acotada y registra una entrada de auditoría.
Flujo de revisión manual
Las acciones críticas no están disponibles intencionadamente como mutaciones directas del MCP. request_manual_review crea una entrada de auditoría pending_review.
El proceso separado donde otro operador revisa, aprueba y ejecuta esas solicitudes está deliberadamente fuera del alcance de esta tarea. Las solicitudes pendientes permanecen visibles a través de list_manual_reviews.
Herramientas MCP
Herramienta | Seguridad | Propósito |
| Instantáneo | Encontrar pedidos recientes, opcionalmente filtrados por estado |
| Instantáneo | Ver el historial operativo cronológico de un pedido |
| Instantáneo | Detectar condiciones compatibles de pedido atascado a partir de evidencia de pago y operativa |
| Instantáneo | Ver recuentos agregados de pedidos e ingresos por estado |
| Confirmación requerida | Previsualizar y reparar una reserva de inventario faltante después de aprobación explícita |
| Revisión manual | Poner en cola una operación de alto riesgo sin ejecutarla |
| Instantáneo | Ver solicitudes de revisión manual pendientes |
Recurso MCP
Ops Lense expone un recurso operativo:
ops://action-policyDescribe las tres categorías de acción y las reglas que un cliente MCP debe seguir al elegir o ejecutar herramientas.
Elegí un recurso en lugar de un prompt MCP porque esta es una política operativa estable que debería estar disponible independientemente de cómo formule el usuario su solicitud. Un prompt dedicado añadiría poco valor a este flujo de trabajo deliberadamente limitado.
Ejemplo de flujo de trabajo completo
Un incidente representativo es un pedido donde el pago se capturó con éxito pero falta el paso de reserva de inventario.
El operador pregunta por qué un pedido está atascado.
La IA usa
search_orderssi necesita localizar el pedido.Llama a
get_order_timelinepara inspeccionar lo que ha ocurrido.Llama a
diagnose_orderpara correlacionar el pago y el estado operativo.El diagnóstico identifica
INVENTORY_RESERVATION_MISSINGy recomiendaresync_inventory_reservation.La IA llama a la herramienta con
confirmed=falsey muestra la corrección propuesta al operador.El operador la aprueba.
La IA llama a la herramienta de nuevo con
confirmed=true.El MCP realiza la corrección y escribe un registro de auditoría.
La IA llama a
get_order_timelinede nuevo para verificar el estado resultante.
Una solicitud de alto riesgo sigue un camino diferente. Por ejemplo, si un operador solicita un reembolso, el MCP crea una solicitud de revisión manual en lugar de modificar el estado del pago. La solicitud puede entonces inspeccionarse con list_manual_reviews.
Esto le da a la demo una historia coherente que cubre investigación → diagnóstico → confirmación humana → mutación → verificación → escalamiento.
Arquitectura
MCP-enabled AI client
|
| Streamable HTTP
v
Ops Lense MCP
|
+-- Investigation tools
+-- Diagnostic logic
+-- Safety / action policy
+-- Guarded actions
|
v
Neon PostgreSQL
synthetic commerce dataTecnología:
TypeScript
Bun para desarrollo local y scripts
Node.js 24 en Heroku
Paquetes del servidor del Protocolo de Contexto de Modelo
Transporte HTTP Express
Neon PostgreSQL
Validación de entrada Zod
Los datos sintéticos modelan los sistemas backend mínimos necesarios para el flujo de trabajo: clientes, pedidos, pagos, inventario, cumplimiento, eventos operativos, historial de investigación y registros de auditoría de acciones.
Ejecutar localmente
Prerrequisitos
Necesitas:
Bun
una base de datos PostgreSQL; Neon funciona bien para la demo alojada
1. Instalar dependencias
bun install2. Configurar variables de entorno
Crea un archivo .env en la raíz del proyecto:
DATABASE_URL=postgresql://YOUR_DATABASE_URL
MCP_AUTH_TOKEN=YOUR_STRONG_RANDOM_TOKEN
PORT=30003. Crear la base de datos sintética
bun scripts/setup-db.tsEste comando elimina y recrea las tablas de la tarea. No lo ejecutes contra una base de datos que contenga datos que necesites conservar.
4. Sembrar datos de demostración
bun scripts/seed-db.tsTodos los registros sembrados de clientes, pedidos, pagos, inventario y cumplimiento son sintéticos.
5. Compilar e iniciar el servidor MCP
bun run build
bun run startbun run build compila TypeScript en dist/. El comando de inicio ejecuta entonces el servidor compilado con Node, coincidiendo con la ruta de tiempo de ejecución de Heroku.
El endpoint local del MCP es:
http://localhost:3000/mcpDesplegar en Heroku
El repositorio incluye un Procfile que inicia el dyno web con npm start. Heroku compila el proyecto TypeScript y ejecuta el servidor Node.js compilado.
1. Crear la aplicación en Heroku
heroku create YOUR_APP_NAME2. Configurar la base de datos
Establece la cadena de conexión PostgreSQL y un token bearer fuerte utilizado para proteger el endpoint del MCP:
heroku config:set DATABASE_URL="YOUR_DATABASE_URL" MCP_AUTH_TOKEN="YOUR_STRONG_RANDOM_TOKEN" -a YOUR_APP_NAMEHeroku proporciona PORT automáticamente, por lo que no es necesario configurarlo manualmente.
3. Desplegar
git push heroku HEAD:mainDurante el despliegue, Heroku instala las dependencias de Node y ejecuta el script build. Entonces el dyno web se inicia:
node dist/index.jsEl endpoint del MCP alojado será:
https://YOUR_APP_NAME.herokuapp.com/mcpSi tu aplicación de Heroku usa un dominio personalizado, usa ese dominio con /mcp en su lugar.
4. Verificar el despliegue
heroku logs --tail -a YOUR_APP_NAMEDeberías ver que el servidor MCP se inicia y se vincula al puerto asignado por Heroku.
La base de datos sintética se puede inicializar antes del despliegue desde tu máquina local usando la misma DATABASE_URL, o ejecutando los scripts de configuración y siembra como comandos únicos de Heroku si Bun está disponible en ese entorno. Para la ruta de despliegue más simple, inicializa y siembra Neon localmente antes de desplegar el servidor.
Conectar desde un cliente de IA
Ops Lense usa un endpoint HTTP MCP remoto. En un cliente MCP que soporte servidores HTTP remotos/transmisibles, añade el endpoint y el token bearer:
{
"serverUrl": "http://localhost:3000/mcp",
"headers": {
"Authorization": "Bearer YOUR_STRONG_RANDOM_TOKEN"
}
}Para una instancia desplegada, reemplaza la URL local con la URL MCP alojada y usa el mismo token configurado como MCP_AUTH_TOKEN en el servidor.
Después de conectarse, el cliente debería descubrir las herramientas y el recurso ops://action-policy automáticamente.
Entonces puedes empezar de forma natural, por ejemplo:
Show me recent orders that may need attention.Why is this order stuck? Investigate it and tell me what we can safely do.Show me all actions currently waiting for manual review.Para operaciones que requieren confirmación, la IA debería presentar la vista previa al operador y obtener aprobación explícita antes de hacer la segunda llamada a la herramienta con confirmed=true.
Conectar con MCP Inspector
MCP Inspector es útil para probar el servidor independientemente de un cliente de chat.
Con el servidor local en ejecución:
npx @modelcontextprotocol/inspectorEn Inspector, conéctate a:
http://localhost:3000/mcpEntonces puedes inspeccionar las herramientas/recursos descubiertos e invocar el flujo de trabajo manualmente.
Verificación
Verifica los tipos del proyecto con:
npm run typecheckEjecuta la suite de integración enfocada de Vitest contra la base de datos sintética configurada:
npm testLas pruebas en tests/operations.test.ts crean registros temporales aislados, ejercitan las funciones reales de las herramientas contra PostgreSQL y eliminan esos registros después. Verifican:
un pago capturado con una reserva faltante produce
INVENTORY_RESERVATION_MISSING;los pedidos terminales no se diagnostican como fallas de inventario activas;
confirmed=falseno realiza ninguna mutación;confirmed=truerealiza la corrección de inventario acotada y registra una entrada de auditoría;repetir una resincronización ya completada es un no-op seguro;
una solicitud de reembolso se pone en cola para revisión sin cambiar el estado del pago;
las solicitudes de revisión pendientes duplicadas se suprimen.
La suite contiene actualmente 8 pruebas de integración. Una ejecución exitosa informa 8 passed.
Estas pruebas están intencionadamente centradas en el flujo de trabajo y los límites de seguridad, más que en métricas de cobertura amplias.
Decisiones clave del producto
Mantener el flujo de trabajo limitado
La tarea no intenta construir un backend de comercio completo. Las operaciones de pedidos atascados fueron seleccionadas porque proporcionan un flujo de trabajo compacto que involucra múltiples sistemas, diagnóstico, corrección, seguridad y verificación.
Dar a la IA autonomía útil, no acceso de escritura sin restricciones
Hacer que cada operación sea de solo lectura dejaría al operador dependiente de otro sistema para resolver incluso incidentes simples. Permitir cada mutación crearía un riesgo operativo innecesario.
El modelo de tres niveles proporciona un punto intermedio: la investigación es automática, la corrección acotada requiere confirmación del operador y las acciones consecuentes permanecen detrás de una revisión manual.
Mantener las acciones críticas fuera de la ejecución del MCP
Los reembolsos y operaciones similares podrían representarse técnicamente como mutaciones de base de datos en este proyecto sintético, pero hacerlo demostraría el comportamiento de producción incorrecto. El MCP en su lugar crea una solicitud de revisión y hace explícito el límite.
Mantener la superficie del MCP pequeña
Cada herramienta expuesta tiene un rol claro en el flujo de trabajo elegido. El objetivo es que un cliente de IA seleccione herramientas de manera confiable, no maximizar el número de herramientas disponibles.
Alcance y suposiciones
Incluido:
datos de comercio sintéticos
investigación de pedidos
diagnóstico determinista de la condición de pedido atascado compatible
corrección de inventario protegida
registro de auditoría
cola de revisión manual
interfaz MCP accesible de forma remota
Excluido intencionadamente:
frontend/panel de administración
datos reales de clientes
credenciales de pago o almacén de producción
cuentas de usuario, sesiones, OAuth y control de acceso basado en roles
ejecución directa de reembolsos
interfaz de aprobación/ejecución de revisión manual
backend de comercio completo
flujos de trabajo amplios de devoluciones, fraude, catálogo y soporte al cliente
El servidor de asignaciones alojado utiliza un único token de portador para evitar exponer el MCP públicamente. Para un sistema de producción, sería necesario añadir autenticación consciente de la identidad, autorización/RBAC, rotación de secretos, controles de concurrencia más sólidos, integraciones específicas del proveedor, observabilidad y un flujo de trabajo de revisión completo.
Estructura del repositorio
src/
index.ts
db.ts
resources.ts
tools/
diagnose-order.ts
get-stats.ts
get-timeline.ts
list-manual-reviews.ts
request-manual-review.ts
resync-inventory.ts
search-orders.ts
scripts/
setup-db.ts
seed-db.ts
tests/
operations.test.ts
vitest.config.tsRegistro de trabajo de IA
Esta sección debe contener el uso real de la IA de la tarea antes de la entrega:
Herramientas de codificación de IA y modelos exactos utilizados
por qué se eligió cada modelo para su tarea
cómo se planificó y descompuso el trabajo
responsabilidades manejadas por la IA frente al desarrollador
prompts/contexto importantes proporcionados a la IA
al menos una sugerencia de IA que fue rechazada o modificada sustancialmente
cómo se revisó y verificó el trabajo generado por IA
riesgos restantes o trabajo pendiente
Una decisión de producto que cambió durante el desarrollo fue el tratamiento de las operaciones consecuenciales. En lugar de exponer reembolsos y acciones críticas similares como herramientas MCP ejecutables, se movieron detrás de una cola de revisión manual. Esto preserva una autonomía útil de la IA mientras mantiene las decisiones financiera o operativamente consecuenciales fuera de la ejecución directa del modelo.
Entrega
La entrega final debe incluir:
URL del MCP alojado
URL del repositorio fuente
este README
verificación/pruebas para el comportamiento importante del flujo de trabajo
registro de trabajo de IA completado
demostración asíncrona de 4 a 5 minutos
La demostración debe priorizar el flujo de trabajo real del producto sobre las explicaciones de código: investigar un pedido, diagnosticarlo, previsualizar una remediación segura, confirmarla, verificar el resultado, luego mostrar cómo una acción crítica se dirige a revisión manual.
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
Policy review and purchase discovery for AI-agent commerce actions.
Debug, build, and manage Power Automate cloud flows with AI agents
AI agent run monitoring with incident replay and SLA receipts.
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/qubydev/ops-lense-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server