@velaro/mcp-server 0.6.56 → 0.6.57
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/server.js +30 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@velaro/mcp-server",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.57",
|
|
4
4
|
"description": "Velaro MCP server — connect Claude and other AI agents directly to your Velaro account: KB, workflows, bots, conversations, contacts, routing, and more.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
package/server.js
CHANGED
|
@@ -3154,6 +3154,22 @@ For multiSelect dynamic options: the variable named in dynamicOptionsVariable mu
|
|
|
3154
3154
|
},
|
|
3155
3155
|
},
|
|
3156
3156
|
|
|
3157
|
+
{
|
|
3158
|
+
name: 'netsuite_m2m_init',
|
|
3159
|
+
description: 'Start NetSuite machine-to-machine (OAuth 2.0 Client Credentials) setup: generates the Velaro public certificate PEM to upload in NetSuite (Setup > Integration > Manage Authentication > OAuth 2.0 Client Credentials (M2M) Setup) and returns the steps. Omit configId for a new connection (company then required). Lives in velaro-messaging - requires VELARO_MESSAGING_API.',
|
|
3160
|
+
inputSchema: { type: 'object', properties: { configId: { type: 'number', description: 'Existing NetSuite config ID (rotate/switch).' }, company: { type: 'string', description: 'NetSuite account ID for a new connection (sandbox looks like 1234567_SB1).' }, displayName: { type: 'string' } } },
|
|
3161
|
+
},
|
|
3162
|
+
{
|
|
3163
|
+
name: 'netsuite_m2m_save',
|
|
3164
|
+
description: 'Save the Client ID (NetSuite integration record) and Certificate ID (NetSuite M2M mapping) for a NetSuite config after netsuite_m2m_init. Lives in velaro-messaging - requires VELARO_MESSAGING_API.',
|
|
3165
|
+
inputSchema: { type: 'object', properties: { configId: { type: 'number' }, clientId: { type: 'string' }, certificateId: { type: 'string' } }, required: ['configId', 'clientId', 'certificateId'] },
|
|
3166
|
+
},
|
|
3167
|
+
{
|
|
3168
|
+
name: 'netsuite_m2m_verify',
|
|
3169
|
+
description: 'Verify a NetSuite M2M connection with per-check results (token, REST, customer read) and specific failure reasons and fixes. Lives in velaro-messaging - requires VELARO_MESSAGING_API.',
|
|
3170
|
+
inputSchema: { type: 'object', properties: { configId: { type: 'number' } }, required: ['configId'] },
|
|
3171
|
+
},
|
|
3172
|
+
|
|
3157
3173
|
// ── Microsoft Teams Phone (config CRUD) ────────────────────────────────────
|
|
3158
3174
|
// Live in-call actions (hold/resume/end/transfer, TeamsPhoneCtiController) are
|
|
3159
3175
|
// intentionally NOT exposed here — see mcp-cli-exempt comments on that controller.
|
|
@@ -7710,6 +7726,20 @@ async function handleTool(name, args) {
|
|
|
7710
7726
|
return `CTI token generated/rotated.\nDial URL: ${urls.dialUrlTemplate}\nScreen-pop URL: ${urls.screenPopUrl}`;
|
|
7711
7727
|
}
|
|
7712
7728
|
|
|
7729
|
+
case 'netsuite_m2m_init': {
|
|
7730
|
+
const r = await messagingPost('/NetSuite/M2M/Init', { id: args.configId ?? null, company: args.company, displayName: args.displayName });
|
|
7731
|
+
return `Config ${r.id ?? args.configId ?? 'new'}. Upload this certificate in NetSuite (Setup > Integration > Manage Authentication > OAuth 2.0 Client Credentials (M2M) Setup):\n${r.certificatePem ?? '(none returned)'}\n${Array.isArray(r.steps) ? r.steps.map((x, i) => `${i + 1}. ${x}`).join('\n') : ''}`;
|
|
7732
|
+
}
|
|
7733
|
+
case 'netsuite_m2m_save': {
|
|
7734
|
+
await messagingPost('/NetSuite/M2M/Save', { id: args.configId, clientId: args.clientId, certificateId: args.certificateId });
|
|
7735
|
+
return `Saved for config ${args.configId}. Run netsuite_m2m_verify next.`;
|
|
7736
|
+
}
|
|
7737
|
+
case 'netsuite_m2m_verify': {
|
|
7738
|
+
const r = await messagingPost('/NetSuite/M2M/Verify', { id: args.configId });
|
|
7739
|
+
const checks = Array.isArray(r.checks) ? r.checks : [];
|
|
7740
|
+
return checks.map(c => `${c.ok ? 'PASS' : 'FAIL'} ${c.name}${c.ok ? '' : ` - ${c.reason || c.reasonCode || ''}${c.howToFix ? ` | Fix: ${c.howToFix}` : ''}`}`).join('\n') || 'No checks returned.';
|
|
7741
|
+
}
|
|
7742
|
+
|
|
7713
7743
|
// ── Microsoft Teams Phone (config CRUD) ───────────────────────────────────
|
|
7714
7744
|
case 'teams_phone_get_config': {
|
|
7715
7745
|
const config = await messagingGet('/TeamsPhone/Config');
|