Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

TaScan

REMOTE · APP.TASCAN.IO · 2 COMPONENTS · SCANNED SEP 20

36 MCP tools for projects, tasks, workers, QR/NFC tags, and AI remediation. Task. Scan. Done.

+2 this week 90 Trust /100
Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →

Endpoint Security94
Transport & Reachability100
Schema Quality & AI Usability68
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 12174 tokens (~154/item across 79 items; 79 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management100
  • No destabilizing schema changes in the last 30 days.Pass
Tool Coverage95
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 85% of tool parameters carry a description.Partial
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • All 8 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
  • An AI judge read all 79 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities60
  • Spec-recency check failed: implements MCP spec 2025-06-18; the latest is 2026-07-28. See how to fix → Fail
Install

How do I install the TaScan MCP server?

TaScan is a hosted endpoint at https://app.tascan.io/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

remote · app.tascan.io

# add to Claude Code
claude mcp add --transport http snowbikemike-tascan-mcp 'https://app.tascan.io/mcp'
// .cursor/mcp.json
{
  "mcpServers": {
    "snowbikemike-tascan-mcp": {
      "url": "https://app.tascan.io/mcp"
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "snowbikemike-tascan-mcp": {
      "type": "http",
      "url": "https://app.tascan.io/mcp"
    }
  }
}
# ~/.codex/config.toml
[mcp_servers.snowbikemike-tascan-mcp]
url = "https://app.tascan.io/mcp"
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "snowbikemike-tascan-mcp": {
      "type": "remote",
      "url": "https://app.tascan.io/mcp",
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add snowbikemike-tascan-mcp --url 'https://app.tascan.io/mcp' --transport streamable-http
# ~/.hermes/config.yaml
mcp_servers:
  snowbikemike-tascan-mcp:
    url: "https://app.tascan.io/mcp"
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "snowbikemike-tascan-mcp": {
      "Transport": "http",
      "Url": "https://app.tascan.io/mcp"
    }
  }
}
# add to Vellum
assistant mcp add snowbikemike-tascan-mcp -t streamable-http -u 'https://app.tascan.io/mcp'
// mcp.json
{
  "mcpServers": {
    "snowbikemike-tascan-mcp": {
      "type": "http",
      "url": "https://app.tascan.io/mcp"
    }
  }
}

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 20 Sept 26 0
    • Tool “tascan_create_cycle” rewrote its description, which is the text the model reads security
    • Server version: 3.14.1 → 3.15.0 functional
    • “tascan_create_cycle” added an optional parameter “reviews” cosmetic
    • “tascan_create_cycle” reworded the description of “review_brief” cosmetic
  • 19 Sept 26 0
    • New tool “tascan_cancel_scheduled_sms”, which the server declares destructive security
    • Server version: 3.13.1 → 3.14.1 functional
    • New tool “tascan_schedule_sms” functional
    • New tool “tascan_list_scheduled_sms” functional
    • New tool “tascan_project_digest” functional
    • “tascan_create_cycle” added an optional parameter “repo” cosmetic
  • 17 Sept 26 0
    • Stability: 0.97 → pass security
    • Tool “tascan_get_build” rewrote its description, which is the text the model reads security
    • Tool “tascan_get_build_file” rewrote its description, which is the text the model reads security
  • 16 Sept 26 +1
    • Tool “tascan_complete_task” rewrote its description, which is the text the model reads security
    • Tool “tascan_get_receipt” rewrote its description, which is the text the model reads security
    • Schema quality: 131 → 148 functional
    • New tool “tascan_get_build_file” functional
    • New tool “tascan_get_cycle_report” functional
    • New tool “tascan_post_message” functional
    • New tool “tascan_create_cycle” functional
    • New tool “tascan_get_build” functional
    • “tascan_get_receipt” reworded the description of “profile” cosmetic
  • 15 Sept 26 +1
    • Tool “tascan_add_tasks” rewrote its description, which is the text the model reads security
    • Tool “tascan_dispatch_to_agent” rewrote its description, which is the text the model reads security
    • Tool “tascan_get_task” rewrote its description, which is the text the model reads security
    • Tool “tascan_register_agent” rewrote its description, which is the text the model reads security
    • Tool “tascan_update_task” rewrote its description, which is the text the model reads security
    • MCP protocol version: 2025-03-26 → 2025-06-18 functional
    • Server version: 3.12.0 → 3.13.1 functional
    • New tool “tascan_get_receipt” functional
    • “tascan_dispatch_to_agent” reworded the description of “agent” cosmetic
    • “tascan_dispatch_to_agent” reworded the description of “priority” cosmetic
    • “tascan_dispatch_to_agent” reworded the description of “task” cosmetic
  • 13 Sept 26 +1
    • Server version: 3.11.0 → 3.12.0 functional
  • 12 Sept 26 0
    • Tool “tascan_get_task” rewrote its description, which is the text the model reads security
    • Tool “tascan_get_report” rewrote its description, which is the text the model reads security
    • Schema quality: good → excellent functional
    • Server version: 3.9.0 → 3.11.0 functional
  • 11 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 77 to 80. That category is still filling its 30-day observation window: 23 days of observed history at the previous scan, 24 at this one. The score rises as the window fills, whether or not the server changes.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 20 Sept 2026 · Probed https://app.tascan.io/mcp

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=tascan.io CN=YE1,O=Let's Encrypt,C=US 7 Sept 2026 6 Dec 2026 ECDSA 256 ECDSA-SHA384 5b0592230696a03c49a5c4752173414f010
SANs: *.tascan.io, tascan.io
CN=YE1,O=Let's Encrypt,C=US (CA) CN=Root YE,O=ISRG,C=US 3 Sept 2025 2 Sept 2028 ECDSA 384 ECDSA-SHA384 5ddd70dd31f801c85c186a7a04b80afe
CN=Root YE,O=ISRG,C=US (CA) CN=ISRG Root X2,O=Internet Security Research Group,C=US 13 May 2026 2 Sept 2032 ECDSA 384 ECDSA-SHA384 872165fc34b6e5fba8add5b3705fb53a
CN=ISRG Root X2,O=Internet Security Research Group,C=US (CA) CN=ISRG Root X1,O=Internet Security Research Group,C=US 13 May 2026 2 Sept 2032 ECDSA 384 SHA256-RSA 6c8f1dc727c7117f7baf853ac980f9cd

Background: What to check on a remote MCP endpoint →

DNSSEC insecure

Validation of app.tascan.io. Not signed

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
io. present 57355 8 Verified
tascan.io. absent Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
Authentication Enforced and verified

The endpoint asked for a token and published valid RFC 9728 metadata describing how to get one.

Result Enforced and verified
Enforced On tool calls
HTTP status 200

WWW-Authenticate challenge Bearer resource_metadata="https://app.tascan.io/.well-known/oauth-protected-resource"

Bearer resource_metadata="https://app.tascan.io/.well-known/oauth-protected-resource"
Header Value
strict-transport-security max-age=31536000

Protected resource metadata

Document https://app.tascan.io/.well-known/oauth-protected-resource
Retrieved Yes
Resource https://app.tascan.io/mcp
Authorisation server https://app.tascan.io

Background: How OAuth 2.1 works in the 2026 MCP spec →

Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://app.tascan.io/mcp Verified 200
http (plaintext) http://app.tascan.io/mcp HTTPS enforced 301 https://app.tascan.io/mcp
MCP tools · 79 exposed · ~12,174 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
tascan_add_subtasks ~136

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.

NameTypeReqDescription
subtasksarrayyesArray of subtasks to create
task_idstringyesParent task ID

No output schema declared.

No examples provided.

tascan_add_tasks ~150

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 an AI agent use tascan_dispatch_to_agent instead. Writing into an agent inbox list requires the agent:dispatch permission (agent:dispatch:code for CODE:/SHELL: titles) — without it the call is refused.

NameTypeReqDescription
list_idstringyesTask list (event) ID
tasksarrayyesArray of tasks to create

No output schema declared.

No examples provided.

tascan_analyze_issue ~119

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).

