Connection check
verified live · 26h ago
tascan-mcp
36 MCP tools for projects, tasks, workers, QR/NFC tags, and AI remediation. Task. Scan. Done.
Tools
69
GitHub stars
—
Installs / wk
587
Licence
—
Transport
streamable-http, stdio
Last checked
26h ago
Tools & capabilities
69 toolsRead from the running server on 26h ago.
tascan_add_subtasks
task_id*subtasks*
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"… 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" — each completed set stores its value and timestamp, giving per-set timing for progression tracking.
tascan_add_tasks
tasks*list_id*
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), "phot… 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: To dispatch tasks to the Claude Code agent running on Mike's PC, use tascan_dispatch_to_agent instead — it routes directly to the agent's inbox with zero configuration needed.
tascan_analyze_issue
issue_id*server_side_ai
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 d… 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 (calls Anthropic API directly).
tascan_apply_template
list_id*template_slug*
Apply a pre-built template to a task list, adding all template tasks Apply a pre-built template to a task list, adding all template tasks
tascan_assess_condition
asset_id*photo_url*worker_name
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 t… 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 degradation trajectory. Sensor-free predictive maintenance.
tascan_auto_resolve
issue_id*
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… 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-world instruction delivery.
tascan_complete_subtask
notesworker_idsubtask_id*response_value
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… 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_task.
tascan_complete_task
notestask_id*worker_id*response_value
Complete a task on behalf of a worker. Inserts a completion record and timer event. Use this to simulate or record task completions via the API. Complete a task on behalf of a worker. Inserts a completion record and timer event. Use this to simulate or record task completions via the API.
tascan_condition_history
read-only
asset_id*
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. 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_create_event
name*team_modeproject_id*descriptionmulti_instanceassigned_worker_ids
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 co… 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_invoice
notesstatusbillingdue_datetax_ratemin_hours
+11
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 f… 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 work ("<list> — 7/7 tasks verified · Sep 1 · 1.25h"); lists with no completions are skipped. A single-list invoice also mints a client-facing Service Report (acknowledge → pay) and links it. Returns invoice number, totals, url, and the work it billed.
tascan_create_project
name*location
Create a new TaScan project (top-level container for events) Create a new TaScan project (top-level container for events)
tascan_create_worker
name*emailphone
Create a new worker (taskee) in the organization Create a new worker (taskee) in the organization
tascan_create_zone
lat*lng*kindname*polygonradius_m
+16
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. Se… 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_delete_event
can modify data
list_id*
Delete an event (task list) and all its tasks and completions. This action is irreversible. Delete an event (task list) and all its tasks and completions. This action is irreversible.
tascan_delete_project
can modify data
project_id*
Delete a project and all its events, tasks, and completions. This action is irreversible. Delete a project and all its events, tasks, and completions. This action is irreversible.
tascan_delete_subtask
can modify data
subtask_id*
Delete a subtask and its completions. This action is irreversible. Delete a subtask and its completions. This action is irreversible.
tascan_delete_task
can modify data
task_id*
Delete a specific task and its completions. This action is irreversible. Delete a specific task and its completions. This action is irreversible.
tascan_delete_worker
can modify data
worker_id*
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… 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
ai_agentissue_id*send_smsworker_idinstruction*remediation_tasks
+1
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) pr… 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 digital AI analysis to physical worker execution.
tascan_dispatch_to_agent
task*agentpriority
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. Supports prefixes: CODE: SHELL: RE… 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. Supports prefixes: CODE: SHELL: RESEARCH: WRITE: PLAN: for routing. Use "agent" param to target a specific agent (default: claude-code-local). Use tascan_list_agents to discover available agents.
tascan_find
read-only
typequery*
Cross-entity search: find projects, task lists, tasks, workers, or condition assets by name in one call — with ids and parent context to disambiguate. Use this instead of walking p… Cross-entity search: find projects, task lists, tasks, workers, or condition assets by name in one call — with ids and parent context to disambiguate. Use this instead of walking projects→lists→tasks or guessing ids from display names.
tascan_find_duplicate_workers
read-only
namethresholdworker_idinclude_orphans
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 fragmentat… 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_generate_qr
list_id*
Generate a QR code for a task list (event) that workers can scan to access tasks Generate a QR code for a task list (event) that workers can scan to access tasks
tascan_generate_report
type*list_idmessagesend_noteproject_idshow_issues
+3
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 (clie… 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 list thread), project (every list in a project rolled up), evidence (compliance Evidence Pack; admin sign-in required to view). Links are stable — the same list/project returns the same link. Optionally text the link to a phone through the TaScan SMS lane.
tascan_get_event
read-only
list_id*
Get details of a specific event (task list) including its tasks Get details of a specific event (task list) including its tasks
tascan_get_project
read-only
project_id*
Get details of a specific project Get details of a specific project
tascan_get_report
read-only
list_id*include_responses
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 (numb… 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.
tascan_get_scan_history
read-only
limitsincesourcetag_idproject_idtask_list_id
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… 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 scanning and actually identifying + starting work — the sign-in-and-vanish metric).
tascan_get_sms_status
read-only
twilio_sid*
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. 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
read-only
task_id*
Get details of a specific task including completions Get details of a specific task including completions
tascan_get_worker
read-only
worker_id*
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.) 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
read-only
worker_id*
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… 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_invite_worker
list_id*messageworker_id*
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… 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, and you get a text + a thread message. On NO or silence (7 days) you never learn who they were. Use the worker_id from tascan_search_marketplace.
tascan_list_agents
read-only
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… 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
read-only
project_id
List registered condition-ledger assets with their latest condition scores. Use to recover an asset_id for tascan_assess_condition or tascan_condition_history. 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_events
read-only
project_id*
List all events (task lists) within a project List all events (task lists) within a project
tascan_list_invites
read-only
status
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 conse… 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
read-only
statusproject_id
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. 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
read-only
list_id*
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 ta… 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
read-only
statustask_list_id
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 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
read-only
List all TaScan projects in the organization List all TaScan projects in the organization
tascan_list_reports
read-only
list_idproject_id
List existing report links for a list or project (completion / service / project / evidence), newest first, with client acknowledgment status for service reports. List existing report links for a list or project (completion / service / project / evidence), newest first, with client acknowledgment status for service reports.
tascan_list_subtasks
read-only
task_id*
List the subtasks of a task, including completion state, stored response values, and completion timestamps (per-set timing). List the subtasks of a task, including completion state, stored response values, and completion timestamps (per-set timing).
tascan_list_tags
read-only
List all registered NFC tags in the organization with their linked projects/task lists and scan counts List all registered NFC tags in the organization with their linked projects/task lists and scan counts
tascan_list_tasks
read-only
list_id*
List all tasks in an event (task list) List all tasks in an event (task list)
tascan_list_templates
read-only
category
List available task templates (built-in and saved) List available task templates (built-in and saved)
tascan_list_workers
read-only
queryhas_emailhas_phoneactive_sinceinclude_inactive
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 (tot… 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
read-only
project_id
List geofenced work zones, optionally filtered by project. Shows center, radius, routing target, and zone-lock status. List geofenced work zones, optionally filtered by project. Shows center, radius, routing target, and zone-lock status.
tascan_merge_workers
can modify data
dry_runprimary_worker_id*duplicate_worker_ids*
Merge duplicate worker records into one canonical identity (Patent 4 identity consolidation). Reassigns every reference (completions, timer events, points, payments, rosters — 31 c… 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 (merged_into + is_active=false — NEVER hard-deletes). ALWAYS run with dry_run=true first and show Mike the counts; pass dry_run=false only after explicit confirmation.
tascan_query_responses
read-only
task*limitproject_id*
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… 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 series labeled 'Task › Subtask' (e.g. per-set values Set 1/2/3 with their own timestamps), so set-level progression chains across lists automatically.
tascan_recommend_fix
ai_agentissue_id*recommendation*structured_recommendation
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_reco… 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_register_agent
id*name*type*modelinbox_id*location
+3
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 netw… 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.
tascan_register_asset
name*asset_typeproject_iddescriptionserial_numberlocation_description
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… 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
task_idtag_name*project_idtarget_type*task_list_idtag_hardware_id*
+1
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 programm… 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_reply_with_list
tasks*title*author_nameparent_list_id*
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 acce… 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 thread shows in both the worker portal and Simple Mode. Use tascan_get_thread-style follow-up via tascan_list_projects/tascan_get_report to read answers.
tascan_request_payment
memoworker_id*payer_namepayer_email*amount_cents*task_list_id*
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 t… 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 worker must have completed payout onboarding (Get Paid on their profile).
tascan_search_marketplace
read-only
qcitylimitavailablemin_completions
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-infer… 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. Returns sanitized public cards only (first name + last initial, skills, stats, passport URL) — never phone, email, or org membership.
tascan_send_sms
phonelist_idmessage*worker_idinclude_link
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-ope… 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.
tascan_send_task_email
list_id*messagesubjecttask_idto_nameto_email*
+1
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. 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
read-only
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… 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_update_event
namelist_id*team_modetimer_modedescriptionmulti_instance
+1
Update an event / task list (name, description, team_mode, multi_instance, timer_mode). team_mode and multi_instance cannot both be true. 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
notesstatuspaid_atdue_dateinvoice_id*client_name
+2
Update an invoice: mark it paid (records paid_at), overdue, cancelled, or edit client details / notes / due date. Update an invoice: mark it paid (records paid_at), overdue, cancelled, or edit client details / notes / due date.
tascan_update_project
namestatusend_datelocationproject_id*start_date
Update a project (name, location, status, dates) Update a project (name, location, status, dates)
tascan_update_subtask
titlesort_ordersubtask_id*descriptionresponse_typerequires_photo
+1
Update a subtask (title, description, response_type, response_config, requires_photo, sort_order). Update a subtask (title, description, response_type, response_config, requires_photo, sort_order).
tascan_update_task
titletask_id*sort_orderassigned_todescriptionresponse_type
+4
Update a task (title, description, response_type, flags, sort_order) Update a task (title, description, response_type, flags, sort_order)
tascan_update_worker
nameemailphoneworker_id*
Update a worker profile (name, phone, email) Update a worker profile (name, phone, email)
tascan_update_zone
latlngkindnamepolygonzone_id*
+16
Update a geofenced zone — move the center, resize the radius, change the routing target, toggle zone-lock, or deactivate it (is_active=false). Update a geofenced zone — move the center, resize the radius, change the routing target, toggle zone-lock, or deactivate it (is_active=false).
tascan_zone_compliance
read-only
sinceuntilzone_idworker_idproject_id