# TaScan (remote · tascan-live-event.netlify.app)

Universal task protocol — manage projects, tasks, workers, QR codes, and reports.

- Trust score: 76/100 (medium)
- Change this week: +8
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- remote · `tascan-live-event.netlify.app`: 76/100 (this document), [markdown](https://verifymcp.io/servers/snowbikemike-tascan-mcp/tascan-live-event.md), [page](https://verifymcp.io/servers/snowbikemike-tascan-mcp/tascan-live-event)
- npm · `tascan-mcp`: 35/100, [markdown](https://verifymcp.io/servers/snowbikemike-tascan-mcp/tascan-mcp.md), [page](https://verifymcp.io/servers/snowbikemike-tascan-mcp/tascan-mcp)

## Channel facts

- Endpoint: `https://tascan-live-event.netlify.app/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `1.0.2`

## Trust breakdown

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. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-03.

- **Endpoint Security**: 89/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation is enforced on tool calls, but the challenge carries no valid RFC 9728 metadata, so a client cannot discover where to get a token.
  - HTTPS is enforced; there's no plaintext access path.
  - The HSTS (Strict-Transport-Security) header is present.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 71/100
  - AI-judged instruction clarity (good).
  - Tool/resource definitions use about 2585 tokens (~80/item across 32 items; 32 tools + 0 resources), lean.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 27/100
  - Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
- **Capabilities**: 40/100
  - Spec-recency check failed: implements MCP spec 2025-03-26; the latest is 2026-07-28.

## Install

### Claude

```bash
claude mcp add --transport http snowbikemike-tascan-mcp https://tascan-live-event.netlify.app/mcp
```

### Codex

```toml
[mcp_servers.snowbikemike-tascan-mcp]
url = "https://tascan-live-event.netlify.app/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "snowbikemike-tascan-mcp": {
      "type": "remote",
      "url": "https://tascan-live-event.netlify.app/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add snowbikemike-tascan-mcp --url https://tascan-live-event.netlify.app/mcp --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  snowbikemike-tascan-mcp:
    url: "https://tascan-live-event.netlify.app/mcp"
```

### Other

```json
{
  "mcpServers": {
    "snowbikemike-tascan-mcp": {
      "type": "http",
      "url": "https://tascan-live-event.netlify.app/mcp"
    }
  }
}
```

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

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-03 (score 76, +1)

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

### 2026-08-01 (score 75, +1)

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

### 2026-07-31 (score 74, +4)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-30 (score 70, +1)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-28 (score 69, +1)

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

### 2026-07-27 (score 68, +1)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-26 (score 67)

First indexed and scored.

## MCP tools (32)

### `tascan_list_projects` (~19 tokens)

List all TaScan projects in the organization

### `tascan_create_project` (~43 tokens)

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

Input parameters:

- `location` (string): Project location / venue
- `name` (string, required): Project name

### `tascan_get_project` (~27 tokens)

Get details of a specific project

Input parameters:

- `project_id` (string, required): Project ID

### `tascan_update_project` (~82 tokens)

Update a project (name, location, status, dates)

Input parameters:

- `end_date` (string): End date (ISO)
- `location` (string): New location
- `name` (string): New name
- `project_id` (string, required): Project ID
- `start_date` (string): Start date (ISO)
- `status` (string): Status

### `tascan_delete_project` (~41 tokens)

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

Input parameters:

- `project_id` (string, required): Project ID to delete

### `tascan_create_event` (~117 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.

Input parameters:

- `description` (string): Event description
- `multi_instance` (boolean): Multi-instance — each worker gets isolated copy
- `name` (string, required): Event name
- `project_id` (string, required): Project ID
- `team_mode` (boolean): Team mode — shared completions

### `tascan_list_events` (~31 tokens)

List all events (task lists) within a project

Input parameters:

- `project_id` (string, required): Project ID

### `tascan_get_event` (~38 tokens)

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

Input parameters:

- `list_id` (string, required): Task list (event) ID

### `tascan_update_event` (~116 tokens)

Update an event / task list (name, description, team_mode, multi_instance, timer_mode). team_mode and multi_instance cannot both be true.

Input parameters:

- `description` (string): New description
- `list_id` (string, required): Task list (event) ID
- `multi_instance` (boolean): Multi-instance — each worker gets isolated copy
- `name` (string): New name
- `team_mode` (boolean): Team mode — shared completions
- `timer_mode` (string): Timer mode (auto or manual)

### `tascan_delete_event` (~46 tokens)

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

Input parameters:

- `list_id` (string, required): Task list (event) ID to delete

### `tascan_add_tasks` (~136 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: 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.

Input parameters:

- `list_id` (string, required): Task list (event) ID
- `tasks` (array, required): Array of tasks to create

### `tascan_dispatch_to_agent` (~164 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. 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.

Input parameters:

- `agent` (string): Agent ID or name to dispatch to (default: claude-code-local). Use tascan_list_agents to see options.
- `priority` (string): Priority level (default: normal)
- `task` (string, required): The task description. Prefix with CODE: SHELL: RESEARCH: WRITE: PLAN: for routing, or just plain text.

### `tascan_list_agents` (~49 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_register_agent` (~201 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.

Input parameters:

- `capabilities` (array, required): Task type prefixes this agent handles (e.g. ["RESEARCH", "WRITE"])
- `description` (string): What this agent does
- `id` (string, required): Unique agent ID (e.g. "my-agent-1")
- `inbox_id` (string, required): Task list ID this agent monitors for new tasks
- `location` (string): Where the agent runs (e.g. "AWS us-east-1")
- `model` (string): Model powering this agent (e.g. "claude-sonnet-4-6")
- `name` (string, required): Display name (e.g. "Research Bot")
- `type` (string, required): Agent type
- `worker_id` (string): TaScan worker ID for this agent

### `tascan_list_tasks` (~34 tokens)

List all tasks in an event (task list)

Input parameters:

- `list_id` (string, required): Task list (event) ID

### `tascan_get_task` (~30 tokens)

Get details of a specific task including completions

Input parameters:

- `task_id` (string, required): Task ID

### `tascan_update_task` (~124 tokens)

Update a task (title, description, response_type, flags, sort_order)

Input parameters:

- `description` (string): New description
- `is_safety_checkpoint` (boolean): Safety-critical flag
- `requires_photo` (boolean): Require photo
- `response_type` (string): See tascan_add_tasks for guidance. "text" for info collection, "photo" for visual proof, "checkbox" for yes/no only.
- `sort_order` (number): Sort position
- `task_id` (string, required): Task ID
- `title` (string): New title

### `tascan_delete_task` (~36 tokens)

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

Input parameters:

- `task_id` (string, required): Task ID to delete

### `tascan_complete_task` (~93 tokens)

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.

Input parameters:

- `notes` (string): Optional completion notes
- `response_value` (string): Response value (for text/number/choice tasks)
- `task_id` (string, required): Task ID to complete
- `worker_id` (string, required): Worker ID performing the completion

### `tascan_list_workers` (~22 tokens)

List all workers (taskees) in the organization

### `tascan_create_worker` (~48 tokens)

Create a new worker (taskee) in the organization

Input parameters:

- `email` (string): Email
- `name` (string, required): Worker name
- `phone` (string): Phone number

### `tascan_update_worker` (~58 tokens)

Update a worker profile (name, phone, email)

Input parameters:

- `email` (string): New email
- `name` (string): New name
- `phone` (string): New phone
- `worker_id` (string, required): Worker ID

### `tascan_generate_qr` (~44 tokens)

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

Input parameters:

- `list_id` (string, required): Task list (event) ID

### `tascan_apply_template` (~63 tokens)

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

Input parameters:

- `list_id` (string, required): Task list (event) ID
- `template_slug` (string, required): Template slug (e.g. "conference-load-in", "warehouse-receiving")

### `tascan_list_templates` (~45 tokens)

List available task templates (built-in and saved)

Input parameters:

- `category` (string): Filter by category (e.g. "live-events", "hospitality", "logistics")

### `tascan_get_report` (~46 tokens)

Get completion report for a task list (event) including task status, completions, workers, and photos

Input parameters:

- `list_id` (string, required): Task list (event) ID

### `tascan_list_issues` (~67 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.

Input parameters:

- `list_id` (string, required): Task list (event) ID

### `tascan_analyze_issue` (~119 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 (calls Anthropic API directly).

Input parameters:

- `issue_id` (string, required): Issue ID to analyze
- `server_side_ai` (boolean): If true, the server calls Anthropic API directly for AI analysis (default: false — returns raw data for MCP client to analyze)

### `tascan_recommend_fix` (~176 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.

Input parameters:

- `ai_agent` (string): Name of the AI agent posting (default: TaScan AI)
- `issue_id` (string, required): Issue ID to recommend a fix for
- `recommendation` (string, required): The AI-generated recommendation text (clear, actionable instructions)
- `structured_recommendation` (object): Optional structured recommendation with tasks for auto-dispatch. Format: { recommendation_summary, confidence_score, tasks: [{ title, description, response_type, requires_photo, is_safety_checkpoint,…

### `tascan_dispatch_instruction` (~234 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 digital AI analysis to physical worker execution.

Input parameters:

- `ai_agent` (string): Name of the AI agent dispatching (default: TaScan AI)
- `instruction` (string, required): Clear, actionable instruction for the worker to execute
- `issue_id` (string, required): Issue ID this instruction relates to
- `recommendation_summary` (string): One-line summary for the task list description
- `remediation_tasks` (array): Optional array of tasks to create as a remediation task list. Each: { title, description, response_type, requires_photo, is_safety_checkpoint, sort_order }
- `send_sms` (boolean): Send SMS to worker (default: true if phone on file)
- `worker_id` (string): Target worker ID (defaults to the worker who reported the issue)

### `tascan_auto_resolve` (~82 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-world instruction delivery.

Input parameters:

- `issue_id` (string, required): Issue ID to auto-resolve

### `tascan_send_task_email` (~154 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.

Input parameters:

- `include_qr` (boolean): Include QR code for the task list in the email (default: true)
- `list_id` (string, required): Task list (event) ID
- `message` (string): Optional custom message to include in the email body
- `subject` (string): Custom email subject (defaults to auto-generated)
- `task_id` (string): Optional specific task ID to highlight
- `to_email` (string, required): Recipient email address
- `to_name` (string): Recipient display name

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/snowbikemike-tascan-mcp/tascan-live-event#diagnostics

## Score history

- 2026-08-03: 76
- 2026-08-02: 75
- 2026-08-01: 75
- 2026-07-31: 74
- 2026-07-30: 70
- 2026-07-29: 69
- 2026-07-28: 69
- 2026-07-27: 68
- 2026-07-26: 67

## Links

- Remote endpoint: https://tascan-live-event.netlify.app/mcp
- Repository: https://github.com/snowbikemike/tascan-mcp
- Website: https://tascan.io/
- Changelog RSS feed: https://verifymcp.io/servers/snowbikemike-tascan-mcp/tascan-live-event/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/snowbikemike-tascan-mcp/tascan-live-event/changelog.json
- HTML version of this page: https://verifymcp.io/servers/snowbikemike-tascan-mcp/tascan-live-event