NameTypeReqDescription
issue_idstringyesIssue ID to analyze
server_side_aibooleanIf true, the server calls Anthropic API directly for AI analysis (default: false — returns raw data for MCP client to analyze)

No output schema declared.

No examples provided.

tascan_apply_template ~63

Apply a pre-built template to a task list, adding all template tasks

NameTypeReqDescription
list_idstringyesTask list (event) ID
template_slugstringyesTemplate slug (e.g. "conference-load-in", "warehouse-receiving")

No output schema declared.

No examples provided.

tascan_assess_condition ~124

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.

NameTypeReqDescription
asset_idstringyesAsset ID (from tascan_register_asset or tascan_list_assets)
photo_urlstringyesPublic URL of the assessment photo
worker_namestringWho took the photo (optional)

No output schema declared.

No examples provided.

tascan_auto_resolve ~82

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.

NameTypeReqDescription
issue_idstringyesIssue ID to auto-resolve

No output schema declared.

No examples provided.

tascan_cancel_scheduled_sms ~73

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.

NameTypeReqDescription
idstringyesThe scheduled_sms row id from tascan_schedule_sms / tascan_list_scheduled_sms

No output schema declared.

No examples provided.

tascan_complete_subtask ~133

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.

NameTypeReqDescription
notesstringOptional notes
response_valuestringTyped response value (for number/text/choice subtasks), e.g. "165"
subtask_idstringyesSubtask ID to complete
worker_idstringWorker performing the completion (optional)

