MCP Server Configuration
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
3 hours ago - last edited 2 hours ago
Dear all,
I am trying to configure a MCP Server.
I tried my best, but I am failing, not sure why. (Attached are the MCP Server connection logs as well)
I am trying to use the nowaikit which is open source MCP Server.
I configured everything via the terminal as well as tried entering those configurations into the claude_desktop_config file as well, but it still throws error.
The JSON code is as below:
{
"mcpServers": {
"webpage-mcp": {
"command": "cmd.exe",
"args": [
"/c",
"npx",
"-y",
"-p",
"webpage-mcp@latest",
"webpage-mcp-stdio"
]
},
"nowaikit": {
"command": "npx",
"args": [
"-y",
"nowaikit"
],
"env": {
"SERVICENOW_INSTANCE_URL": "https://dev*****.service-now.com",
"SERVICENOW_BASIC_USERNAME": "mcp_admin",
"SERVICENOW_BASIC_PASSWORD": "*THE_PASSWORD",
"WRITE_ENABLED": "true",
"SCRIPTING_ENABLED": "true"
}
}
},
"coworkUserFilesPath": "C:\\Users\\AnishReghuKumaranNai\\Claude",
"preferences": {
"launchPreviewPersistedWorkspaces": [],
"launchPreviewSessionScopedSessions": [],
"coworkScheduledTasksEnabled": false,
"coworkHipaaRestricted": false,
"ccdScheduledTasksEnabled": false,
"bypassPermissionsGateByAccount": {
"eb4efa2c-d675-43ba-a986-48d24c44df66": false
},
"coworkWebSearchEnabled": true,
"coworkModelAutoFallbackByAccount": {
"eb4efa2c-d675-43ba-a986-48d24c44df66": true
},
"remoteToolsDeviceName": "rcchn0259",
"epitaxyPrefs": {
"starred-local-code-sessions": [],
"starred-cowork-spaces": [],
"starred-session-groups": [],
"dframe-group-scopes": {},
"dframe-local-slice": {
"pinnedOrder": [],
"homeProjectsPinnedOrder": []
},
"ccd-sessions-filter": {
"state": {
"selectedProjects": []
},
"version": 0
},
"desktop-frame.paneStore.v1": {
"state": {
"extraPanesByMode": {},
"colWeightsByMode": {},
"rowSplit": 0.5,
"draftNonce": 0
},
"version": 4
}
}
}
}
But still this doesn't connect the MCP Server, it fails. Please help.
I created a wrapper script as well and modified the JSON point to that as well.
const { spawn } = require('child_process');
const child = spawn('npx', ['-y', 'nowaikit'], {
env: process.env,
stdio: ['inherit', 'pipe', 'inherit']
});
child.stdout.on('data', (data) => {
const lines = data.toString().split('\n');
for (const line of lines) {
const trimmed = line.trim();
if (trimmed.startsWith('{') && trimmed.endsWith('}')) {
process.stdout.write(line + '\n');
}
}
});
child.on('exit', (code) => {
process.exit(code);
});{
"mcpServers": {
"webpage-mcp": {
"command": "cmd.exe",
"args": [
"/c",
"npx",
"-y",
"-p",
"webpage-mcp@latest",
"webpage-mcp-stdio"
]
},
"nowaikit": {
"command": "node",
"args": [
"C:\\Users\\USERPROFILE_NAMEi\\nowaikit-wrapper.js"
],
"env": {
"SERVICENOW_INSTANCE_URL": "https://dev*****.service-now.com",
"SERVICENOW_BASIC_USERNAME": "mcp_admin",
"SERVICENOW_BASIC_PASSWORD": "THE_PASSWORD",
"WRITE_ENABLED": "true",
"SCRIPTING_ENABLED": "true"
}
}
}
}
Still the nowaikit fails to run.
NOTE - mcp_admin is configured with Identity type = Machine and Internal Integration User - checked.
Please help.
Request - Once again, requesting specific answers that can troubleshoot the issue, no article links, product documentation links, etc.
Regards,
Anish
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2 hours ago
Hi @Hardik Benani,
Believe me or not, I had tried applying the same settings as the other MCP Server on the nowaikit as well, it still was not working. but now after your recommendation, tried it and all of a sudden it's working. I will wait on this one and mark the thread closed, if it further stays unaffected. Logically, I think this should be root cause. Thanks a ton! Had been sitting behind this for hours now!
Regards,
Anish
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
an hour ago - last edited an hour ago
Hi @Hardik Benani,
Now I am getting the authentication issue:
You'll need to authenticate to your ServiceNow instance for me to query the incident table — I got an authentication error trying to run the count. Could you connect/re-authenticate the NowAIKit connector, and I'll pull the active incident count right after?
Is there no way other than using the OAuth? Can't we set this basic authentication right? I had deleted the config from Claude client and relaunched it. Also the user has a password set, role is admin. Identity type is Machine and Internal integration user - checked.
Any reasons why the basic auth fails?
By the way I tried validating the basic auth on the terminal, trying to fetch details of the same table which is queried via prompt on the MCP client.
And as you can see it fetched the result as well.
That leaves me surprised, why the basic auth fails only on the MCP client.
Regards,
Anish
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
30m ago
ServiceNow started enforcing it in the 2026 releases: inbound REST basic auth is now blocked unless the account is explicitly allow-listed, even with an admin role and a valid password. That will give 401.
The specific fix: grant mcp_admin the role snc_basic_auth_api_access. That's the exact role ServiceNow checks to permit basic auth for REST (it's set in the instance property glide.authenticate.basic_auth.allowed_roles). Once that role is on the user, the Table API calls will authenticate.
But if you curl test is working and returns the incident with those credentials, then the credentials are fine and your instance is not blocking basic auth.
Check the below:
1. Env var names. They must be exactly SERVICENOW_BASIC_USERNAME and SERVICENOW_BASIC_PASSWORD. If you used SERVICENOW_USERNAME/SERVICENOW_PASSWORD, basic auth stays empty and you get a 401.
2. Password. Retype it in the config, no spaces before or after. If it has a backslash or a quote, double the backslash (\\) and put a backslash before the quote (\").
3. Fully quit Claude Desktop and reopen. Closing the window is not enough, it keeps the old settings.
If it still fails, open this folder on Windows: press Win+R, paste %APPDATA%\Claude\logs, and open mcp-server-nowaikit.log. Run one prompt, then read the last few lines. It shows the instance it is calling, so you can confirm it matches your curl.
That will pinpoint it. Let me know what the log says.