sn-mcp-bridge
sn-mcp-bridge
Un servidor ligero del Model Context Protocol (MCP) que otorga a los asistentes de codificación con IA capacidades completas de desarrollo en ServiceNow — sin necesidad de instalación en ningún lugar. Se ejecuta localmente a través de npx y se conecta a ServiceNow mediante la Table API.
ServiceNow es una plataforma de desarrollo basada en registros. Script includes, reglas de negocio, scripts de cliente, acciones de UI, ACLs — cada artefacto de desarrollo es un registro en una tabla del sistema. No existe una "capa de código" separada; la Table API es la API de desarrollo. Eso significa que las operaciones CRUD a través de este servidor no son solo para consultar datos — son la forma en que construyes:
insert_recordensys_script_include→ crear un nuevo script includeupdate_recordensys_script→ modificar una regla de negocioquery_dataensys_script_client→ leer todos los scripts de cliente para una tabladelete_recordensys_ui_action→ eliminar una acción de UI
Para tareas que van más allá de CRUD — probar lógica, ejecutar consultas complejas de GlideRecord, llamar a script includes o transacciones de varios pasos — execute_script proporciona un runtime completo de JavaScript del lado del servidor.
El servidor se ejecuta con los permisos del usuario cuyas credenciales proporciones — solo puede leer/escribir las tablas y campos a los que ese usuario tenga acceso. La herramienta execute_script requiere credenciales de administrador, ya que ejecuta scripts en segundo plano a través de sys.scripts.do.
La autenticación soporta tanto Autenticación Básica como OAuth 2.0 (código de autorización) — ver Autenticación.
Existen muchos servidores MCP de ServiceNow de código abierto compartidos en la comunidad. Este existe para mantenerse simple, puro y fácil de mejorar — JS plano sin paso de compilación (4 archivos fuente, fetch nativo, Node.js 18+), y agregar una herramienta es una llamada a server.registerTool().
Herramientas
CRUD
Herramienta | Descripción |
| Consultar registros de cualquier tabla con consultas codificadas, selección de campos y paginación |
| Recuperar un solo registro por sys_id |
| Crear un nuevo registro |
| Actualizar un registro existente |
| Eliminar un registro por sys_id |
Esquema y Descubrimiento
Herramienta | Descripción |
| Obtener metadatos de tabla incluyendo columnas, tipos, opciones, referencias y jerarquía |
| Listar todos los ámbitos de aplicación en la instancia |
| Listar tablas que pertenecen a un ámbito dado |
| Listar todos los archivos de aplicación para un ámbito, agrupados por tipo |
Analítica
Herramienta | Descripción |
| Ejecutar consultas COUNT, AVG, MIN, MAX, SUM con agrupación opcional |
| Obtener un recuento simple de registros para una tabla y consulta |
Avanzadas
Herramienta | Descripción |
| Buscar en campos de script usando la API nativa de Búsqueda de Código (vuelve a consultas de tabla si el plugin no está disponible) |
| Generar una definición de diagrama de esquema DBML a partir de las tablas y relaciones de la instancia |
| Ejecutar un script en segundo plano en la instancia a través de sys.scripts.do ¹ |
Diagnóstico
Herramienta | Descripción |
| Consultar el registro de aplicación ( |
| Rastrear todas las entradas de registro para una sola transacción ¹ |
| Leer registros a nivel de nodo desde el explorador de archivos de registro de la instancia ¹ |
¹ Estas cuatro herramientas requieren un nombre de usuario y contraseña — ver Autenticación. No se registran cuando solo se configuran credenciales OAuth.
Related MCP server: ServiceNow MCP Server
Autenticación
El puente admite dos modos. Usa OAuth cuando se definen CLIENT_ID, CLIENT_SECRET y GRANT_TYPE; de lo contrario, usa Autenticación Básica.
Todas las variables siguen la misma convención de nomenclatura: <NOMBRE_INSTANCIA> es el subdominio de SN_INSTANCE, en mayúsculas y con guiones reemplazados por guiones bajos (por ejemplo, https://mydev01.service-now.com → SN_MYDEV01_USERNAME). Si una variable con prefijo no está definida, el puente recurre a la forma sin prefijo (SN_USERNAME, SN_CLIENT_ID, …).
Autenticación Básica
Variable | Requerida | Descripción |
| sí | URL de tu instancia (ej. |
| sí | Nombre de usuario para autenticación básica |
| sí | Contraseña para autenticación básica |
Advertencia: Los ejemplos a continuación usan credenciales en texto plano para que puedas empezar rápidamente. Esto significa que tu contraseña se almacena en un archivo en disco y es visible para el asistente de IA en cada llamada API al proveedor de LLM. Una vez que hayas confirmado que la conexión funciona, se recomienda encarecidamente que sigas las instrucciones de Asegurar Credenciales con Secretless AI para mover los secretos en texto plano fuera de tu configuración.
OAuth 2.0 (Código de Autorización)
OAuth mantiene tu contraseña de ServiceNow completamente fuera de la configuración. El puente autoriza una vez a través de tu navegador y luego renueva automáticamente un token de acceso de corta duración.
1. Registrar una aplicación OAuth en ServiceNow. Ve a System OAuth → Application Registry, haz clic en New y elige Create an OAuth API endpoint for external clients. Dale un nombre, establece la Redirect URL en http://localhost:33380/callback y guarda. Copia el Client ID y Client Secret generados.
2. Configurar el puente:
Variable | Requerida | Descripción |
| sí | URL de tu instancia |
| sí | Client ID del Application Registry |
| sí | Client Secret del Application Registry |
| sí |
|
| no | Por defecto |
| no | Sembrar un token de actualización obtenido de otra forma para saltar el paso del navegador |
| no | Establecer en |
Establecer cualquiera de CLIENT_ID / CLIENT_SECRET / GRANT_TYPE sin los demás es un error de inicio en lugar de una recurrencia silenciosa a la Autenticación Básica.
3. Primera ejecución. El puente abre tu navegador en la página de consentimiento de la instancia (la URL también se imprime en stderr si no puede). Después de que apruebes, captura la redirección en localhost:33380 e intercambia el código por tokens.
La primera ejecución se bloquea hasta tres minutos esperando que apruebes en el navegador. Si tu cliente MCP se agota antes de que termines, los tokens normalmente ya se han escrito — solo reconéctate y comenzará silenciosamente.
Almacenamiento de tokens. Los tokens se almacenan en caché en ~/.sn-mcp-bridge/tokens.json (directorio 0700, archivo 0600), indexados por host de instancia y client ID, por lo que múltiples instancias coexisten en un solo archivo. Las ejecuciones posteriores reutilizan el token de actualización almacenado en caché sin interacción con el navegador. Cuando el token de actualización expira (100 días por defecto en ServiceNow), el flujo del navegador se activa automáticamente. Elimina el archivo para forzar una nueva autorización.
Usar ambos juntos
OAuth solo cubre la API REST/Table. execute_script, explore_syslog, explore_syslog_transaction y explore_node_logs acceden a endpoints de UI de ServiceNow (sys.scripts.do, ui_page_process.do) que necesitan una sesión de inicio de sesión de formulario, que un token de portador no puede proporcionar.
Si proporcionas USERNAME y PASSWORD junto con las variables OAuth, el tráfico REST va por OAuth y esas cuatro herramientas usan las credenciales para su inicio de sesión de sesión. Si no lo haces, las cuatro herramientas simplemente no se registran — el asistente nunca las ve.
Inicio Rápido
Claude Code
Agrega a .mcp.json en la raíz de tu proyecto (solo disponible en ese proyecto) o en ~/.claude/claude_code_config.json (disponible en todos los proyectos):
{
"mcpServers": {
"sn_mydev01": {
"command": "npx",
"args": ["-y", "sn-mcp-bridge"],
"env": {
"SN_INSTANCE": "https://mydev01.service-now.com",
"SN_MYDEV01_USERNAME": "your_username",
"SN_MYDEV01_PASSWORD": "your_password"
}
}
}
}OpenAI Codex
Agrega a .codex/config.toml en la raíz de tu proyecto (solo proyecto, requiere un proyecto de confianza) o en ~/.codex/config.toml (disponible en todos los proyectos):
[mcp_servers.sn_mydev01]
command = "npx"
args = ["-y", "sn-mcp-bridge"]
[mcp_servers.sn_mydev01.env]
SN_INSTANCE = "https://mydev01.service-now.com"
SN_MYDEV01_USERNAME = "your_username"
SN_MYDEV01_PASSWORD = "your_password"VS Code (GitHub Copilot)
Agrega a .vscode/mcp.json en tu proyecto:
{
"servers": {
"sn_mydev01": {
"type": "stdio",
"command": "npx",
"args": ["-y", "sn-mcp-bridge"],
"env": {
"SN_INSTANCE": "https://mydev01.service-now.com",
"SN_MYDEV01_USERNAME": "your_username",
"SN_MYDEV01_PASSWORD": "your_password"
}
}
}
}Cursor
Agrega a .cursor/mcp.json en tu proyecto:
{
"mcpServers": {
"sn_mydev01": {
"command": "npx",
"args": ["-y", "sn-mcp-bridge"],
"env": {
"SN_INSTANCE": "https://mydev01.service-now.com",
"SN_MYDEV01_USERNAME": "your_username",
"SN_MYDEV01_PASSWORD": "your_password"
}
}
}
}Usar OAuth en su lugar
Intercambia el par nombre de usuario/contraseña por las variables OAuth. El bloque env a continuación se aplica a cada editor anterior — solo la sintaxis de configuración circundante difiere:
{
"mcpServers": {
"sn_mydev01": {
"command": "npx",
"args": ["-y", "sn-mcp-bridge"],
"env": {
"SN_INSTANCE": "https://mydev01.service-now.com",
"SN_MYDEV01_CLIENT_ID": "your_client_id",
"SN_MYDEV01_CLIENT_SECRET": "your_client_secret",
"SN_MYDEV01_GRANT_TYPE": "authorization_code"
}
}
}
}Para mantener disponibles execute_script y las herramientas de diagnóstico, agrega SN_MYDEV01_USERNAME y SN_MYDEV01_PASSWORD al mismo bloque — ver Usar ambos juntos.
Múltiples Instancias
Agrega una entrada de servidor separada para cada instancia. El formato de configuración es el mismo que el anterior — solo repite el patrón con un nombre de servidor diferente y credenciales específicas de la instancia.
Asegurar Credenciales con Secretless AI
Secretless AI almacena tus credenciales en un backend seguro y las inyecta en tiempo de ejecución mediante secretless-ai run.
Los siguientes ejemplos protegen un nombre de usuario y contraseña, pero el mismo enfoque funciona para SN_MYDEV01_CLIENT_SECRET si estás usando OAuth.
Configuración
1. Almacena tus credenciales:
npx secretless-ai secret set SN_MYDEV01_USERNAME=your_username
# Omit the value so it prompts interactively — keeps the password out of shell history
npx secretless-ai secret set SN_MYDEV01_PASSWORD2. Actualiza tu configuración de MCP para usar secretless-ai run como envoltorio. La bandera --only le indica qué secretos inyectar. SN_INSTANCE no es un secreto y permanece en el bloque env:
{
"mcpServers": {
"sn_mydev01": {
"command": "npx",
"args": ["-y", "secretless-ai", "run", "--only", "SN_MYDEV01_USERNAME,SN_MYDEV01_PASSWORD", "--", "npx", "-y", "sn-mcp-bridge"],
"env": {
"SN_INSTANCE": "https://mydev01.service-now.com"
}
}
}
}Para múltiples instancias, repite el patrón — almacena las credenciales de cada instancia bajo sus nombres con prefijo y agrega una entrada de servidor con la lista --only correspondiente:
{
"mcpServers": {
"sn_mydev01": {
"command": "npx",
"args": ["-y", "secretless-ai", "run", "--only", "SN_MYDEV01_USERNAME,SN_MYDEV01_PASSWORD", "--", "npx", "-y", "sn-mcp-bridge"],
"env": {
"SN_INSTANCE": "https://mydev01.service-now.com"
}
},
"sn_myprod01": {
"command": "npx",
"args": ["-y", "secretless-ai", "run", "--only", "SN_MYPROD01_USERNAME,SN_MYPROD01_PASSWORD", "--", "npx", "-y", "sn-mcp-bridge"],
"env": {
"SN_INSTANCE": "https://myprod01.service-now.com"
}
}
}
}El formato de configuración para otros editores sigue el mismo patrón que se muestra en Inicio rápido — solo reemplaza command/args con el envoltorio sin secretos.
Backends compatibles
Backend | Flag | Mejor para |
OS Keychain |
| macOS (recomendado) — usa el Llavero integrado, protegido por tu contraseña de inicio de sesión y Touch ID |
Local encrypted file |
| Windows (recomendado) — archivo cifrado AES-256-GCM, no necesita software adicional |
1Password |
| Equipos y CI/CD, o usuarios de Windows con 1Password ya instalado |
HashiCorp Vault |
| Implementaciones empresariales y autoalojadas |
GCP Secret Manager |
| Cargas de trabajo nativas de GCP |
Alternativa: protect-mcp
Si tus configuraciones de MCP están en rutas de configuración globales (por ejemplo, ~/.vscode/mcp.json, ~/.cursor/mcp.json), puedes usar protect-mcp para escanearlas y asegurarlas automáticamente de una sola vez:
npx secretless-ai protect-mcp --backend keychainPuedes verificar el estado o revertir con mcp-status y mcp-unprotect:
npx secretless-ai mcp-status
npx secretless-ai mcp-unprotectLimitación:
protect-mcp,mcp-statusymcp-unprotectsolo descubren archivos de configuración globales. No encuentran configuraciones a nivel de espacio de trabajo como.vscode/mcp.json,.mcp.jsono.codex/config.tomldentro de directorios de proyecto. Para configuraciones de espacio de trabajo, usa el enfoque desecret set+runanterior.
Para más detalles sobre Secretless AI, consulta la documentación completa.
Requisitos
Node.js 18+ (para
fetchnativo)Una instancia de ServiceNow con acceso a la API REST
Credenciales de autenticación básica para la instancia, o una aplicación OAuth registrada (consulta Autenticación)
Licencia
MIT
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol server enabling AI agents to access and manipulate ServiceNow data through natural language interactions, allowing users to search for records, update them, and manage scripts.47MIT
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that enables AI assistants and development tools to interact with ServiceNow instances, providing comprehensive API coverage for incident management, change management, CMDB, and other ServiceNow modules.3MIT
- AlicenseNot gradedqualityDmaintenanceA comprehensive MCP server for ServiceNow that provides over 60 pre-built tools for ITSM, ITOM, and App Dev operations, enabling AI agents to manage incidents, changes, users, service catalog, and projects through a unified interface.6MIT
- AlicenseAqualityAmaintenanceAn MCP server that enables AI assistants to interact with ServiceNow instances, allowing script execution, data querying, ATF tests, and log tailing through natural language commands.8736413MIT
Related MCP Connectors
MCP server for secureFlows: token-free URL builders and integration-linting tools for AI agents.
MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.
MCP server for AI access to Swagger by SmartBear.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Reecepoulsen/sn-mcp-bridge'
If you have feedback or need assistance with the MCP directory API, please join our Discord server