tascan-mcp 3.7.0 → 3.8.0
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/index.js +1 -1
- package/package.json +2 -2
- package/tools.cjs +32 -0
package/index.js
CHANGED
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "tascan-mcp",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.8.0",
|
|
4
4
|
"mcpName": "io.github.snowbikemike/tascan-mcp",
|
|
5
|
-
"description": "TaScan MCP Server — Closed-loop autonomous operations protocol.
|
|
5
|
+
"description": "TaScan MCP Server — Closed-loop autonomous operations protocol. 58 tools for projects, tasks, workers, QR codes, NFC tags, geofenced zones, AI condition assessment, worker passports, verification-gated gig payments, cross-entity search, duplicate-worker detection, AI issue analysis, and autonomous remediation dispatch. 14 patents filed (435+ claims). Task. Scan. Done.",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"main": "index.js",
|
|
8
8
|
"bin": {
|
package/tools.cjs
CHANGED
|
@@ -973,6 +973,38 @@ const TOOLS = [
|
|
|
973
973
|
}
|
|
974
974
|
},
|
|
975
975
|
|
|
976
|
+
// ─── Twilio SMS Tool (v3.8.0) ─────────────────────────────
|
|
977
|
+
{
|
|
978
|
+
name: 'tascan_send_sms',
|
|
979
|
+
description: 'Send a transactional TaScan SMS text to a worker (by worker_id, using their phone on file) or to a raw phone number. Optionally attach a task list — the recipient gets a tap-to-open checklist link. Sends from TaScan\'s carrier-registered A2P number (or the org\'s own Twilio if BYOK). Counts against the org\'s monthly SMS quota unless BYOK. Messages are auto-prefixed with "TaScan:" per carrier registration; transactional/work-related content only, no marketing.',
|
|
980
|
+
inputSchema: {
|
|
981
|
+
type: 'object',
|
|
982
|
+
properties: {
|
|
983
|
+
worker_id: { type: 'string', description: 'Worker ID — sends to their phone on file (preferred over raw phone)' },
|
|
984
|
+
phone: { type: 'string', description: 'Raw phone number (e.g. "+17025551234") — used when no worker_id given' },
|
|
985
|
+
message: { type: 'string', description: 'Message text. Transactional and work-related only.' },
|
|
986
|
+
list_id: { type: 'string', description: 'Optional task list ID — appends a tap-to-open worker checklist link' }
|
|
987
|
+
},
|
|
988
|
+
required: ['message']
|
|
989
|
+
},
|
|
990
|
+
annotations: { title: 'Send SMS', readOnlyHint: false, destructiveHint: false, idempotentHint: false, openWorldHint: true },
|
|
991
|
+
handler: async (args, api) => {
|
|
992
|
+
const result = await api('POST', '/sms', {
|
|
993
|
+
worker_id: args.worker_id,
|
|
994
|
+
phone: args.phone,
|
|
995
|
+
message: args.message,
|
|
996
|
+
list_id: args.list_id
|
|
997
|
+
});
|
|
998
|
+
const d = result.data;
|
|
999
|
+
let text = `SMS sent!\n`;
|
|
1000
|
+
text += ` To: ${d.worker_name ? d.worker_name + ' (' + d.to + ')' : d.to}\n`;
|
|
1001
|
+
text += ` Status: ${d.sms_status}\n`;
|
|
1002
|
+
text += ` Message: ${d.message_body}`;
|
|
1003
|
+
if (d.worker_url) text += `\n Checklist link: ${d.worker_url}`;
|
|
1004
|
+
return text;
|
|
1005
|
+
}
|
|
1006
|
+
},
|
|
1007
|
+
|
|
976
1008
|
// ─── SendGrid Email Tool ──────────────────────────────────
|
|
977
1009
|
{
|
|
978
1010
|
name: 'tascan_send_task_email',
|