Queries ServiceNow tables, schema, aggregates, CMDB items and update sets, with read-only tools for read-only identities.
Setup
Choose your client, copy the config, then fill in any required environment variables.
claude mcp add servicenow-server-jschuller --env SERVICENOW_INSTANCE_URL='<SERVICENOW_INSTANCE_URL>' --env SERVICENOW_PASSWORD='<SERVICENOW_PASSWORD>' --env SERVICENOW_CLIENT_SECRET='<SERVICENOW_CLIENT_SECRET>' --env SERVICENOW_API_KEY='<SERVICENOW_API_KEY>' -- uvx mcp-server-servicenow~/.codex/config.toml
[mcp_servers.servicenow-server-jschuller]
command = "uvx"
args = ["mcp-server-servicenow"]
env = { SERVICENOW_INSTANCE_URL = "<SERVICENOW_INSTANCE_URL>", SERVICENOW_PASSWORD = "<SERVICENOW_PASSWORD>", SERVICENOW_CLIENT_SECRET = "<SERVICENOW_CLIENT_SECRET>", SERVICENOW_API_KEY = "<SERVICENOW_API_KEY>" }
# codex mcp add servicenow-server-jschuller --env SERVICENOW_INSTANCE_URL='<SERVICENOW_INSTANCE_URL>' --env SERVICENOW_PASSWORD='<SERVICENOW_PASSWORD>' --env SERVICENOW_CLIENT_SECRET='<SERVICENOW_CLIENT_SECRET>' --env SERVICENOW_API_KEY='<SERVICENOW_API_KEY>' -- uvx mcp-server-servicenow~/.cursor/mcp.json
{
"mcpServers": {
"servicenow-server-jschuller": {
"command": "uvx",
"args": [
"mcp-server-servicenow"
],
"env": {
"SERVICENOW_INSTANCE_URL": "<SERVICENOW_INSTANCE_URL>",
"SERVICENOW_PASSWORD": "<SERVICENOW_PASSWORD>",
"SERVICENOW_CLIENT_SECRET": "<SERVICENOW_CLIENT_SECRET>",
"SERVICENOW_API_KEY": "<SERVICENOW_API_KEY>"
}
}
}
}.vscode/mcp.json
{
"servers": {
"servicenow-server-jschuller": {
"type": "stdio",
"command": "uvx",
"args": [
"mcp-server-servicenow"
],
"env": {
"SERVICENOW_INSTANCE_URL": "<SERVICENOW_INSTANCE_URL>",
"SERVICENOW_PASSWORD": "<SERVICENOW_PASSWORD>",
"SERVICENOW_CLIENT_SECRET": "<SERVICENOW_CLIENT_SECRET>",
"SERVICENOW_API_KEY": "<SERVICENOW_API_KEY>"
}
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"servicenow-server-jschuller": {
"command": "uvx",
"args": [
"mcp-server-servicenow"
],
"env": {
"SERVICENOW_INSTANCE_URL": "<SERVICENOW_INSTANCE_URL>",
"SERVICENOW_PASSWORD": "<SERVICENOW_PASSWORD>",
"SERVICENOW_CLIENT_SECRET": "<SERVICENOW_CLIENT_SECRET>",
"SERVICENOW_API_KEY": "<SERVICENOW_API_KEY>"
}
}
}
}claude_desktop_config.json
{
"mcpServers": {
"servicenow-server-jschuller": {
"command": "uvx",
"args": [
"mcp-server-servicenow"
],
"env": {
"SERVICENOW_INSTANCE_URL": "<SERVICENOW_INSTANCE_URL>",
"SERVICENOW_PASSWORD": "<SERVICENOW_PASSWORD>",
"SERVICENOW_CLIENT_SECRET": "<SERVICENOW_CLIENT_SECRET>",
"SERVICENOW_API_KEY": "<SERVICENOW_API_KEY>"
}
}
}
}.trae/mcp.json
{
"mcpServers": {
"servicenow-server-jschuller": {
"command": "uvx",
"args": [
"mcp-server-servicenow"
],
"env": {
"SERVICENOW_INSTANCE_URL": "<SERVICENOW_INSTANCE_URL>",
"SERVICENOW_PASSWORD": "<SERVICENOW_PASSWORD>",
"SERVICENOW_CLIENT_SECRET": "<SERVICENOW_CLIENT_SECRET>",
"SERVICENOW_API_KEY": "<SERVICENOW_API_KEY>"
}
}
}
}Environment variables
SERVICENOW_INSTANCE_URLSERVICENOW_PASSWORDSERVICENOW_CLIENT_SECRETSERVICENOW_API_KEY
Replace the placeholders with your own credentials and keep them out of version control.