No output schema declared.

No examples provided.

tascan_complete_task ~161

Complete an ORDINARY task on behalf of a worker. Inserts a completion record and timer event. Use this to simulate or record task completions via the API. 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: builds and reviews are completed by their runner, decisions only by the human on the worker page.

NameTypeReqDescription
notesstringOptional completion notes
response_valuestringResponse value (for text/number/choice tasks)
task_idstringyesTask ID to complete
worker_idstringyesWorker ID performing the completion

No output schema declared.

No examples provided.

tascan_condition_history ~55

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.

NameTypeReqDescription
asset_idstringyesAsset ID

No output schema declared.

No examples provided.

tascan_create_cycle ~1,130

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. The local executor builds, stores the exact bytes of artifact_paths as a bundle (build_ref = sha256 over the manifest), the independent reviewer reviews THAT bundle, an approve verdict mints a Decision task for the human authority (one SMS), Approve mints an Integrate task for the deploy id. Revise verdicts spawn revisions (cap max_revisions, default 3); reject, human Reject, scope violations or exhausted revisions PARK the cycle (a Parked task with Resume with notes / Close). REQUIRES agent:dispatch:code. Duplicate protection: the same idempotency_key, or the same briefs + paths, within 24 h returns the existing root instead of queueing again (created=false). Optional `reviews[]` attaches a multi-lens review panel (design item 14a) in place of the single OpenAI review — one review task mints per lens and every blocking lens must approve before the Decision task mints. Track with tascan_get_cycle_report (root_id). Nothing spawns a cycle on its own.

NameTypeReqDescription
artifact_pathsarrayyesRepo-relative paths the build binds (1-64). Exactly these files are stored as the bundle and hashed into build_ref; files the executor touches OUTSIDE them fail the scope check and park the cycle. No…
build_briefstringyesThe executor prompt (1-40000 chars). Executed verbatim by the local Claude Code runner as a CODE:/SHELL: task — write it as a complete instruction, name the files, forbid nothing the runner already f…
checkpoint_descriptionstringOptional description template for the Decision task; the build_ref, preview and findings summary are appended.
checkpoint_titlestringOptional title template for the Decision task (default "Decision: <title>").
idempotency_keystringOptional caller key (≤ 200 chars). The same key within 24 h returns the existing cycle (created=false) instead of a duplicate dispatch.
integrate_descriptionstringOptional description template for the Integrate task.
integrate_titlestringOptional title template for the Integrate task (default "Integrate: <title>").
max_cost_micro_usdintegerPer-cycle spend cap summed over every attempt, in micro-USD (default 5000000 = USD 5). A claim that could overrun it is refused (budget_exhausted).
max_questionsintegerQuestions a runner may ask per task before the attempt fails (default 3).
max_revisionsintegerRevision cap (default 3): at most max_revisions + 1 builds and reviews.
preview_urlstringOptional https preview link shown on the Decision task.
project_idstringyesWorking project (UUID). Its Decisions and Agent Questions lists are created on the first cycle (coord_ensure_lists). Requires the org human authority to be configured (coord_set_authority) — otherwis…
repostringWhich codebase on the executor the build runs in — an alias from the executor's allowlist (tascan-agent/repos.json), e.g. "tascan" (default), "merchskipper", "inkskipper", "rangerlizzy", "cardvault",…
review_briefstringyesThe reviewer prompt (1-40000 chars). The reviewer reads the stored bundle (tascan_get_build / tascan_get_build_file), the task text and the filtered trail; it returns approve, revise, reject or needs…
reviewsarrayOptional multi-lens review panel (design item 14a) instead of today's single OpenAI review_brief lens — 1-8 entries, each: {lens: slug matching ^[a-z][a-z0-9-]{0,39}$ unique per array (e.g. "code-cor…
task_typestringT1 prefix (default CODE).
titlestringyesShort human title (1-200 chars). T1 becomes "CODE: <title>", T2 "REVIEW: <title>".

