Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Descripción del creador (original en inglés)
Multi-instance read-only MCP server for ServiceNow
Estos tres nunca se combinan en una sola puntuación: las opiniones, las mediciones y la popularidad son cosas distintas.
Todavía no escribimos un resumen sencillo para este. Abajo están los datos que leímos del registro.
Elige la app de IA que usas y copia la configuración.
SN_INSTANCE_CONFIG, SN_MCP_SERVER_VERBOSE, SN_LOG_DIR, GITHUB_TOKENLos valores marcados como secretos son llaves de tu cuenta. Nunca los compartas ni los pegues en un chat.
Necesitas
¿Qué app usas?
Elige tu app arriba. La recordamos, así que la próxima vez el botón dirá “Instalar en …”.
Abre Claude Desktop → Settings → Developer → Edit Config y pega esto en claude_desktop_config.json
{
"mcpServers": {
"sn": {
"command": "npx",
"args": [
"-y",
"@imjaineel-dev/sn-mcp-server"
],
"env": {
"SN_INSTANCE_CONFIG": "your-value",
"SN_MCP_SERVER_VERBOSE": "your-value",
"SN_LOG_DIR": "your-value",
"GITHUB_TOKEN": "your-value"
}
}
}
}Ejecuta esto en tu terminal
claude mcp add sn --env SN_INSTANCE_CONFIG=your-value --env SN_MCP_SERVER_VERBOSE=your-value --env SN_LOG_DIR=your-value --env GITHUB_TOKEN=your-value -- npx -y @imjaineel-dev/sn-mcp-serverCompleta los valores vacíos antes de ejecutarlo.
Pégalo en .cursor/mcp.json de tu proyecto, o en ~/.cursor/mcp.json
{
"mcpServers": {
"sn": {
"command": "npx",
"args": [
"-y",
"@imjaineel-dev/sn-mcp-server"
],
"env": {
"SN_INSTANCE_CONFIG": "your-value",
"SN_MCP_SERVER_VERBOSE": "your-value",
"SN_LOG_DIR": "your-value",
"GITHUB_TOKEN": "your-value"
}
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
Pégalo en .vscode/mcp.json de tu proyecto
{
"servers": {
"sn": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@imjaineel-dev/sn-mcp-server"
],
"env": {
"SN_INSTANCE_CONFIG": "your-value",
"SN_MCP_SERVER_VERBOSE": "your-value",
"SN_LOG_DIR": "your-value",
"GITHUB_TOKEN": "your-value"
}
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
Este se ejecuta en tu computadora, y ChatGPT solo puede conectarse a servidores en internet. Elige otra app.
Tu elección se guarda en una cookie en este dispositivo; no necesitas cuenta.
SN_MCP_SERVER_VERBOSE envSN_LOG_DIR envEsta configuración se genera a partir de la ficha del creador en el registro. Si el README dice otra cosa, sigue el README.
Se ejecuta en tu computadora; la lista de herramientas aparece en tu app de IA después de instalarlo.
Revisamos información que cualquiera puede ver; no hemos leído el código. Las revisiones que no aplican no se cuentan. · Revisado el 8 nov 2026
El nombre en el registro se verificó con la cuenta de GitHub ImJaineel, dueña del repo
Todavía no hemos leído este repo en GitHub
Todavía no hemos leído este repo en GitHub
Este se ejecuta en tu computadora; no hay endpoint en internet
Se ejecuta en tu computadora y usa ajustes locales en su lugar
Se ejecuta en tu computadora; solo podemos leer listas de herramientas de endpoints en internet
Comparado con todos los servidores activos de esta categoría en el registro. Las estrellas solo cuentan cuando quien lo publica es dueño del repo.
Superó 1 de 1 revisiones básicas aplicables. No hemos leído el código. Antes de agregar una clave o un token, revisa qué acceso pide el servidor y usa una clave que tenga solo los permisos que necesitas.
Debes completar: SN_INSTANCE_CONFIG, GITHUB_TOKEN
Se ejecuta en tu computadora. Tu app de IA lo inicia cuando hace falta, y los datos no pasan por los servidores del creador (a menos que el propio servidor llame a un servicio en línea).
El repo de GitHub cambió por última vez –, y la última versión (2.2.22) llegó al registro hace 3 meses.
Las apps compatibles con MCP, como Claude Desktop, Claude Code, Cursor y VS Code. También necesitas Node.js en tu computadora.
En la misma categoría: Spec Driven Development, Remote Desktop Commander, ProAgentStore
Servidores de la misma categoría hechos por otros creadores, ordenados por estrellas.
Cómo leer una tarjeta:★ Estrellas de GitHubiTres pilares: reseñas · revisiones · usoiActualizado = fecha en que se publicó la última versión en el registroi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
MCP-first control plane for ProAgentStore agents and private instances.
Copiado tal cual del repo del creador. PopNx MCP no lo ha revisado ni lo respalda. Se quitaron HTML, imágenes y scripts. Los enlaces llevan fuera de este sitio.
A read-only Model Context Protocol (MCP) server for ServiceNow — built for developers, AI workflows, and tools that need deep visibility into ServiceNow across multiple instances (Prod, Dev, Test, PDI).
sn_sdk_explain tool is registered when now-sdk is installed globally (npm install -g now-sdk)SN_MCP_VERBOSE=truesn_read_docs searches the ServiceNowDocs repo, returns file_path/raw_url for direct reads, and can resolve the selected branch when a non-default version is requestednpx @imjaineel-dev/sn-mcp-server --config ./sn-instance.json
git clone https://github.com/ImJaineel/SN-MCP-Server.git
cd SN-MCP-Server npm install npm start # auto-detects sn-instance.json in repo root
sn-instance.json{
"default": "dev", "instances": [ { "alias": "prod", "label": "Production", "instance": "mycompany-prod", "auth": "oauth2", "grant_type": "client_credentials", "client_id": "your-client-id", "client_secret": "your-client-secret" }, { "alias": "dev", "label": "Development", "instance": "mycompany-dev", "auth": "basic", "username": "svc_mcp_readonly", "password": "your-password-here" } ] }
📄 Full example: sn-instance.example.json
| Field | Required | Description |
|---|---|---|
alias | ✅ | Short name used in tool calls ("prod", "dev-2") |
instance | ✅ | Subdomain ("mycompany-dev") or full URL ("https://...") |
auth | optional | "basic" (default) or "oauth2" |
label | optional | Human-friendly display name |
default | optional | Use either a top-level "default" alias or per-entry "default": true to select the default instance |
auth: "basic")| Field | Required | Description |
|---|---|---|
username | ✅ | Service account username |
password | ✅ | Password or API token |
auth: "oauth2")| Field | Required | Description |
|---|---|---|
grant_type | ✅ | "client_credentials", "password", "authorization_code", or "jwt_bearer" |
client_id / client_secret | ✅ | OAuth application credentials |
username / password | conditional | Required for password grant |
refresh_token | conditional | Required for authorization_code grant |
jwt_private_key / jwt_subject | conditional | Required for jwt_bearer grant (PEM key string & subject user) |
jwt_issuer | optional | Optional issuer value for jwt_bearer |
token_url | optional | Override the default token endpoint (default: /oauth_token.do) |
Default selection is resolved in this order:
"default" alias in the config object"default": trueAll optional — set them in your shell, in the MCP client "env" block, or in a .env file at the project root. Values from the shell take precedence over .env.
Note: If you are running the server from a local clone, a root-level
.envfile is loaded automatically at startup.
| Variable | Description | Default |
|---|---|---|
SN_INSTANCE_CONFIG | Path to sn-instance.json | Auto-resolved |
SN_MCP_VERBOSE | Set to "true" to enable debug logs | false |
LOGS_TIMEZONE | IANA timezone for log timestamps (CURRENT, GLOBAL, or a named zone) | CURRENT |
SN_LOG_DIR | Override log file directory | OS temp folder |
GITHUB_TOKEN | GitHub Personal Access Token for sn_read_docs (branch lookup and GitHub search) | none |
CLI flags are also supported as an alternative to environment variables:
--config → sets SN_INSTANCE_CONFIG--verbose → sets SN_MCP_VERBOSE=true--github-token → sets GITHUB_TOKENVS Code: Press
Ctrl+Shift+P, select Add MCP
Claude Desktop: Edit
~/Library/Application Support/Claude/claude_desktop_config.json(macOS) or%APPDATA%\Claude\claude_desktop_config.json(Windows)
Gemini Code Assist: Create or edit
~/.gemini/mcp.json
Amazon Q: Create or edit
~/.aws/amazonq/mcp.json
Using npx (recommended):
{
"mcpServers": { "servicenow": { "command": "npx", "args": ["sn-mcp-server", "--config", "/absolute/path/to/sn-instance.json"], } } }
Using local clone:
{
"mcpServers": { "servicenow": { "command": "node", "args": ["/absolute/path/to/SN-MCP-Server/src/index.js"] } } }
⚠️ Always use absolute paths in MCP client configs.
# Standard start (auto-detects ./sn-instance.json)
npm start
node src/index.js --config /path/to/sn-instance.json
npm run dev node src/index.js --config ./sn-instance.json --verbose
npm run watch
npm run inspect
npx sn-mcp-server --help
Each server run creates a new timestamped log file:
2026-04-09T14-32-01.123Z.log
Stored in the OS temp directory:
| OS | Default log location |
|---|---|
| Windows | %TEMP%\ImJaineel_SN-MCP-Instance_logs\ |
| macOS | $TMPDIR/ImJaineel_SN-MCP-Instance_logs/ |
| Linux | /tmp/ImJaineel_SN-MCP-Instance_logs/ |
Override with SN_LOG_DIR env var. Log files are cleaned up automatically by the OS on reboot.
The startup banner always prints the exact log file path:
Log file : /tmp/ImJaineel_SN-MCP-Instance_logs/2026-04-09T14-32-01.123Z.log
The server exposes 16 tools at runtime when the current environment supports them:
sn-instance.json| Tool | Description | Visibility |
|---|---|---|
sn_list_instances | List all configured instances and their aliases, labels, and URLs. | Visible when sn-instance.json is configured and loaded. |
sn_ping | Test connectivity to a specific instance or the default instance. | Visible when sn-instance.json is configured and loaded. |
sn_get_identity | Query users, groups, and group membership from identity tables. | Visible when sn-instance.json is configured and loaded. |
sn_inspect_table | Inspect table schema or search for matching tables by name/label. | Visible when sn-instance.json is configured and loaded. |
sn_aggregate_table | Run aggregate queries such as count, sum, avg, min, and max. | Visible when sn-instance.json is configured and loaded. |
sn_query_table | Generic read from any ServiceNow table with encoded queries, fields, paging, and display values. | Visible when sn-instance.json is configured and loaded. |
sn_get_record | Resolve and fetch a record by sys_id, record number, task table, or CMDB CI class. | Visible when sn-instance.json is configured and loaded. |
sn_get_attachment | Fetch attachment metadata or file content from the Attachment API. | Visible when sn-instance.json is configured and loaded. |
sn_get_update_sets | List update sets or drill into the files inside a specific update set. | Visible when sn-instance.json is configured and loaded. |
sn_code_search | Search scripting artifacts using the native ServiceNow Code Search API. | Visible when sn-instance.json is configured and loaded. |
sn_get_scripted_artifacts | Fetch Script Includes, Business Rules, Client Scripts, UI Actions, Scheduled Jobs, Fix Scripts, and Scripted REST artifacts. | Visible when sn-instance.json is configured and loaded. |
sn_legacy_workflow_search | Search classic workflow activity variable values and resolve the owning workflow versions. | Visible when sn-instance.json is configured and loaded. |
sn_get_legacy_workflow_artifacts | Fetch legacy workflow artifacts from wf_* tables. | Visible when sn-instance.json is configured and loaded. |
sn_get_workflow_studio_artifacts | Fetch Workflow Studio and Flow Designer artifacts from sys_hub_* and related tables. | Visible when sn-instance.json is configured and loaded. |
| Tool | Description | Visibility |
|---|---|---|
sn_read_docs | Search, browse, and read ServiceNowDocs markdown by release branch. Search mode returns file_path and raw_url values for direct reads, and get_file accepts either a raw GitHub URL or a repo-relative path. | Always visible. |
sn_sdk_explain | Query the ServiceNow SDK for explanations of SDK skills, APIs, and concepts via now-sdk. | Visible only when now-sdk is installed and can be executed successfully. |
sn-instance.json provided). In that mode, only the 2 knowledge tools remain visible.now-sdk; if the package is not installed or cannot be executed, the tool is omitted entirely. Install it globally with: npm install -g now-sdkinstance parameter. If omitted, the server uses the configured default instance.sn_get_scripted_artifacts table="sys_script_include" query="nameLIKEMorpheus" instance="prod"
sn_query_table table="incident" query="state=1" instance="dev" sn_get_update_sets instance="pdi"
{ "tool": "sn_query_table", "table": "incident", "query": "active=true", "limit": 5 }
{ "tool": "sn_read_docs", "mode": "search", "search": "Install the ServiceNow SDK in an application", "version": "australia" }
Use mode": "get_file" with the returned file_path or raw_url to read the matching doc.
{ "tool": "sn_get_record", "number": "INC0012345" }
{ "tool": "sn_legacy_workflow_search", "query": "morpheus", "instance": "prod" }
`json
Solo se muestra el principio; lee el resto en el repo