tascan-mcp 3.13.0 → 3.13.1
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/README.md +3 -0
- package/index.js +1 -1
- package/package.json +55 -55
- package/tools.cjs +2 -2
package/README.md
CHANGED
|
@@ -268,6 +268,9 @@ API keys are scoped to your organization and support rate limiting (60 requests/
|
|
|
268
268
|
|
|
269
269
|
## Changelog
|
|
270
270
|
|
|
271
|
+
### v3.13.1 — 2026-09-14
|
|
272
|
+
- Docs only. `tascan_get_task` and `tascan_get_receipt` now say it plainly: a completion with status `completed` means the executor returned and a result was recorded — it does **not** mean the result was accepted. Acceptance is the receipt's `verification.result` under a named policy, and in v0.1 no policy runs for agent tasks (`no_policy_run`), so read the recorded response before treating an agent completion as success (protocol §8.3 C11). The receipt description also lists the eleven-step verifier (65,536-byte size gate, real-calendar datetimes, GPS bounds, token-free locators, `verifier.identity` vocabulary). No tool additions — still 70 tools.
|
|
273
|
+
|
|
271
274
|
### v3.13.0 — 2026-09-14
|
|
272
275
|
- **Authorization scopes.** Every key and OAuth grant now carries a tier — `read`, `write`, or `full` — plus two additive permissions: `agent:dispatch` (hand PLAN/RESEARCH/WRITE/REVIEW/DEFAULT tasks to an AI agent inbox) and `agent:dispatch:code` (CODE/SHELL tasks, which run on the org's own machine). Tools are classified in `scopes.cjs`; a call outside the grant returns an `isError` result naming the scope to reconnect with. Existing OAuth connections must reconnect and tick the dispatch boxes on the consent page to dispatch again.
|
|
273
276
|
- **`tascan_get_receipt` (new, 70 tools).** Fetches the signed Action Receipt (Ed25519 JWS, TaScan Protocol v0.1) for one completion: what was done, by whom, evidence hashes, verification, ledger chain head — with per-field provenance. Verify offline against `https://app.tascan.io/.well-known/tascan-receipt-keys.json` or online via `POST /api/v1/receipts/verify`. Spec: https://app.tascan.io/docs/protocol/TASCAN-PROTOCOL-v0.1.md
|
package/index.js
CHANGED
|
@@ -46,7 +46,7 @@ async function api(method, path, body) {
|
|
|
46
46
|
api.key = API_KEY; // raw-fetch tools read the key from here (S99: those functions now require auth)
|
|
47
47
|
|
|
48
48
|
const server = new Server(
|
|
49
|
-
{ name: 'tascan', version: '3.13.
|
|
49
|
+
{ name: 'tascan', version: '3.13.1' },
|
|
50
50
|
{ capabilities: { tools: {} } }
|
|
51
51
|
);
|
|
52
52
|
|
package/package.json
CHANGED
|
@@ -1,55 +1,55 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "tascan-mcp",
|
|
3
|
-
"version": "3.13.
|
|
4
|
-
"mcpName": "io.github.snowbikemike/tascan-mcp",
|
|
5
|
-
"description": "TaScan MCP Server — Closed-loop autonomous operations protocol. 70 tools for projects, tasks, workers, QR codes, NFC tags, worker marketplace with consented SMS invites, geofenced zones with rules (work site / hazard + AI-verified PPE checkpoints / containment / restricted, breach alerts, zone compliance audit), AI condition assessment, worker passports, verification-gated gig payments, client invoicing from verified work (overtime / day rate / per diem / expenses), shareable report links (completion, client service report, project, evidence pack), signed Action Receipts (Ed25519 JWS), cross-entity search, duplicate-worker detection, worker identity merge, AI issue analysis, and autonomous remediation dispatch. 15 patents filed (470+ claims). Task. Scan. Done.",
|
|
6
|
-
"type": "module",
|
|
7
|
-
"main": "index.js",
|
|
8
|
-
"bin": {
|
|
9
|
-
"tascan-mcp": "index.js"
|
|
10
|
-
},
|
|
11
|
-
"scripts": {
|
|
12
|
-
"start": "node index.js"
|
|
13
|
-
},
|
|
14
|
-
"files": [
|
|
15
|
-
"index.js",
|
|
16
|
-
"tools.cjs",
|
|
17
|
-
"scopes.cjs",
|
|
18
|
-
"README.md",
|
|
19
|
-
"LICENSE"
|
|
20
|
-
],
|
|
21
|
-
"dependencies": {
|
|
22
|
-
"@modelcontextprotocol/sdk": "^1.27.0",
|
|
23
|
-
"zod": "^4.3.6"
|
|
24
|
-
},
|
|
25
|
-
"keywords": [
|
|
26
|
-
"tascan",
|
|
27
|
-
"mcp",
|
|
28
|
-
"model-context-protocol",
|
|
29
|
-
"ai",
|
|
30
|
-
"task-management",
|
|
31
|
-
"qr-code",
|
|
32
|
-
"field-operations",
|
|
33
|
-
"workforce",
|
|
34
|
-
"pwa",
|
|
35
|
-
"claude"
|
|
36
|
-
],
|
|
37
|
-
"author": {
|
|
38
|
-
"name": "Michael Edward Love II",
|
|
39
|
-
"email": "Michael@TaScan.io",
|
|
40
|
-
"url": "https://tascan.io"
|
|
41
|
-
},
|
|
42
|
-
"repository": {
|
|
43
|
-
"type": "git",
|
|
44
|
-
"url": "git+https://github.com/snowbikemike/tascan-mcp.git"
|
|
45
|
-
},
|
|
46
|
-
"homepage": "https://tascan.io",
|
|
47
|
-
"bugs": {
|
|
48
|
-
"url": "https://github.com/snowbikemike/tascan-mcp/issues",
|
|
49
|
-
"email": "Michael@TaScan.io"
|
|
50
|
-
},
|
|
51
|
-
"license": "MIT",
|
|
52
|
-
"engines": {
|
|
53
|
-
"node": ">=18.0.0"
|
|
54
|
-
}
|
|
55
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "tascan-mcp",
|
|
3
|
+
"version": "3.13.1",
|
|
4
|
+
"mcpName": "io.github.snowbikemike/tascan-mcp",
|
|
5
|
+
"description": "TaScan MCP Server — Closed-loop autonomous operations protocol. 70 tools for projects, tasks, workers, QR codes, NFC tags, worker marketplace with consented SMS invites, geofenced zones with rules (work site / hazard + AI-verified PPE checkpoints / containment / restricted, breach alerts, zone compliance audit), AI condition assessment, worker passports, verification-gated gig payments, client invoicing from verified work (overtime / day rate / per diem / expenses), shareable report links (completion, client service report, project, evidence pack), signed Action Receipts (Ed25519 JWS), cross-entity search, duplicate-worker detection, worker identity merge, AI issue analysis, and autonomous remediation dispatch. 15 patents filed (470+ claims). Task. Scan. Done.",
|
|
6
|
+
"type": "module",
|
|
7
|
+
"main": "index.js",
|
|
8
|
+
"bin": {
|
|
9
|
+
"tascan-mcp": "index.js"
|
|
10
|
+
},
|
|
11
|
+
"scripts": {
|
|
12
|
+
"start": "node index.js"
|
|
13
|
+
},
|
|
14
|
+
"files": [
|
|
15
|
+
"index.js",
|
|
16
|
+
"tools.cjs",
|
|
17
|
+
"scopes.cjs",
|
|
18
|
+
"README.md",
|
|
19
|
+
"LICENSE"
|
|
20
|
+
],
|
|
21
|
+
"dependencies": {
|
|
22
|
+
"@modelcontextprotocol/sdk": "^1.27.0",
|
|
23
|
+
"zod": "^4.3.6"
|
|
24
|
+
},
|
|
25
|
+
"keywords": [
|
|
26
|
+
"tascan",
|
|
27
|
+
"mcp",
|
|
28
|
+
"model-context-protocol",
|
|
29
|
+
"ai",
|
|
30
|
+
"task-management",
|
|
31
|
+
"qr-code",
|
|
32
|
+
"field-operations",
|
|
33
|
+
"workforce",
|
|
34
|
+
"pwa",
|
|
35
|
+
"claude"
|
|
36
|
+
],
|
|
37
|
+
"author": {
|
|
38
|
+
"name": "Michael Edward Love II",
|
|
39
|
+
"email": "Michael@TaScan.io",
|
|
40
|
+
"url": "https://tascan.io"
|
|
41
|
+
},
|
|
42
|
+
"repository": {
|
|
43
|
+
"type": "git",
|
|
44
|
+
"url": "git+https://github.com/snowbikemike/tascan-mcp.git"
|
|
45
|
+
},
|
|
46
|
+
"homepage": "https://tascan.io",
|
|
47
|
+
"bugs": {
|
|
48
|
+
"url": "https://github.com/snowbikemike/tascan-mcp/issues",
|
|
49
|
+
"email": "Michael@TaScan.io"
|
|
50
|
+
},
|
|
51
|
+
"license": "MIT",
|
|
52
|
+
"engines": {
|
|
53
|
+
"node": ">=18.0.0"
|
|
54
|
+
}
|
|
55
|
+
}
|
package/tools.cjs
CHANGED
|
@@ -420,7 +420,7 @@ const TOOLS = [
|
|
|
420
420
|
},
|
|
421
421
|
{
|
|
422
422
|
name: 'tascan_get_task',
|
|
423
|
-
description: 'Get details of a specific task including completions and subtasks. Each completion carries photo_url (raw storage path, stable) and photo_signed_url (short-lived fetchable URL, ~1h; null when no photo) so you can actually view the photo evidence. Tasks dispatched to an AI agent also carry an "agent" block (state claimed|running|completed|failed|expired|released, attempts, current run with runner/trace_id/error) — the only place agent failures are reported.',
|
|
423
|
+
description: 'Get details of a specific task including completions and subtasks. Each completion carries photo_url (raw storage path, stable) and photo_signed_url (short-lived fetchable URL, ~1h; null when no photo) so you can actually view the photo evidence. Tasks dispatched to an AI agent also carry an "agent" block (state claimed|running|completed|failed|expired|released, attempts, current run with runner/trace_id/error) — the only place agent failures are reported. A completion with status "completed" means the executor returned and its result was recorded (a model refusal, a wrong answer or an administrative note all "complete"); it does NOT mean the requested result was accepted. Acceptance is the completion evidence_check / the receipt verification.result under a named policy, and in v0.1 no policy exists for agent tasks (exact-output and rubric policies are v0.2) — check the recorded response text yourself before treating an agent completion as success (protocol §2.6, §3.2, §8.3 C11).',
|
|
424
424
|
inputSchema: {
|
|
425
425
|
type: 'object',
|
|
426
426
|
properties: { task_id: { type: 'string', description: 'Task ID' } },
|
|
@@ -442,7 +442,7 @@ const TOOLS = [
|
|
|
442
442
|
},
|
|
443
443
|
{
|
|
444
444
|
name: 'tascan_get_receipt',
|
|
445
|
-
description: 'Fetch the signed Action Receipt (Ed25519 JWS) for one completed task
|
|
445
|
+
description: 'Fetch the signed Action Receipt (Ed25519 JWS) for one completed task by completion_id (tascan_get_task -> completions[].id). Returns a readable summary (what, who, verification, evidence hashes, outcome, ledger chain) plus receipt_id/serial/kid, the compact JWS and the public verify URL. Verify offline against the JWKS or online by POSTing a JSON body whose jws field holds the compact receipt. Read outcome and verification separately: outcome completed = the executor returned and a result was recorded; verification.result = the verdict of a named policy (policy_id/version/hash + verifier non-null together); all-null verification with reason no_policy_run = no policy ran, true of every agent task in v0.1. Never treat outcome=completed as success without a policy verdict you trust (protocol 8.3 C11). Verifier = eleven steps (6.8): JWS over 65,536 bytes = too_large; real datetimes; GPS inside the globe; locators never carry a list token; verifier.identity is ai:, admin:, customer: or system: prefixed. Read tier.',
|
|
446
446
|
inputSchema: {
|
|
447
447
|
type: 'object',
|
|
448
448
|
properties: { completion_id: { type: 'string', description: 'task_completions.id (UUID) - from tascan_get_task -> completions[].id' } },
|