No output schema declared.

No examples provided.

tascan_create_event ~158

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.

NameTypeReqDescription
assigned_worker_idsarrayWorker UUIDs to assign to this event. Each gets a personal tap-to-open link. Note: a worker holds one event assignment per project — assigning moves them.
descriptionstringEvent description
multi_instancebooleanMulti-instance — each worker gets isolated copy
namestringyesEvent name
project_idstringyesProject ID
team_modebooleanTeam mode — shared completions

No output schema declared.

No examples provided.

tascan_create_invoice ~586

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.

NameTypeReqDescription
attach_service_reportbooleanMint + link a Service Report for single-list invoices (default true)
billingobjectBilling rules for auto line items. mode: hourly (default when hourly_rate given) | day_rate | flat. Overtime/double time are computed PER WORK DAY from verified completions: hours over overtime_after…
client_emailstring
client_namestringyesBill-to name (person or company)
client_phonestring
company_namestringYour company name on the attached Service Report (defaults to the org name)
due_datestringYYYY-MM-DD (default: 30 days out)
flat_rate_per_listnumberDollars per list for auto line items (used when no hourly_rate)
hourly_ratenumberDollars per hour for auto line items
line_itemsarrayExplicit lines instead of auto-billing
min_hoursnumberMinimum billable hours per list (e.g. 1)
notesstringPayment terms / thank-you shown on the invoice
payment_optionsobjectPay-how-you-like buttons on the invoice (defaults to the org's saved handles). Keys: venmo (@handle), cashapp ($cashtag), paypal (paypal.me name), zelle (phone/email), applecash (phone), other (free…
project_idstringBill every list in this project (auto line items)
statusstringDefault sent
task_list_idsarrayBill just these lists (auto line items)
tax_ratenumberFraction, e.g. 0.0825 for 8.25%

No output schema declared.

No examples provided.

tascan_create_project ~43

Create a new TaScan project (top-level container for events)

NameTypeReqDescription
locationstringProject location / venue
namestringyesProject name

No output schema declared.

No examples provided.

tascan_create_worker ~48

Create a new worker (taskee) in the organization

NameTypeReqDescription
emailstringEmail
namestringyesWorker name
phonestringPhone number

No output schema declared.

No examples provided.

tascan_create_zone ~616

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.

NameTypeReqDescription
alert_on_breachbooleanEmail + SMS the admin on containment-exit / restricted-enter (default true)
auto_clock_inbooleanEntering the zone writes a shift_start clock-in event
auto_clock_outbooleanLeaving the zone writes a shift_end clock-out event
descriptionstringShown to workers on the Site Gate page
enforce_on_listbooleanZone-lock the task list — it cannot be started from outside the radius
enter_messagestringWhat the worker sees / is texted on entry (default is generated from the rule)
kindstringWhat the fence MEANS. work_site: expected here (auto clock-in, list on enter). hazard: enter allowed under conditions — required_ppe + photo checkpoint verified by AI vision, the OSHA row. containmen…
latnumberyesZone center latitude
lngnumberyesZone center longitude
namestringyesZone name (e.g. "Stage Left", "Loading Dock")
notify_emailstringAlert recipient override — defaults to all org admins
notify_on_enterbooleanEmail the manager when a worker enters this zone (danger areas)
notify_on_exitbooleanEmail the manager when a worker leaves this zone (accountability — sign in then disappear)
polygonarrayPolygon/rectangle zone instead of a circle: vertices as [[lat,lng], ...], at least 3. lat/lng/radius_m are then computed (centroid + bounding radius) — still pass lat/lng but they are overridden.
ppe_photo_requiredbooleanHazard zones: pop a photo checkpoint on entry (default true when required_ppe is set)
project_idstringProject this zone belongs to
radius_mnumberRadius in meters (default 150, min 10, max 100000)
required_ppearrayHazard zones: PPE the worker must show at entry (pick-list so the audit reads the same words)
sms_worker_on_enterbooleanText the worker the rule/list on entry, even if the app is closed
sms_worker_on_exitbooleanText the worker on exit
task_list_idstringTask list the Site Gate routes workers to when they are inside this zone
task_list_on_enterstringTask list dispatched to the worker (in-app + SMS) when they cross into the zone

No output schema declared.

No examples provided.

tascan_delete_event ~46

Delete an event (task list) and all its tasks and completions. This action is irreversible.

NameTypeReqDescription
list_idstringyesTask list (event) ID to delete

No output schema declared.

No examples provided.

tascan_delete_project ~41

Delete a project and all its events, tasks, and completions. This action is irreversible.

NameTypeReqDescription
project_idstringyesProject ID to delete

No output schema declared.

No examples provided.

tascan_delete_subtask ~39

Delete a subtask and its completions. This action is irreversible.

NameTypeReqDescription
subtask_idstringyesSubtask ID to delete

No output schema declared.

No examples provided.

tascan_delete_task ~36

Delete a specific task and its completions. This action is irreversible.

NameTypeReqDescription
task_idstringyesTask ID to delete

No output schema declared.

No examples provided.

tascan_delete_worker ~65

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.

NameTypeReqDescription
worker_idstringyesWorker ID to delete

No output schema declared.

No examples provided.

tascan_dispatch_instruction ~234

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.

NameTypeReqDescription
ai_agentstringName of the AI agent dispatching (default: TaScan AI)
instructionstringyesClear, actionable instruction for the worker to execute
issue_idstringyesIssue ID this instruction relates to
recommendation_summarystringOne-line summary for the task list description
remediation_tasksarrayOptional array of tasks to create as a remediation task list. Each: { title, description, response_type, requires_photo, is_safety_checkpoint, sort_order }
send_smsbooleanSend SMS to worker (default: true if phone on file)
worker_idstringTarget worker ID (defaults to the worker who reported the issue)

No output schema declared.

No examples provided.

tascan_dispatch_to_agent ~328

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(es) if refused. Routing is by TITLE PREFIX only: CODE: SHELL: PLAN: MCP: → local Claude Code on Mike's PC; RESEARCH: WRITE: REVIEW: → cloud; no prefix (DEFAULT) → local while the PC agent is alive, else cloud. The cloud agent refuses CODE/SHELL/PLAN/MCP. Use "agent" param to target a specific agent (default: claude-code-local). Use tascan_list_agents to discover available agents; track progress with tascan_get_task (its "agent" block).

NameTypeReqDescription
agentstringAgent ID or name to dispatch to (default: claude-code-local). Use tascan_list_agents to see options. An unknown agent is an error, never a silent fallback.
prioritystringPriority level (default: normal). The urgent marker is placed AFTER the routing prefix so it never breaks routing.
taskstringyesThe full task text. START it with CODE: SHELL: PLAN: MCP: RESEARCH: WRITE: or REVIEW: for routing (prefix-only — nothing may precede it), or leave it unprefixed (DEFAULT). The whole text is stored in…

No output schema declared.

No examples provided.

tascan_find ~93

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.

NameTypeReqDescription
querystringyesSearch text (min 2 chars, case-insensitive substring)
typestringOptional: restrict to one entity type

No output schema declared.

No examples provided.

tascan_find_duplicate_workers ~145

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.

NameTypeReqDescription
include_orphansbooleanAlso consider org-less (orphan) worker records — off by default
namestringOr: search duplicates by display name
thresholdnumberMin confidence 0-1 (default 0.15)
worker_idstringAnchor worker to find duplicates OF (preferred — enables phone + GPS signals)

No output schema declared.

No examples provided.

tascan_generate_qr ~44

Generate a QR code for a task list (event) that workers can scan to access tasks

NameTypeReqDescription
list_idstringyesTask list (event) ID

No output schema declared.

No examples provided.

tascan_generate_report ~284

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.

NameTypeReqDescription
company_namestringService report branding (defaults to the org name)
list_idstringRequired for completion / service
messagestringService report: a note to the client shown under the header
project_idstringRequired for project / evidence
send_notestringShort intro for the text, e.g. "Here is your report from Love Productions:"
send_to_phonestringText the link to this number (E.164 or 10-digit US)
show_issuesbooleanService report: include reported issues (default false)
show_workersbooleanService report: show worker names (default true)
typestringyes

No output schema declared.

No examples provided.

tascan_get_build ~181

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, computed in the database once; the reviewer reviews THESE bytes, the human approves THIS ref, the integrate task records THIS ref. Read tier. Use tascan_get_build_file to read a file. Truncated at 12000 chars. Reading the manifest is discovery, not a read of any file.

NameTypeReqDescription
build_refstringyessha256:<64 hex> (or the bare 64 hex) — from tascan_get_task (coord.build_ref / agent.runs[].build_ref) or tascan_get_cycle_report.

No output schema declared.

No examples provided.

tascan_get_build_file ~219

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 or over-cap files return no content (the sha256 still binds them). Read tier; this is what the independent reviewer reads. The header lines (path, build, sha256, chars a-b of total) are the record a reviewer's read is bound to; read every chunk until the range covers the whole file.

NameTypeReqDescription
build_refstringyessha256:<64 hex> (or the bare 64 hex).
limitintegerCharacters to return (1-12000, default 12000).
offsetintegerCharacter offset to start from (default 0).
pathstringyesRepo-relative path exactly as listed by tascan_get_build.

No output schema declared.

No examples provided.

tascan_get_cycle_report ~261

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 id = completion id, receipt hash), every reviewer verdict, every human decision and answer, the full trail (messages), the ledger events and the hash-chain verdict per task, plus spend against the cap. A computed summary (stage, attempts, verdicts, decisions, receipts, spend, chains_ok) comes first; pass full=true for the complete JSON (large). Read tier. This is the ONLY per-cycle notification surface: cycle steps do not e-mail or text anyone except the one checkpoint / human-question SMS.

