Saltar al contenido

Agentes de IA y MCP

Los agentes de IA están en producción y necesitan pedir permiso a personas con seguridad, trazabilidad y poca fricción. notific.me les da dos caminos: el SDK y el servidor MCP oficial.

El servidor MCP tiene dos funciones:

  1. Humano en el circuito. El agente pide aprobación o hace una pregunta y espera la respuesta firmada. También avisa lo que está haciendo.
  2. Administración del workspace. Configura y audita todo el workspace (servicios, tokens, reglas, hooks, webhooks, auditoría, uso), siempre limitado a los alcances del token y, por defecto, con aprobación humana en cada escritura.
Elemento Valor
Transporte Streamable HTTP, sin sesión, respuestas JSON
URL https://<api>/v0/mcp
Autenticación Authorization: Bearer nm_svc_… (token de servicio)
Herramientas Solo las que permiten los alcances del token (tools/list ya viene filtrado)

Crea un servicio de tipo agente de IA en Servicios y tokens y luego un token. La pantalla Agentes de app.notific.me muestra los comandos exactos de tu cuenta.

Ventana de terminal
claude mcp add --transport http notificme https://api.notific.me/v0/mcp --header "Authorization: Bearer nm_svc_..."
Herramienta Alcance Qué hace
whoami cualquiera Workspace, servicio, alcances, alcances bloqueados, límites y herramientas disponibles.
request_approval asks:write (+asks:read para esperar) Pregunta sí/no con resumen, detalles, riesgo, nivel y plazo. Espera hasta 55 s por llamada y devuelve approved, status, note y as_text.
ask_human asks:write Grupo de preguntas completo (sí/no, opciones, texto, número, fecha), con espera opcional.
get_answer asks:read Estado y respuesta de una pregunta (long-poll hasta 55 s).
notify events:write Envía un evento: título, resumen, severidad, tipo, card_id para tarjetas vivas, dedup_key, ttl, expires_when.

Con workspace:read, el agente puede leer todo (list_rules, simulate_event, search_events, get_usage…). Con alcances de escritura obtiene create_rule, put_hook, create_token, resend_webhook y otras. audit:read agrega search_audit y list_agent_activity.

Recursos: notificme://guide (la guía del agente: cómo preguntar, niveles, buenas prácticas, qué es texto no confiable), notificme://schemas/{event,question-set,card,reply} y notificme://workspace. Prompts: human_approval_gate, audit_review y design_rules.

Cada token tiene approval_scopes: alcances de escritura que necesitan la aprobación de una persona cada vez que se usan. Los tokens de servicios ai_agent nacen con la aprobación activada en todos sus alcances de escritura. El bloqueo lo aplica la API, no solo el MCP, así un agente no puede evitarlo llamando a la REST directamente.

Aprobación humana para la escritura de un agenteEl token de un agente de IA intenta una escritura bloqueada y recibe 403 approval_required. Crea una aprobación con POST /v0/approvals, que se convierte en una pregunta para los dueños del workspace. Una persona aprueba o rechaza en la app. El agente repite exactamente la misma petición con la cabecera Notificme-Approval; el servidor verifica token, método, ruta y hash del cuerpo, consume la aprobación una vez y la ejecuta. Por MCP, wait_for_approval lo hace solo.El agente intenta escribirej.: delete_rule403 approval_requiredalcance + request_hashPOST /v0/approvalsmétodo · ruta · cuerpo· motivoPregunta a los dueñosmotivo marcado comotexto del agenteUna persona decideaprueba o rechazaen la appMisma petición otra vez+ Notificme-Approvalun solo uso, 15 minEjecutada y auditadaauditoría: via mcp+ approval_idaprobada
  1. El token intenta una escritura bloqueada y recibe 403 approval_required con el alcance y un request_hash.
  2. Pide aprobación con POST /v0/approvals (método, ruta, cuerpo y motivo). El servidor crea una pregunta para los dueños del workspace mostrando lo que va a pasar, el cuerpo con los secretos enmascarados y el motivo marcado como texto del agente no verificado.
  3. Una persona aprueba o rechaza en la app.
  4. El token repite exactamente la misma petición con la cabecera Notificme-Approval: <approval_id>. El servidor verifica token, método, ruta y hash del cuerpo, consume la aprobación (un solo uso, válida 15 minutos) y la ejecuta.

Por MCP esto es automático: la herramienta de escritura devuelve {"status": "approval_pending", "approval_id": …} y wait_for_approval espera la decisión y, si se aprueba, ejecuta la operación guardada.

  • Fail closed: cualquier ruta del workspace sin alcance asignado responde 403 a los tokens.
  • Un token solo ve su propio workspace.
  • Las personas responden, los tokens no: POST /v0/replies siempre exige la sesión de una persona.
  • Invitar personas, cambiar roles, quitar miembros y crear workspaces exigen una persona (403 user_session_required).
  • Un token emitido por otro token solo puede tener un subconjunto de sus alcances, debe mantener sus bloqueos de aprobación y vence en 90 días como máximo.
  • El texto libre de personas (note, free_text) y de eventos se marca como no confiable en los resultados de las herramientas.
  • Cada llamada a una herramienta queda en Agentes → Actividad durante 90 días, sin secretos, y cada escritura aparece en la Auditoría con via: "mcp" y el approval_id.