SafetyCulture MCP Server

Haga preguntas en lenguaje natural sobre sus datos de SafetyCulture utilizando la API de SafetyCulture.

Documentación

SafetyCulture MCP Server

Un servidor de Model Context Protocol (MCP) para la API de SafetyCulture. Este proyecto permite a los usuarios hacer preguntas en lenguaje natural sobre sus datos de SafetyCulture después de proporcionar una clave de API.

Características

  • Consultar datos de SafetyCulture usando lenguaje natural
  • Analizar datos de inspección y tendencias
  • Comparar métricas de seguridad entre períodos de tiempo y categorías
  • Visualizar tendencias de inspección a lo largo del tiempo

Configuración

  1. Clona este repositorio
  2. Instala las dependencias: pip install -r requirements.txt
  3. Copia example.env a .env y configura tu clave de API de SafetyCulture
  4. Ejecuta el servidor usando uno de estos métodos:
    • run_server.bat - Ejecuta el servidor con la configuración del archivo .env
    • run_with_key.bat YOUR_API_KEY - Ejecuta el servidor con la clave de API proporcionada

Probando la API

Para probar si tu clave de API de SafetyCulture funciona correctamente:

test_api.bat YOUR_API_KEY

Opciones de prueba adicionales:

  • test_api.bat - Ejecuta las pruebas en modo interactivo (solicita la clave de API)
  • test_api.bat feed YOUR_API_KEY - Prueba solo la API Feed
  • test_api.bat url - Verifica qué URLs de API son accesibles sin autenticación

Uso con Claude for Desktop

  1. Instala Claude for Desktop
  2. Configura Claude for Desktop para usar este servidor MCP editando el archivo de configuración en ~/Library/Application Support/Claude/claude_desktop_config.json (Mac) o %APPDATA%\Claude\claude_desktop_config.json (Windows)
  3. Agrega la siguiente configuración:
{
    "mcpServers": {
        "safetyculture": {
            "command": "python",
            "args": [
                "/path/to/your/project/src/main.py"
            ]
        }
    }
}
  1. Reinicia Claude for Desktop
  2. Usa las herramientas MCP para consultar tus datos de SafetyCulture con preguntas como:
    • "¿Cuántas inspecciones se realizaron en este sitio durante los últimos 3 meses?"
    • "Compara las tendencias en el aumento de informes de lesiones para esta categoría"

Herramientas Disponibles

Autenticación

  • authenticate: Autentícate con la API de SafetyCulture usando tu clave de API

Datos de Inspección (Usando la API Feed)

  • get_inspections: Obtén inspecciones de SafetyCulture para un período de tiempo específico
  • get_inspection_trends: Analiza tendencias en las inspecciones de SafetyCulture a lo largo del tiempo
  • compare_injury_reports: Compara informes de lesiones entre dos períodos de tiempo

Datos de Acciones (Usando la API Feed)

  • get_actions: Obtén acciones de SafetyCulture para un período de tiempo específico
    • Filtra por estado (por ejemplo, 'in_progress', 'completed', 'overdue')
    • Filtra por prioridad (por ejemplo, 'low', 'medium', 'high')
    • Consulta información detallada sobre cada acción
  • get_action_details: Obtén información detallada sobre una acción específica por ID

Acerca de la API Feed

Este servidor MCP usa la API Feed de SafetyCulture, que proporciona una forma sencilla de acceder a colecciones de recursos:

  • /feed/inspections: Para listar inspecciones con varios parámetros de filtro
  • /feed/actions: Para listar acciones con varios parámetros de filtro

La API Feed se prefiere sobre los endpoints de recursos individuales cuando necesitas listar múltiples elementos.

Desarrollo

Estructura del Proyecto

.
├── README.md
├── requirements.txt
├── example.env
└── src/
    ├── main.py                      # Main entry point
    ├── safetyculture_api/           # SafetyCulture API client
    │   ├── __init__.py
    │   └── client.py                # API client implementation
    ├── tools/                       # MCP tools
    │   ├── __init__.py
    │   └── inspection_tools.py      # Inspection and action tools
    └── utils/                       # Utility modules
        ├── __init__.py
        ├── analysis.py              # Data analysis utilities
        ├── config.py                # Configuration management
        └── date_utils.py            # Date parsing utilities

Registro de Desarrollo

Configuración Inicial

  • Se creó la estructura del proyecto
  • Se configuró el repositorio git
  • Se agregaron README y requirements
  • Se implementó el cliente de la API de SafetyCulture
  • Se agregaron herramientas MCP para consultar datos de inspección
  • Se agregaron módulos de utilidad para análisis de fechas y análisis de datos
  • Se agregó la gestión de configuración