NameTypeReqDescription
fullbooleantrue = the complete report JSON (tasks, runs, completions, messages, events, bundles, chains) after the summary, capped at 12000 chars. Default: summary only.
root_idstringyesThe cycle root = the T1 build task id (returned by tascan_create_cycle; a non-root cycle task returns its root_id in the error).

No output schema declared.

No examples provided.

tascan_get_event ~38

Get details of a specific event (task list) including its tasks

NameTypeReqDescription
list_idstringyesTask list (event) ID

No output schema declared.

No examples provided.

tascan_get_project ~27

Get details of a specific project

NameTypeReqDescription
project_idstringyesProject ID

No output schema declared.

No examples provided.

tascan_get_receipt ~347

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; all-null verification with reason no_policy_run = no policy ran. Never treat outcome=completed as success without a policy verdict you trust (protocol 8.3 C11). Verifier: 6.8. profile=public returns the separately signed public export profile (protocol 6.10): it withholds the raw org, list, project, worker, run and trace ids (each a 16-hex id_hash) and storage locators, and binds to the full receipt - the form for anyone outside the org. Read tier.

NameTypeReqDescription
completion_idstringyestask_completions.id (UUID) - from tascan_get_task -> completions[].id
profilestringfull (default) = the org view with the unsigned private block; public = the separately signed public export profile: no raw org, list, project, worker, run or trace id (each is a 16-hex id_hash), no…

