MCP server
TaScan
io.github.snowbikemike/tascan-mcp
Checked 26 Oct 2026, 08:29 UTC · Connected to it and listed its tools
36 MCP tools for projects, tasks, workers, QR/NFC tags, and AI remediation. Task. Scan. Done.
Working at last checkAbout 40,230 tokens per request once connected142 tools2 new tools added 26 Oct
https://app.tascan.io/mcp
At a glance
- Type
- MCP server
- Publisher
- Not verified
- Status
- Working at last check
- Tools
- 142
- Token cost
- About 40,230 tokens per request
- Sets up in
- Claude Code, Claude Desktop, Codex, Gemini CLI, Cursor, VS Code, Antigravity, ChatGPT, OpenAI API, Grok
- Last checked
- 26 Oct 2026, 08:29 UTC
Connect it to your agent
Opens the app, which shows the server and asks you to confirm. For other apps, copy the setup below.
Claude Code
claude mcp add --transport http tascan-mcp https://app.tascan.io/mcp
Claude Desktop
Settings → Connectors → Add custom connector, and paste the URL.
Codex (config.toml)
[mcp_servers.tascan-mcp] url = "https://app.tascan.io/mcp"
Gemini CLI
{"mcpServers":{"tascan-mcp":{"httpUrl":"https://app.tascan.io/mcp"}}}
Cursor
{"mcpServers":{"tascan-mcp":{"url":"https://app.tascan.io/mcp"}}}
VS Code
{"servers":{"tascan-mcp":{"type":"http","url":"https://app.tascan.io/mcp"}}}
Antigravity
agy mcp add tascan-mcp https://app.tascan.io/mcp
ChatGPT
Settings → Apps & Connectors → Advanced settings: turn on Developer mode, then Create a connector and paste the URL. Which plans can do this varies.
OpenAI API (Responses tools)
{"type":"mcp","server_label":"tascan-mcp","server_url":"https://app.tascan.io/mcp","require_approval":"always"}
Grok (xAI API tools)
{"type":"mcp","server_label":"tascan-mcp","server_url":"https://app.tascan.io/mcp"}
Tools
tascan_add_subtasks~432 tokens
Add one or more subtasks to a task (bulk). Subtasks support typed responses: "number" for per-set data (reps, weight, distance), "text" for notes, "choice" for options, "checkbox" for simple steps. Set-logging example: task "Bench Press" with subtasks Set 1/Set 2/Set 3 each response_type "number" —tascan_add_tasks~1290 tokens
Add one or more tasks to an event (task list). Supports bulk creation. IMPORTANT: Set response_type correctly — use "text" for info collection (names, phones, emails, notes), "photo" for visual verification (inspections, serial numbers, damage checks), "checkbox" only for simple confirmations. NOTE:tascan_analyze_issue~198 tokens
Step 1 of the Closed-Loop Autonomous Operations Protocol. Retrieves full issue context including worker info, message thread, project history, and recent similar issues. Use this data to reason about the root cause and generate a remediation plan. Also supports server-side AI analysis via POST (calltascan_append_chat_messages~271 tokens
Append 1 or 2 text turns (each a role, user or assistant, and its content) to a chat thread of an admin of your org (POST /chat/threads/:id/messages), the way the portal helper saves each exchange: each content is text of at most 32 KB with no data: URL; the thread's message_count and preview updatetascan_apply_qr_style~171 tokens
Apply a saved QR look (qr_style_id, or null to clear) to a project, list, task or site (target + id: PUT on that item), or make it the default for a purpose (target purpose + purpose share, placard, asset, receipt or work_order: PUT /qr-styles/defaults). The look must be your org's. Write tier.tascan_apply_template~111 tokens
Apply a pre-built template to a task list, adding all template taskstascan_assess_condition~215 tokens
Run an AI condition assessment of an asset from a photo. The model scores 0-100 with the asset's full assessment history in context, so it reads degradation over time — returning the Condition Delta Score vs the previous assessment, defects, wear indicators, maintenance recommendations, and a degradtascan_auto_resolve~148 tokens
FULL Closed-Loop Autonomous Operations Protocol in one call. Server-side AI analyzes the issue, generates remediation tasks, creates a task list, and dispatches to the worker — all without human intervention. This executes Patent Claim 7: autonomous operations from issue detection through physical-wtascan_cancel_scheduled_sms~116 tokens
Cancel a scheduled text that has not been sent yet (status pending). A row already sending, sent, failed or cancelled is refused (409) — a sent text cannot be recalled.tascan_claim_run~419 tokens
Claim a fan-out seat task as a LOCAL subagent run (POST /runs/claim -> claim_agent_run(p_runner='local')). Only admitted when instance starts with "<your registered agent_id>:" -- the seat's own coord.agent_id, set when the fan-out was created (tascan_create_fanout seats[i].runner='local'). Any othetascan_clone_project~254 tokens
Duplicate a project's STRUCTURE (POST /projects/:id/clone): its task lists (not a work order's own lists), their tasks (never coordination cards) with response types, photo, safety and signature settings, subtasks, and attachments by reference, plus the location, dates, labor rules and report optiontascan_complete_subtask~220 tokens
Complete a subtask, optionally recording a typed response_value (e.g. the weight or reps for that set). Each completion is timestamped, so consecutive set completions yield per-set durations. Returns progress including all_subtasks_complete — when true, complete the parent task with tascan_complete_tascan_complete_task~412 tokens
Complete an ORDINARY task on behalf of a worker. Inserts a completion record and timer event. Coordination-cycle tasks (a CODE:/REVIEW: build or review, a Decision / Question / Integrate / Parked card on a project Decisions list — tasks that carry `coord`) are refused with 403 for every key tier: butascan_condition_history~102 tokens
Get an asset's longitudinal condition history — score trend over time, every assessment with grade, delta, findings, and who assessed it. The per-serial-number condition ledger.tascan_control_fanout~503 tokens
Control a running fan-out (POST /coord/fanouts/:id/control). pause holds every unclaimed seat and stops re-firing; resume releases them; cancel supersedes every unclaimed task and closes once quiet; close_barrier drops unsettled (or named exclude_seats) seats and forces the synth now; retry_synth mitascan_create_cycle~2574 tokens
Start an unattended build-review-decide cycle (protocol v0.2). Queues T1 CODE: (or SHELL:) with your build_brief on the AI Inbox and T2 REVIEW: with your review_brief, born blocked on T1. T1 (2026-09-24 throughput): kind=review_only mints T1 as CAPTURE: instead — the executor stores the bundle fromtascan_create_event~352 tokens
Create a new event (task list) within a project. Supports team_mode (shared completions) and multi_instance (each worker gets isolated copy — great for surveys, onboarding, info collection). team_mode and multi_instance cannot both be true.tascan_create_fanout~1452 tokens
Create a fan-out: 1-30 seats (RESEARCH by default, or LOCAL subagent seats) plus one synthesizer under ONE cycle root (POST /coord/fanouts). No Decision cards, Parked cards or pages per seat: only a control action or the closing roll-up reaches a human. Needs an API key with agent:dispatch:code (antascan_create_invoiceMoves money · ~1114 tokens
Create a client invoice and get its shareable link. Two ways to bill: (a) pass explicit line_items, or (b) pass project_id or task_list_ids plus hourly_rate (quarter-hour billing from first→last verified completion per list) or flat_rate_per_list, and TaScan builds one line per list from VERIFIED wotascan_create_project~288 tokens
Create a new TaScan project (top-level container for events). number is optional (the next P-number is assigned when omitted; a number already used in the org is refused 409). external_refs links customer job numbers.tascan_create_site~212 tokens
Create a site (a job location) in the organization: name (1-200 characters) and optionally address, lat + lng (together), client_company and external_key (unique in your org: a second site with the same key is refused 409). Write tier.tascan_create_worker~92 tokens
Create a new worker (taskee) in the organizationtascan_create_zone~1068 tokens
Create a geofenced work zone. Delivery zones route workers who open the project Site Gate (geo.html?project=...) to this zone's task list when GPS places them inside the radius. Set enforce_on_list=true to zone-lock the task list — workers cannot start it from outside the zone.tascan_delegate_to_agent~612 tokens
Mint a time-limited, NARROWER child API key (POST /delegations, roadmap #11) — only read/write scopes may be requested; full, agent:dispatch, agent:dispatch:code, device:admin, delegate and webhooks:manage are always refused by name (I-6). TTL defaults to 1 hour (3600s), clamps to [60 seconds, 24 hotascan_delete_chat_threadDeletes data · ~88 tokens
Delete a chat thread and its messages (DELETE /chat/threads/:id), the way the Simple page does; a receipted ledger event is written first. Write tier.tascan_delete_eventDeletes data · ~82 tokens
Delete an event (task list) and all its tasks and completions. This action is irreversible.tascan_delete_projectDeletes data · ~331 tokens
Delete a project that has NO history, after typing its name. Refused 409 project_has_history (with the counts) when it has any task or subtask completion, action receipt, issue, invoice or coordination task: archive it instead (tascan_update_project status archived). confirm_name must equal the projtascan_delete_subtaskDeletes data · ~74 tokens
Delete a subtask and its completions. This action is irreversible.tascan_delete_taskDeletes data · ~72 tokens
Delete a specific task and its completions. This action is irreversible.tascan_delete_workerDeletes data · ~111 tokens
Tombstone a worker record (is_active=false). REFUSES if the worker has any task/subtask completions or payments — merge those into the real worker with tascan_merge_workers instead. Never hard-deletes.tascan_dispatch_instruction~377 tokens
Step 3 of the Closed-Loop Autonomous Operations Protocol. Dispatches remediation to the worker via MULTI-CHANNEL delivery: (1) issue thread message, (2) in-app notification, (3) progress feed update, (4) SMS if phone on file, (5) optional remediation task list creation. Closes the loop from digitaltascan_dispatch_to_agent~442 tokens
PREFERRED tool for sending work to an AI agent. Dispatches a task to the agent's inbox — picked up and executed automatically. No list ID needed. REQUIRES the agent:dispatch permission on this connection (CODE:/SHELL: tasks also require agent:dispatch:code) — reconnect and tick the agent checkbox(estascan_dispatcher_action~405 tokens
Record a chief-of-staff dispatcher action on a coordination cycle as a receipt (protocol v0.2 D6, POST /coord/cycles/:root/dispatcher-actions): hand_review_approve, hand_review_revise, park, bundle_recovery, migration_apply, deploy or decision. Mints a completed task + completion under the Chief oftascan_evidence_policy~441 tokens
Read or author a task's evidence policy (protocol v0.2 V9b, GET|PUT /evidence/policy/:task_id — one route, two methods, so one tool). action=get evaluates the pinned policy against the evidence ledger so far: whether it is usable and satisfied, and its progress (read tier). action=set authors/updatetascan_find~230 tokens
Cross-entity search: find projects (by name, project number or customer job number in external_refs; each with its status), task lists, tasks, workers, condition assets, sites (by name, address or client company) or work orders (by number or description) in one call — with ids and parent context totascan_find_duplicate_workers~231 tokens
Find candidate same-person worker records with per-signal match detail (Patent 4 §6.25(b) signals: phone reuse, name similarity, GPS pattern correlation). Turns identity fragmentation from an accidental discovery into a monitorable metric, and feeds the merge workflow its candidate list.tascan_finish_run~595 tokens
Finish a claimed local run (POST /runs/:run_id/finish). outcome='completed' stores `document` (and optional `verification`) as the seat's own build artifacts under EXACTLY the artifact_paths the fan-out named for this seat, hashes them into build_ref, and finishes the run -- this mints a real task_ctascan_generate_qr~143 tokens
Generate a QR code for a task list (event) that workers can scan to access tasks. TaScan draws the QR itself (an SVG, also returned as a data: URI in qr_image_url); no third-party QR service ever sees the link.tascan_generate_report~440 tokens
Mint a shareable report and get its link. Types: completion (full proof-of-work for one list: tasks, responses, subtasks, photos, GPS + place names, timing, QR pair), service (client-facing version of a list with YOUR company branding and a Client Acknowledgment button — the ack files into the listtascan_get_access~156 tokens
Read the access object of a task list (list_id) or a task (task_id): access_level (open, assigned or secured; a task-level value wins over its list), the effective level, human assignees and agent_assignee (the one agent whose key may reach the list and every task on it; a task shows its list's, inhtascan_get_budget~138 tokens
Read THIS credential's own per-key action budget (GET /budget): daily limits (sms, invites, payment-request cents per day and per request, dispatch, human pages) and today's spend against them. A NULL limit (or no budget row at all) means unlimited on that counter. A key can only ever see its OWN butascan_get_build~246 tokens
Manifest of a stored build bundle by build_ref (protocol v0.2 build_artifacts): the exact files the executor produced for the cycle's artifact_paths, each with sha256, byte length and whether text content is stored (binary or over-cap files keep the sha only). build_ref = sha256 over the manifest, ctascan_get_build_diff~483 tokens
Store an already-computed diff for one file of a build bundle against a base commit (protocol v0.2 item 6, POST /coord/builds/:build_ref/diff — the parser has no GET for this path; a deployed function ships no git object database, so tascan-agent/deployer.js computes the diff text with its own persitascan_get_build_file~306 tokens
Read one file from a stored build bundle by build_ref and path (protocol v0.2 build_artifacts) — the exact bytes the executor produced, not a working-tree read. Returns up to 12000 chars per call with offset/limit paging (next_offset when truncated), plus the file's sha256 and byte length. Binary ortascan_get_cycle_report~369 tokens
The audit report of one coordination cycle by its root task id (protocol v0.2, get_cycle_report): every step task (build, review, checkpoint, integrate, question, parked) with its revision and state, every execution attempt with runner, outcome, build_ref and usage/cost, every completion (receipt idtascan_get_device~104 tokens
Get one device by id: kind, name, status, location zone, credential rotation timestamps, revocation reason, and the last 20 evidence_events ids it produced. Never returns a credential hash.tascan_get_event~70 tokens
Get details of a specific event (task list) including its taskstascan_get_fanout~319 tokens
Read a fan-out (GET /coord/fanouts/:id?view=). view=status (default): state, seat counts, spend, cap, synth_deadline_at, poll_after_s. view=report: the full cycle report (get_cycle_report) — every seat, review and control step. view=rollup: the exact roll-up response_value plus its leaves (path, shatascan_get_org~102 tokens
Read the organization profile (GET /org): id, name, industry, logo, time zone and the admin phone MASKED to its last 4 digits (a tool never sees the full number). Read tier. Editing the organization is done by an owner or admin in the TaScan portal, not by any tool.tascan_get_org_plan~75 tokens
Your organization's plan (GET /org/plan), read-only: plan (free, pro, ...) and whether billing is exempt. Billing changes happen in the TaScan portal only. Read tier.tascan_get_project~61 tokens
Get details of a specific projecttascan_get_receipt~470 tokens
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 offltascan_get_report~191 tokens
Get completion report for a task list (event) including task status, completions, workers, and photos. Set include_responses to also return the actual submitted response data (numbers, text, choices) for each completed task plus a per-task photos list with fetchable signed URLs (short-lived, ~1h) fotascan_get_scan_history~296 tokens
Scan accountability data. Two modes: (1) tag_id — scans of a registered NFC tag; (2) task_list_id or project_id — every QR/link page-open stamp: when the code was scanned, GPS + IP + channel (qr/nfc/sms/email/link), who the scanner turned out to be, and the scan→start delta (how long between scannintascan_get_signature_bundle~272 tokens
Fetch the signature bundle for one signed document by signature assertion id (the signature_assertion_id inside the response value of a completed signature task). Returns the self-contained JSON an auditor can verify offline without trusting TaScan: the signed challenge preimage (v 2 also carries thtascan_get_site~68 tokens
Read one site with the projects and task lists linked to it. Read tier.tascan_get_sms_status~113 tokens
Check delivery status of a previously sent TaScan SMS by its Twilio SID (returned by tascan_send_sms). Shows queued/sent/delivered/undelivered/failed plus carrier error codes.tascan_get_task~334 tokens
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"tascan_get_task_trail~252 tokens
Read a task's trail messages (protocol v0.2 trail_messages, GET /tasks/:id/messages): question, answer, handoff and note/discussion entries, last 100, newest last (reading order). Optionally filter to a comma-separated set of kinds, and with since=<ISO time> read only messages newer than the last ontascan_get_timesheet~150 tokens
A task list's timesheet (GET /lists/:id/timesheet), read-only: each shift (who, clock in, clock out, breaks, hours; an open shift and a never-clocked-out one are flagged) and per worker per day the regular, overtime and double-time hours under the project's labor rules (overtime after 10 h by defaultascan_get_usage~257 tokens
Read your organization's usage and quota snapshot for a billing period (GET /usage): SMS, email and AI call counts against their plan limits, the 100-receipt-per-month hard stop (used, allowance, hard_stop), the rate-limit window (60 requests per minute), and coordination-cycle spend in micro-USD fotascan_get_worker~98 tokens
Ungated, plain read of one worker row: name, contact, org, points, streaks, timestamps. (tascan_get_worker_passport is the rich stats view; this is the boring lookup.)tascan_get_worker_passport~122 tokens
Get a worker's verified work passport — task counts, lists worked, photos submitted, GPS-verified hours, points, streaks, and earned merit badges, all computed from real completion data (not self-reported). Includes the shareable profile URL.tascan_heartbeat_run~254 tokens
Extend a claimed local run's lease and mark it running (POST /runs/:run_id/heartbeat -> heartbeat_agent_run). ok false with reason not_live means the run is no longer yours -- the sweep expired it, or it was never yours to begin with -- STOP, do not finish it. Never mints a completion or a receipt.tascan_invite_worker~238 tokens
Invite a marketplace worker to a task list — the consented intro. TaScan texts the worker from its own number ("<Your org> wants you for <list>. Reply YES to share your contact and get the list, or NO to pass."). On YES the worker appears in your org with their name + phone, receives the list link,tascan_issues_inbox~191 tokens
The org-wide issues inbox (GET /issues): every task issue across projects, newest first, filtered by status (OPEN, ACKNOWLEDGED, IN_PROGRESS, RESOLVED, CLOSED, or a comma list), project_id and site_id. Pass issue_id instead to read one issue's message thread (GET /issues/:id/messages). For one listtascan_link_site~107 tokens
Link a site to a project (project_id) or to a task list shown at the site (list_id) — exactly one. Both must be in your organization. Linking twice is a no-op. Write tier.tascan_list_agents~90 tokens
List all registered AI agents with their capabilities, inbox IDs, and status. Like reading input labels on a video matrix — discover which agents are available and what they can do before dispatching work.tascan_list_assets~95 tokens
List registered condition-ledger assets with their latest condition scores. Use to recover an asset_id for tascan_assess_condition or tascan_condition_history.tascan_list_chat_threads~120 tokens
List the Ask TaScan chat threads of your org's admins (GET /chat/threads, newest first; admin_id narrows to one admin), or read one thread with its messages (thread_id). The same threads the Simple page and the portal show. Read tier.tascan_list_connectors~167 tokens
List the organization's connectors (GET /integrations), e.g. the Salesforce Work Order bridge: provider, instance URL, the project and list new work lands on (with names), whether it is on, the last poll time and the last error. Never shows secrets: the client id, the client secret, its storage nametascan_list_cycles~237 tokens
List coordination-cycle roots in the organization (protocol v0.2, GET /coord/cycles): root id, title, status, task_type, project, build_ref, deploy_id and the T2 review id, newest first. Filter by project_id and/or status. Read tier — a reviewer's read-only key can call this too. Follow up with tasctascan_list_delegations~93 tokens
List delegated child keys (GET /delegations): this key's own direct children (id, label, scopes, active/revoked, depth, expires_at) — never the raw credential. An admin session sees every delegated key in the org. Read tier.tascan_list_devices~212 tokens
List registered devices (RFID portals, barcode guns, PLCs, cameras, robots, tools, sensors) in the organization. Filter by status (active/revoked) or kind; paginate with an opaque cursor. Never returns a credential hash.tascan_list_events~64 tokens
List all events (task lists) within a projecttascan_list_insights~109 tokens
List AI Insights (GET /insights): the audit engine's suggestions for your org (ai_suggestions), pending by default; status applied, dismissed, explained, expired or all; optional project_id. Read tier.tascan_list_invites~120 tokens
List marketplace invites you have sent and their status (pending / accepted / declined / expired / failed). Accepted invites include the worker's name and phone — that is the consent boundary; pending and declined never do.tascan_list_invoices~109 tokens
List invoices for the org (newest first) with status, client, total, due date and share link. Filter by status (draft/sent/paid/overdue/cancelled) or project.tascan_list_issues~109 tokens
List all issues for a task list (event). Returns open, acknowledged, and resolved issues with severity, type, and category. Use this to discover issues that need AI analysis via tascan_analyze_issue.tascan_list_payments~143 tokens
List gig payments and their lifecycle status: awaiting_completion (pledged, work not verified yet), ready_to_pay (verified — pay link sent to payer), paid, canceled. Filter by task list or status.tascan_list_projects~436 tokens
List TaScan projects in the organization (each with its number, e.g. P-00001, external_refs, report_options and its calendar_url, webcal_url, map_url and wallet_pass_url). Optional filters: status (exact, comma list), number (exact), ref (matches any external_refs[].ref exactly, e.g. a customer jobtascan_list_qr_styles~192 tokens
Your saved QR looks (GET /qr-styles) with the per-purpose defaults, or, given task_id, list_id, project_id or site_id (and/or purpose share, placard, asset, receipt or work_order), the look that applies (GET /qr-styles/resolve: task, then list, project, site, purpose default, org default, then TaScatascan_list_reports~95 tokens
List existing report links for a list or project (completion / service / project / evidence), newest first, with client acknowledgment status for service reports.tascan_list_scheduled_sms~135 tokens
List your org's scheduled texts (default: pending + sending, soonest first; status=sent|failed|cancelled to see history). Each row shows send_at, status, attempts, the Twilio sid once sent, and the last error for a failed row.tascan_list_sites~175 tokens
List the organization's sites (job locations: name, address, lat/lng, client company, external key). Filters: active (true, the default, false or all), q (name, address or client company) and project_id (sites linked to that project). Read tier.tascan_list_subtasks~87 tokens
List the subtasks of a task, including completion state, stored response values, and completion timestamps (per-set timing).tascan_list_tags~56 tokens
List all registered NFC tags in the organization with their linked projects/task lists and scan countstascan_list_tasks~172 tokens
List the tasks in an event (task list). status "open" returns only tasks with no completion yet: use it when checking for work to do, so a long list is not re-read in full. "done" returns only completed tasks; "all" (default) returns every task.tascan_list_templates~76 tokens
List available task templates (built-in and saved)tascan_list_verifications~156 tokens
Read a task completion's verification verdicts and job queue (Verification Layer V2, GET /completions/:completion_id/verifications): completion_verifications rows (state, method, verifier, policy, confidence, finding) plus verification_jobs rows (state, attempts, last_error, result). Read tier.tascan_list_workers~299 tokens
List workers (taskees) in the organization. Supports filtering by name/email/phone substring, contact-info presence, and last-activity date. Each row includes completion_count (total task completions).tascan_list_zones~83 tokens
List geofenced work zones, optionally filtered by project. Shows center, radius, routing target, and zone-lock status.tascan_merge_workers~286 tokens
Merge duplicate worker records into one canonical identity (Patent 4 identity consolidation). Reassigns every reference (completions, timer events, points, payments, rosters — 31 columns across 31 tables), backfills missing phone/email on the primary, sums points, and tombstones the duplicates (mergtascan_mint_completion_report~121 tokens
Mint (or reuse) a task list's completion report and get its link (POST /lists/:id/completion-report): the same stable link tascan_generate_report type completion returns, never a worker's own shift report. Nothing is sent; text it with tascan_text_report. Write tier.tascan_nudge_worker~180 tokens
Nudge a worker by text about a task list (POST /lists/:id/nudge), through the same guards as the Simple page's nudge: the list must be yours, the recipient must be known to your org, burst limits, the SMS quota and STOP opt-outs apply, and the list link is appended. Send worker_id or phone (one), antascan_org_analytics~267 tokens
Read organization-wide analytics: view org (GET /analytics/org, the get_org_analytics rollup) or view resolutions (GET /analytics/resolutions, paginated AI issue-resolution history, filterable by severity, category, and pattern-detected). Read tier.tascan_post_evidence~705 tokens
Post one evidence event into the evidence ledger (protocol v0.2 V9a, POST /evidence): an actor did an action to an object at a point in time, optionally with a location and provenance. idempotency_key is required — the same (org, idempotency_key) always returns the same row, never a second insert. Otascan_post_messageSends messages · ~657 tokens
Post a message on a task trail (protocol v0.2 trail_messages): kind question, answer, handoff or discussion. A message never completes a task, never satisfies a gate and never pages anyone. The actor is stamped from your credential (key:<id>, actor_type "key" — a credential, never a human), never frtascan_project_digest~162 tokens
One call that gives a chat client (ChatGPT, Claude) a whole TaScan project in about 2,000 words: the project, every task list with task counts, open decisions and questions, the last 5 coordination cycles with verdicts and spend, the latest 5 receipts, and total spend — returned as Markdown (cappedtascan_project_insights~180 tokens
A project's progress and insights (GET /projects/:id/insights), counted like the portal's panel: per task list done of total (people's tasks), open issues by list (open / acknowledged / in progress, 30 days; an archived, completed or demo project counts none unless demo=true), and the newest 20 actitascan_query_responses~237 tokens
Query one task's submitted responses across every list in a project — e.g. the same exercise repeated across many workout lists returns one chronological progression series instead of N report lookups. Match by task title pattern or exact task ID. Subtask completions interleave into the same seriestascan_quickstart~287 tokens
One action to a genuinely verified receipt (POST /quickstart). Under your org it reuses-or-creates the project "TaScan Quickstart", its list "Quickstart" and the worker "Quickstart executor", adds a NEW task "Reply with the exact text: <expected>", completes it with your key, has the named policy qutascan_raise_issue~197 tokens
Raise an issue on a task (POST /tasks/:id/issues), the way an admin does it in TaScan: status OPEN, source admin, the description as the first thread message. category DELAY, MISSING_MATERIALS, SAFETY_CONCERN, EQUIPMENT_ISSUE, WEATHER, PERSONNEL, QUALITY or OTHER (default); severity LOW, MEDIUM (deftascan_recommend_fix~302 tokens
Step 2 of the Closed-Loop Autonomous Operations Protocol. Post an AI-generated recommendation to an issue thread. Accepts both a text recommendation and an optional structured_recommendation object with task definitions for auto-dispatch. The recommendation is persisted in the AI audit trail.tascan_record_integration~493 tokens
D4: the dispatcher records the Netlify deploy id for an authorized cycle — Integrate cards stop landing on Mike for something a key can prove instead (protocol v0.2, migration 181, coord_record_integration). Requires agent:dispatch. The root must be `authorized` (its checkpoint already Approved) wittascan_register_agent~373 tokens
Register a new AI agent in the agent registry. The agent will appear in tascan_list_agents and can receive dispatched tasks. Self-registration for AI agents joining the TaScan network. REQUIRES the agent:dispatch permission (defining a dispatch target is a dispatch permission); inbox_id must be a tatascan_register_asset~221 tokens
Register a physical asset (equipment, structure, vehicle, machine) in the condition ledger so it can be assessed over time. Each asset gets a longitudinal condition history with AI scoring and degradation trajectory.tascan_register_tag~289 tokens
Register a physical NFC tag to a project, task list, or specific task. When someone taps the tag, TaScan routes them to the linked resource. Tags use NTAG215 chips and are programmed with NFC Tools Pro.tascan_remove_worker_from_project~161 tokens
Remove a worker from a project (DELETE /projects/:id/workers/:worker_id): deletes only that worker's assignments on the project's lists. Completions, issues and the worker record are untouched. Receipted first (actor, worker, lists, reason). To deactivate the worker everywhere use tascan_update_worktascan_reply_issueSends messages · ~132 tokens
Reply on an issue's thread (POST /issues/:id/messages): an issue_messages row from the admin side. media_path attaches a photo already uploaded to task-photos under issues/ (a storage path, never a URL). Write tier.tascan_reply_with_listChanges accounts · ~419 tokens
Reply to a task list WITH a task list — the two-way tasking primitive. Creates a new list linked into the parent's thread, aimed back at whoever sent the original (e.g. "Grant access — pick a window" with response_type date, or an info request with response_type text). The org gets pinged; the threatascan_report_engagement~108 tokens
A report's engagement (GET /reports/:token/engagement, get_report_engagement): declared, engaged and idle minutes per worker shift on the report's list. There are no view or open counts. Read tier.tascan_request_payment~362 tokens
Pledge a payment on a task list: when the list is verified complete (every task done + photo evidence on photo-required tasks), the payer automatically receives a Stripe pay link that routes the money DIRECTLY to the worker (0% TaScan fee). No money moves and no card is stored at pledge time. The wotascan_request_verification~344 tokens
Enqueue an autonomous verification job for a task completion (Verification Layer V2 + V7 doc_check, POST /completions/:completion_id/verification-jobs): http_probe checks a URL (params url, and optionally expect_status, expect_content_type, expect_sha256), doc_check runs a named policy against paramtascan_resolve_insight~168 tokens
Apply or dismiss an AI Insight (POST /insights/:id/apply or /dismiss), with the Simple page's status writes (applied / dismissed, an optional dismiss reason). Apply marks it applied and returns the suggestion (title, body, action) for you to carry out; it runs no AI and changes nothing else. Only atascan_revoke_delegationChanges accounts · ~166 tokens
Revoke a delegated child key immediately (DELETE /delegations/:key_id) — self-revoke, revoke by an ancestor key, or by an admin session of the org; any other caller is refused. Revoking cascades to every key IT delegated, in turn (the database trigger, not application code). Idempotent: revoking antascan_revoke_deviceChanges accounts · ~194 tokens
Revoke a device credential immediately — the kill switch for a lost, stolen, or decommissioned device (RFID portal, barcode gun, PLC, camera, robot, tool, sensor). Its next evidence post is refused. Idempotent: revoking an already-revoked device reports already_revoked and mints no second receipt. Rtascan_save_chat_thread~124 tokens
Create a chat thread for an admin of your org (no thread_id: POST /chat/threads with admin_id and an optional title, default New Chat) or rename one (thread_id: PUT /chat/threads/:id with title and/or preview). Write tier.tascan_save_qr_style~167 tokens
Create a saved QR look (no qr_style_id: POST /qr-styles), change one (PUT /qr-styles/:id) or delete one (delete true). style is a flat JSON object of the QR options; a logo is a storage path in your org's logo folder (<org id>/qr/<file>), never a data: URL. is_default true makes it the org default (tascan_schedule_sms~505 tokens
Schedule a transactional TaScan SMS for a future time (up to 90 days out): the text is sent by TaScan's own scheduler (every 5 minutes) through the same guarded lane as tascan_send_sms — recipient must be a worker of your org or a phone the org already knows, STOP opt-outs honoured, burst limits andtascan_search_marketplace~308 tokens
Search the cross-org Worker Marketplace: workers who opted in (discoverable=true on their passport), ranked by passkey trust tier + verified completion volume. Skills are AI-inferred from REAL completed work, not resumes — each carries a verified_task_count and a civilian_equivalent job title. Rettascan_send_smsSends messages · ~655 tokens
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. Attach images (MMS) with media_url (public https image URL) or media_base64 + media_type (jpeg/png/giftascan_send_task_emailSends messages · ~256 tokens
Send a branded TaScan task notification email via SendGrid. Can notify anyone about a specific task list or task. Includes QR code, task summary, and "Open in TaScan" button.tascan_server_info~101 tokens
Identify exactly which TaScan server and schema this MCP session is talking to. Call this FIRST when diagnosing anything — it makes "dev server masquerading as production" and "is my fix deployed yet" one tool call instead of an inference.tascan_set_access~346 tokens
Set the security level of a task list (list_id) or a task (task_id): access_level (open, assigned, secured or null), human_assignees (worker ids, lists only) and agent_assignee (an agent_id of your org, or null; lists only: a task follows its list and refuses it as task_agent_assignee_unsupported).tascan_set_template~132 tokens
Share a task list as a template (shared true: POST /templates/:list_id) or remove it from your templates (shared false: DELETE, receipted; the list itself is untouched). Returns template_url, the share link (template.html?id=). List reads carry the same template_url. Write tier.tascan_share_list~292 tokens
Get a task list's share link and its QR code (an SVG drawn by TaScan; no third-party QR service), and optionally send the link to one person: send.phone or send.worker_id texts it through TaScan's guarded SMS lane (recipient must be known to your org, STOP opt-outs and limits apply), send.email e-matascan_text_report~205 tokens
Text an existing report's link to a phone (POST /reports/:token/text) through the guarded SMS lane: the number must belong to a worker or roster entry of your org, burst limits, the SMS quota and STOP opt-outs apply, and the report's task list proves ownership. token is the report token (tascan_minttascan_today~212 tokens
The organization's Today summary (GET /today), counted exactly like the portal's Today: due_today, closed_today, awaiting_check, retake, photos_verified_7d and the needs list (each item's first reason of retake, issue, review, overdue, due_today). Archived, completed and demo projects never count (dtascan_unlink_site~106 tokens
Remove a site's link to a project (project_id) or to a task list (list_id) — exactly one. The site, the project and the list themselves are not changed. Write tier.tascan_update_event~379 tokens
Update an event / task list (name, description, team_mode, multi_instance, timer_mode). team_mode and multi_instance cannot both be true.tascan_update_invoice~244 tokens
Update an invoice: mark it paid (records paid_at; a receipted ledger event with the actor, invoice id, number, amount and the before/after status is written first, and nothing changes if it cannot be), overdue, cancelled, or edit client details / notes / due date. A paid invoice is final: any furthetascan_update_issue~129 tokens
Change an issue's status (PUT /issues/:id): OPEN, ACKNOWLEDGED, IN_PROGRESS, RESOLVED or CLOSED. RESOLVED stamps resolved_at; a status message joins the thread. The issue is never deleted. Write tier.tascan_update_project~498 tokens
Update a project (name, location, status, dates, number, external_refs, labor_rules, report_options). A number already used in the org is refused 409; external_refs replaces the whole list. report_options is merged into the stored object (other keys kept, a key set to null removed). labor_rules is vtascan_update_site~158 tokens
Update a site (name, address, lat + lng, client_company, external_key, is_active). is_active false deactivates it (the soft delete: its links, work orders and visits stay). Write tier.tascan_update_subtask~196 tokens
Update a subtask (title, description, response_type, response_config, requires_photo, sort_order).tascan_update_task~540 tokens
Update a task (title, description, response_type, flags, sort_order). A task that sits in an AI agent inbox is agent input (the runner executes title + description), so ANY edit to it needs the agent:dispatch permission — agent:dispatch:code when the task is or becomes CODE:/SHELL:.tascan_update_worker~314 tokens
Update a worker profile (name, phone, email, actor_kind), or deactivate / reactivate the worker (active false / true with an optional reason: receipted as a ledger event first, never a delete; a merged record is never reactivated). Changing actor_kind to or from agent or admin is refused for every ktascan_update_zone~524 tokens
Update a geofenced zone — move the center, resize the radius, change the routing target, toggle zone-lock, or deactivate it (is_active=false).tascan_verify_receipt~288 tokens
Independently verify a TaScan Action Receipt JWS (protocol 6.8, POST /receipts/verify): size, envelope, signature, issuer origin, key lifecycle, hashing profile, value semantics, schema and chain check, with an online issued/serial check for the reference issuer. Public route: no TaScan scope is reqtascan_void_completion~181 tokens
Void a completion that is wrong (POST /completions/:id/void): records a superseding refuted verdict (method void, with your reason) and a receipted completion_voided ledger event, and the task reads open again. The completion itself is never edited or deleted, so its receipt and hash chains stay valtascan_zone_compliance~199 tokens
Hazard-zone compliance audit (OSHA / insurance): every zone crossing, PPE checkpoint verdict (complied / failed with what was missing / skipped), and breach, plus injury reports cross-referenced with the worker's last PPE checkpoint before the injury. Scope by project or zone, optionally by worker a
Browse
Related MCP servers
- Abbyseo
Scan any URL for on-page, technical & content SEO; 0-100 score with copy-paste fixes. - Done Bear
Local-first task manager: create, edit, and complete tasks, projects, and checklists via MCP. - Ontario Protocol
Find live x402 APIs for any task (0.005 USDC, no match no charge); Base balance, tx and gas reads. - Plate
Minimal project management for teams and AI agents. - Planner MCP — provable "done" for AI agents
Goal and task planning MCP for Codex and AI agents, with evidence-backed completion. - Sectora
Threat intel + your scans/findings/Shield posture. CVE, EPSS, KEV, package vuln lookup, DAST. - FilmLab
AI film lab for filmmakers: generate and review images/clips with input provenance, cost preflight - Propstack MCP by usefulapi
Read Propstack contacts, properties, projects, deals, tasks, events; create and update CRM records.
Badge for your README
[](https://aptlynx.net/servers/io.github.snowbikemike/tascan-mcp)
Listing text is written by the maker; AptLynx lists tools and does not vouch for them. Find another tool · Browse by topic · For agents