Servidor MCP de ServiceNow
Un servidor de Protocolo de Contexto de Modelo (MCP) que interactúa con ServiceNow, lo que permite a los agentes de IA acceder y manipular los datos de ServiceNow a través de una API segura. Este servidor permite interacciones en lenguaje natural con ServiceNow, lo que facilita la búsqueda de registros, su actualización y la gestión de scripts.
Características
Recursos
servicenow://incidents: Lista de incidentes recientesservicenow://incidents/{number}: Obtener un incidente específico por númeroservicenow://users: Lista de usuariosservicenow://knowledge: Lista de artículos de conocimientoservicenow://tables: Lista de tablas disponiblesservicenow://tables/{table}: Obtener registros de una tabla específicaservicenow://schema/{table}: Obtener el esquema de una tabla
Herramientas
Herramientas básicas
create_incident: Crea un nuevo incidenteupdate_incident: Actualizar un incidente existentesearch_records: busca registros mediante una consulta de textoget_record: Obtener un registro específico por sys_idperform_query: Realizar una consulta contra ServiceNowadd_comment: Agregar un comentario a un incidente (visible para el cliente)add_work_notes: Agregar notas de trabajo a un incidente (interno)
Herramientas de lenguaje natural
natural_language_search: busca registros utilizando lenguaje natural (p. ej., "encontrar todos los incidentes sobre SAP")natural_language_update: Actualizar registros usando lenguaje natural (p. ej., "Actualizar incidente INC0010001 indicando que estoy trabajando en ello")update_script: actualiza los archivos de script de ServiceNow (incluye scripts, reglas comerciales, etc.)
Related MCP server: SupaUI MCP Server
Instalación
Desde PyPI
pip install mcp-server-servicenowDe la fuente
git clone https://github.com/michaelbuckner/servicenow-mcp.git
cd servicenow-mcp
pip install -e .Uso
Línea de comandos
Ejecute el servidor usando el módulo Python:
python -m mcp_server_servicenow.cli --url "https://your-instance.service-now.com/" --username "your-username" --password "your-password"O utilice 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.cliConfiguración en Cline
Para utilizar este servidor MCP con Cline, agregue lo siguiente a su 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úrese de utilizar la ruta completa al ejecutable de Python que tiene instalado el paquete mcp-server-servicenow .
Ejemplos de lenguaje natural
Buscando registros
Puede buscar registros utilizando consultas en lenguaje natural:
find all incidents about email
search for incidents related to network issues
show me all incidents with high priorityActualización de registros
Puede actualizar registros utilizando comandos de lenguaje natural:
Update incident INC0010001 saying I'm working on it
Set incident INC0010002 to in progress
Close incident INC0010003 with resolution: fixed the issueAdministrar scripts
Puede actualizar los 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 admite múltiples métodos de autenticación:
Autenticación básica : nombre de usuario y contraseña
Autenticación de token : token OAuth
Autenticación OAuth : ID de cliente, secreto de cliente, nombre de usuario y contraseña
Desarrollo
Prerrequisitos
Python 3.8+
Instancia de ServiceNow con acceso a 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
pytestContribuyendo
¡Agradecemos sus contribuciones! No dude en enviar una solicitud de incorporación de cambios.
Bifurcar el repositorio
Crea tu rama de funciones (
git checkout -b feature/amazing-feature)Confirme sus cambios (
git commit -m 'Add some amazing feature')Empujar a la rama (
git push origin feature/amazing-feature)Abrir una solicitud de extracción
Licencia
Este proyecto está licenciado bajo la licencia MIT: consulte el archivo de LICENCIA para obtener más detalles.