No output schema declared.

No examples provided.

tascan_get_report ~120

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) for the photo evidence.

NameTypeReqDescription
include_responsesbooleanInclude the actual submitted response values for each completed task (default false — keeps the payload light)
list_idstringyesTask list (event) ID

No output schema declared.

No examples provided.

tascan_get_scan_history ~219

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).

NameTypeReqDescription
limitnumberMax results (default 50, max 200)
project_idstringProject ID — page-scan mode, all lists in the project
sincestringISO timestamp — only scans after this
sourcestringFilter page scans by channel: qr | nfc | sms | email | link | unknown
tag_idstringNFC tag registry ID (from tascan_list_tags) — tag mode
task_list_idstringTask list ID — page-scan mode

No output schema declared.

No examples provided.

tascan_get_sms_status ~73

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.

NameTypeReqDescription
twilio_sidstringyesTwilio message SID (SM...) from tascan_send_sms

No output schema declared.

No examples provided.

tascan_get_task ~236

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).

NameTypeReqDescription
task_idstringyesTask ID

No output schema declared.

No examples provided.

tascan_get_worker ~62

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.)

NameTypeReqDescription
worker_idstringyesWorker ID

No output schema declared.

No examples provided.

tascan_get_worker_passport ~73

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.

NameTypeReqDescription
worker_idstringyesWorker ID

