Sentinel Signal MCP

Herramientas de agente a través de MCP para puntuación de flujos de trabajo, límites/uso y retroalimentación (clave de prueba compatible)

Documentación

Sentinel Signal MCP para Puntuación de Reclamaciones de Salud

MCP Badge

Acceso MCP alojado y local para el flujo de trabajo de puntuación de reclamaciones de salud, uso, límites y retroalimentación.

Alojado Primero

  • Endpoint MCP remoto alojado: https://mcp.sentinelsignal.io/mcp
  • Listado en Smithery: @sentinelsignal/scoring (https://server.smithery.ai/sentinelsignal/scoring)
  • Clave de prueba gratuita sin registro: POST https://token.sentinelsignal.io/v1/keys/trial
  • Paquete local: uvx sentinel-signal-mcp

Inicio Rápido (10 líneas)

uvx sentinel-signal-mcp
export SENTINEL_BASE_URL="https://api.sentinelsignal.io"
export SENTINEL_TOKEN_BASE_URL="https://token.sentinelsignal.io"
# Optional: export SENTINEL_API_KEY="ss_live_or_test_api_key_here"
# If omitted, the MCP server auto-mints a trial key

Endpoint MCP remoto alojado (HTTP Streamable): https://mcp.sentinelsignal.io/mcp

Listado alojado en Smithery: @sentinelsignal/scoring (https://server.smithery.ai/sentinelsignal/scoring)

Si tu cliente MCP admite MCP HTTP remoto, apúntalo a esa URL y envía Authorization: Bearer <SENTINEL_API_KEY>. Para conexiones alojadas en Smithery, la clave se reenvía como x-sentinel-api-key.

Claude Desktop (configuración MCP integrable)

{
  "mcpServers": {
    "sentinel-signal": {
      "command": "uvx",
      "args": ["sentinel-signal-mcp"],
      "env": {
        "SENTINEL_BASE_URL": "https://api.sentinelsignal.io",
        "SENTINEL_TOKEN_BASE_URL": "https://token.sentinelsignal.io"
      }
    }
  }
}

Cursor (misma forma de configuración MCP)

{
  "mcpServers": {
    "sentinel-signal": {
      "command": "uvx",
      "args": ["sentinel-signal-mcp"],
      "env": {
        "SENTINEL_BASE_URL": "https://api.sentinelsignal.io",
        "SENTINEL_TOKEN_BASE_URL": "https://token.sentinelsignal.io"
      }
    }
  }
}

Windsurf puede usar la misma forma de bloque mcpServers.

Este paquete proporciona un servidor MCP stdio local, mientras que el servicio remoto alojado expone las mismas herramientas de reclamaciones de salud a través de HTTP Streamable. Admite cualquiera de las siguientes opciones:

PyPI: https://pypi.org/project/sentinel-signal-mcp/

  • un SENTINEL_API_KEY proporcionado por el usuario, o
  • acuñación automática de clave de prueba sin registro (POST /v1/keys/trial) con almacenamiento seguro de credenciales local

Habilidades (Herramientas MCP)

  • list_workflows — lista los flujos de trabajo admitidos y las versiones de modelo actuales
  • get_workflow_schema — obtiene campos obligatorios, campos opcionales y un ejemplo de carga útil para un flujo de trabajo
  • validate_workflow_payload — valida y normaliza una carga útil de flujo de trabajo antes de puntuar
  • score_workflow — puntúa riesgo de denegación, autorización previa y cargas útiles de reembolso contra un flujo de trabajo nombrado
  • score_batch — puntúa hasta 25 elementos de flujo de trabajo en una sola solicitud
  • get_limits — recupera los límites del plan para la clave actual
  • get_usage — recupera el uso de un mes determinado
  • submit_feedback — envía retroalimentación estructurada de resultados

Inicio rápido (uvx)

  1. Instala uv (si es necesario): https://docs.astral.sh/uv/
  2. Establece variables de entorno (SENTINEL_API_KEY opcional; si se omite, el servidor acuña automáticamente una clave de prueba y la almacena en caché):
export SENTINEL_BASE_URL="https://api.sentinelsignal.io"                      # optional (default shown)
export SENTINEL_TOKEN_BASE_URL="https://token.sentinelsignal.io"  # optional (default shown)
# export SENTINEL_API_KEY="ss_live_or_test_api_key_here"                       # optional
export SENTINEL_TIMEOUT_SECONDS="30"                                           # optional
  1. Ejecuta el servidor MCP:
uvx sentinel-signal-mcp

Comportamiento esperado: instalar herramienta -> (opcionalmente establecer variables de entorno) -> el agente puede llamar a score_workflow.

Si no hay una clave API configurada, el servidor MCP resuelve las credenciales en este orden:

  1. Variable de entorno SENTINEL_API_KEY
  2. Clave de prueba en caché (~/.sentinel/credentials.json por defecto) si no ha expirado y las URL base coinciden
  3. Acuñar una nueva clave de prueba desde POST {SENTINEL_TOKEN_BASE_URL}/v1/keys/trial

Desactiva la prueba automática con SENTINEL_NO_TRIAL=1.

Fragmentos de configuración del cliente MCP

Claude Desktop (ejemplo macOS/Linux)

Agrega esto a tu JSON de configuración MCP (sección mcpServers):

{
  "mcpServers": {
    "sentinel-signal": {
      "command": "uvx",
      "args": ["sentinel-signal-mcp"],
      "env": {
        "SENTINEL_BASE_URL": "https://api.sentinelsignal.io",
        "SENTINEL_TOKEN_BASE_URL": "https://token.sentinelsignal.io",
        "SENTINEL_API_KEY": "ss_live_or_test_api_key_here",
        "SENTINEL_TIMEOUT_SECONDS": "30"
      }
    }
  }
}

Cliente MCP stdio genérico

Si tu cliente acepta una definición de comando + argumentos + entorno:

  • comando: uvx
  • argumentos: ["sentinel-signal-mcp"]
  • entorno:
    • SENTINEL_API_KEY opcional (si se omite, se usa la acuñación automática de prueba a menos que esté deshabilitada)
    • SENTINEL_BASE_URL opcional
    • SENTINEL_TOKEN_BASE_URL opcional
    • SENTINEL_CREDENTIALS_PATH opcional
    • SENTINEL_NO_TRIAL=1 opcional
    • SENTINEL_TIMEOUT_SECONDS opcional

Detalles de las herramientas

list_workflows

Llama a GET /v1/workflows para que los agentes puedan descubrir los flujos de trabajo de salud admitidos y las versiones de modelo actuales antes de puntuar.

Sin argumentos.

get_workflow_schema

Llama a GET /v1/workflows/{workflow}/schema para que los agentes puedan obtener campos obligatorios, campos opcionales, enumeraciones y ejemplos de cargas útiles antes de emitir una puntuación.

Argumentos:

  • workflow (str): ID de flujo de trabajo como healthcare.denial

validate_workflow_payload

Llama a POST /v1/workflows/{workflow}/validate y devuelve la salida de carga útil normalizada más problemas de validación estructurados sin consumir una llamada de puntuación.

Argumentos:

  • workflow (str): ID de flujo de trabajo como healthcare.denial
  • payload (object): objeto de carga útil de flujo de trabajo a validar

score_workflow

Llama al endpoint de puntuación unificada de Sentinel Signal (POST /v1/score).

Argumentos:

  • workflow (str): ID de flujo de trabajo (por ejemplo healthcare.denial, healthcare.prior_auth, healthcare.reimbursement)
  • payload (object): objeto de carga útil de flujo de trabajo
  • options (object, opcional): objeto de opciones de puntuación

Ejemplo de entrada de llamada a herramienta MCP:

{
  "workflow": "healthcare.denial",
  "payload": {
    "payer_id": 44,
    "provider_id": 1021,
    "patient_id": "PT_DEMO_001",
    "patient_age": 57,
    "patient_sex": "F",
    "cpt_code": "99214",
    "icd10_code": "M5450",
    "service_date": "2026-02-13",
    "place_of_service": "11",
    "units": 1,
    "billed_amount": 210.0,
    "allowed_amount": 145.0,
    "claim_frequency_code": "1",
    "network_status": "in_network",
    "prior_authorization_required": true,
    "prior_authorization_on_file": false,
    "referral_on_file": false,
    "is_emergency": false,
    "modifier_1": "25",
    "submission_channel": "edi",
    "data_source": "api"
  },
  "options": {
    "allow_fallback": true,
    "distribution_profile": "commercial_beta",
    "operating_point": "high_recall"
  }
}

get_limits

Llama a GET /v1/limits para la clave API actual.

Sin argumentos.

get_usage

Llama a GET /v1/usage.

Argumentos:

  • month (str, opcional): filtro de mes (por ejemplo 2026-02)

score_batch

Llama a POST /v1/score/batch para puntuar hasta 25 elementos de flujo de trabajo secuencialmente en una sola solicitud.

Argumentos:

  • items (array): lista de elementos de puntuación {workflow, payload, options?}
  • continue_on_error (bool, opcional): si los elementos posteriores deben continuar si un elemento anterior falla

submit_feedback

Llama a POST /v1/feedback con una carga útil de retroalimentación estructurada.

Argumentos:

  • feedback (object): objeto FeedbackRequest sin procesar

Ejemplo de entrada:

{
  "feedback": {
    "request_id": "00000000-0000-0000-0000-000000000001",
    "endpoint": "denial",
    "observed_outcome": "denied",
    "expected_outcome": "paid",
    "confidence_mismatch": true,
    "payer_id": 44,
    "cpt": "99214",
    "denial_reason_code": "AUTH_MISSING",
    "severity": "med",
    "days_to_outcome": 12,
    "notes": "Example feedback payload for agent integration testing."
  }
}

Almacenamiento en caché de clave de prueba (modo de acuñación automática)

Ruta de caché predeterminada:

  • ~/.sentinel/credentials.json (permisos 0600)

La carga útil en caché incluye la clave de prueba más metadatos utilizados por el agente/entorno de ejecución:

{
  "api_key": "ss_trial_...",
  "account_id": "uuid",
  "expires_at": "2026-03-10T00:00:00Z",
  "limits": {
    "monthly_quota": 1000,
    "rps": 1,
    "burst": 5
  },
  "upgrade_url": "https://sentinelsignal.io/portal/dashboard",
  "token_base_url": "https://token.sentinelsignal.io",
  "api_base_url": "https://api.sentinelsignal.io"
}

El servidor MCP almacena ambas URL base en la caché para no reutilizar accidentalmente una clave de prueba en diferentes entornos.

Restablece las credenciales en caché (fuerza una nueva clave de prueba en la próxima ejecución):

uvx sentinel-signal-mcp --reset-credentials

Variables de entorno

  • SENTINEL_BASE_URL (opcional, predeterminado https://api.sentinelsignal.io): URL base de la API de puntuación
  • SENTINEL_TOKEN_BASE_URL (opcional, predeterminado https://token.sentinelsignal.io): URL base del servicio de tokens utilizada para la acuñación de claves de prueba
  • SENTINEL_API_KEY (opcional): si se establece, se usa directamente y nunca se almacena en caché
  • SENTINEL_CREDENTIALS_PATH (opcional, predeterminado ~/.sentinel/credentials.json)
  • SENTINEL_NO_TRIAL (opcional): establece en 1 para deshabilitar la acuñación automática de prueba
  • SENTINEL_TIMEOUT_SECONDS (opcional, predeterminado 30)
  • SENTINEL_API_BASE_URL (alias heredado para SENTINEL_BASE_URL)

Comportamiento de errores para agentes

Las herramientas MCP devuelven cargas útiles estructuradas tanto para el éxito como para fallos operativos comunes:

  • éxito -> {"ok": true, ...}

  • cuota agotada / pago requerido (402) -> {"ok": false, "error": {"action": "upgrade_required", "upgrade_url": "...", ...}}

  • límite de velocidad (429) -> {"ok": false, "error": {"action": "retry_later", ...}}

  • problemas de autenticación/configuración (401/403 o credenciales faltantes) -> {"ok": false, "error": {"action": "configure_credentials", ...}}

Publicación (ruta Python / uvx)

Este paquete está configurado para publicación en PyPI para que los usuarios puedan ejecutarlo con:

uvx sentinel-signal-mcp

Comandos típicos de lanzamiento:

python -m build
python -m twine upload dist/*

Notas de seguridad

  • No confirmes claves API reales ni cargas útiles de clientes.
  • Usa valores de marcador de posición en configuraciones de cliente y ejemplos.
  • Las credenciales de prueba acuñadas automáticamente se almacenan en caché localmente con permisos de archivo 0600.
  • Usa SENTINEL_CREDENTIALS_PATH=/tmp/... para entornos efímeros si no deseas una caché persistente.