ServiceNow MCP Server

Un servidor MCP para interactuar con ServiceNow, que permite a los agentes de IA acceder y manipular datos a través de una API segura.

Documentación

Servidor MCP de ServiceNow

License: MIT

Un servidor de Model Context Protocol (MCP) que se integra con ServiceNow, permitiendo a los agentes de IA acceder y manipular datos de ServiceNow a través de una API segura. Este servidor permite interacciones en lenguaje natural con ServiceNow, facilitando la búsqueda de registros, su actualización y la gestión de scripts.

Características

Recursos

  • servicenow://incidents: Listar incidentes recientes
  • servicenow://incidents/{number}: Obtener un incidente específico por número
  • servicenow://users: Listar usuarios
  • servicenow://knowledge: Listar artículos de conocimiento
  • servicenow://tables: Listar tablas disponibles
  • servicenow://tables/{table}: Obtener registros de una tabla específica
  • servicenow://schema/{table}: Obtener el esquema de una tabla

Herramientas

Herramientas Básicas

  • create_incident: Crear un nuevo incidente
  • update_incident: Actualizar un incidente existente
  • search_records: Buscar registros usando consultas de texto
  • get_record: Obtener un registro específico por sys_id
  • perform_query: Realizar una consulta contra ServiceNow
  • add_comment: Añadir un comentario a un incidente (visible para el cliente)
  • add_work_notes: Añadir notas de trabajo a un incidente (interno)

Herramientas de Lenguaje Natural

  • natural_language_search: Buscar registros usando lenguaje natural (ej., "encuentra todos los incidentes sobre SAP")
  • natural_language_update: Actualizar registros usando lenguaje natural (ej., "Actualiza el incidente INC0010001 diciendo que estoy trabajando en ello")
  • update_script: Actualizar archivos de scripts de ServiceNow (script includes, reglas de negocio, etc.)

Instalación

Desde PyPI

pip install mcp-server-servicenow

Desde el Código Fuente

git clone https://github.com/michaelbuckner/servicenow-mcp.git
cd servicenow-mcp
pip install -e .

Uso

Línea de Comandos

Ejecuta el servidor usando el módulo de Python:

python -m mcp_server_servicenow.cli --url "https://your-instance.service-now.com/" --username "your-username" --password "your-password"

O usa variables de entorno:

export SERVICENOW_INSTANCE_URL="https://your-instance.service-now.com/"
export SERVICENOW_USERNAME="your-username"
export SERVICENOW_PASSWORD="your-password"
python -m mcp_server_servicenow.cli

Configuración en Cline

Para usar este servidor MCP con Cline, añade lo siguiente a tu archivo de configuración de MCP:

{
  "mcpServers": {
    "servicenow": {
      "command": "/path/to/your/python/executable",
      "args": [
        "-m",
        "mcp_server_servicenow.cli",
        "--url", "https://your-instance.service-now.com/",
        "--username", "your-username",
        "--password", "your-password"
      ],
      "disabled": false,
      "autoApprove": []
    }
  }
}

Nota: Asegúrate de usar la ruta completa al ejecutable de Python que tenga instalado el paquete mcp-server-servicenow.

Ejemplos de Lenguaje Natural

Búsqueda de Registros

Puedes buscar registros usando consultas en lenguaje natural:

find all incidents about email
search for incidents related to network issues
show me all incidents with high priority

Actualización de Registros

Puedes actualizar registros usando comandos en lenguaje natural:

Update incident INC0010001 saying I'm working on it
Set incident INC0010002 to in progress
Close incident INC0010003 with resolution: fixed the issue

Gestión de Scripts

Puedes actualizar scripts de ServiceNow desde archivos locales:

Update the ServiceNow script include "HelloWorld" with the contents of hello_world.js
Upload utils.js to ServiceNow as a script include named "UtilityFunctions"
Update @form_validation.js, it's a client script called "FormValidation"

Métodos de Autenticación

El servidor soporta múltiples métodos de autenticación:

  1. Autenticación Básica: Nombre de usuario y contraseña
  2. Autenticación por Token: Token OAuth
  3. Autenticación OAuth: ID de Cliente, Secreto de Cliente, Nombre de Usuario y Contraseña

Desarrollo

Requisitos Previos

  • Python 3.8+
  • Instancia de ServiceNow con acceso a la API

Configuración del Entorno de Desarrollo

# Clone the repository
git clone https://github.com/michaelbuckner/servicenow-mcp.git
cd servicenow-mcp

# Create a virtual environment
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate

# Install development dependencies
pip install -e ".[dev]"

Ejecución de Pruebas

pytest

Contribuciones

¡Las contribuciones son bienvenidas! No dudes en enviar un Pull Request.

  1. Haz un fork del repositorio
  2. Crea tu rama de características (git checkout -b feature/amazing-feature)
  3. Haz commit de tus cambios (git commit -m 'Add some amazing feature')
  4. Haz push a la rama (git push origin feature/amazing-feature)
  5. Abre un Pull Request

Licencia

Este proyecto está licenciado bajo la Licencia MIT - consulta el archivo LICENSE para más detalles.