No output schema declared.

No examples provided.

tascan_invite_worker ~165

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.

NameTypeReqDescription
list_idstringyesTask list you want them on
messagestringOptional short intro prepended to the text (max 240 chars)
worker_idstringyesworker_id from a marketplace card

No output schema declared.

No examples provided.

tascan_list_agents ~49

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.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

tascan_list_assets ~51

List registered condition-ledger assets with their latest condition scores. Use to recover an asset_id for tascan_assess_condition or tascan_condition_history.

NameTypeReqDescription
project_idstringFilter by project

No output schema declared.

No examples provided.

tascan_list_events ~31

List all events (task lists) within a project

NameTypeReqDescription
project_idstringyesProject ID

No output schema declared.

No examples provided.

tascan_list_invites ~60

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.

NameTypeReqDescription
statusstring

No output schema declared.

No examples provided.

tascan_list_invoices ~68

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.

NameTypeReqDescription
project_idstring
statusstring

No output schema declared.

No examples provided.

tascan_list_issues ~67

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.

NameTypeReqDescription
list_idstringyesTask list (event) ID

No output schema declared.

No examples provided.

tascan_list_payments ~76

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.

NameTypeReqDescription
statusstringFilter by status
task_list_idstringFilter by task list

No output schema declared.

No examples provided.

tascan_list_projects ~19

List all TaScan projects in the organization

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

tascan_list_reports ~55

List existing report links for a list or project (completion / service / project / evidence), newest first, with client acknowledgment status for service reports.

NameTypeReqDescription
list_idstring
project_idstring

No output schema declared.

No examples provided.

tascan_list_scheduled_sms ~82

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.

NameTypeReqDescription
statusstringFilter by status (default pending + sending)

No output schema declared.

No examples provided.

Common questions

What is the TaScan MCP server?

TaScan is an MCP server listed in the public MCP registry as io.github.snowbikemike/tascan-mcp. 36 MCP tools for projects, tasks, workers, QR/NFC tags, and AI remediation. Task. Scan. Done. This page covers its hosted endpoint (https://app.tascan.io/mcp).

Is the TaScan MCP server safe to use?

TaScan scores 90 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the TaScan MCP server expose?

TaScan exposes 79 tools: tascan_list_projects, tascan_create_project, tascan_get_project, tascan_update_project, tascan_delete_project, and 74 more. Their descriptions and schemas cost roughly 12,174 tokens of context every time the server is loaded.

Does the TaScan MCP server require authentication?

Yes. TaScan asked us for credentials when we connected, so you will need to authorise it in your MCP client before it can do anything.

Is the TaScan MCP server still maintained?

TaScan is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.