tascan-mcp 2.1.0 → 2.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/README.md +48 -8
  2. package/index.js +4 -4
  3. package/package.json +2 -2
package/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  AI agent integration for [TaScan](https://tascan.io) — the closed-loop autonomous operations protocol. Manage projects, events, tasks, workers, QR codes, templates, completion reports, and AI-powered issue resolution through Claude, GitHub Copilot, or any MCP-compatible AI client.
4
4
 
5
- **Scan. Task. Done.**
5
+ **Task. Scan. Done.**
6
6
 
7
7
  ## What is TaScan?
8
8
 
@@ -12,14 +12,14 @@ When something breaks, AI analyzes the issue, generates fix instructions, and di
12
12
 
13
13
  Industries: live events, construction, hospitality, warehousing, property management, healthcare, aviation, FEMA disaster response, and more.
14
14
 
15
- **Patent Pending** — USPTO #63/995,189 & #63/996,023
15
+ **10 Provisional Patents Filed** — 265 claims, ~1000+ pages of specification. USPTO Applications #63/995,189 through #64/001,286.
16
16
 
17
17
  ## Quickest Start: Claude.ai / Claude Mobile
18
18
 
19
19
  No install required. Add TaScan as a custom connector in Claude:
20
20
 
21
21
  1. **Settings > Connectors > Add custom connector**
22
- 2. Enter: `https://tascan-live-event.netlify.app/mcp`
22
+ 2. Enter: `https://app.tascan.io/mcp`
23
23
  3. First time you use a tool, sign in with your TaScan email and password
24
24
 
25
25
  That's it. Works on claude.ai and Claude mobile. Same sign-in experience as GitHub, Netlify, and Supabase connectors.
@@ -45,7 +45,7 @@ npx tascan-mcp
45
45
  | Variable | Required | Description |
46
46
  |----------|----------|-------------|
47
47
  | `TASCAN_API_KEY` | Yes | Your TaScan API key (generate in Admin Portal > Team > API Keys) |
48
- | `TASCAN_API_URL` | No | API base URL (default: `https://tascan-live-event.netlify.app/api/v1`) |
48
+ | `TASCAN_API_URL` | No | API base URL (default: `https://app.tascan.io/api/v1`) |
49
49
 
50
50
  ### Claude Desktop
51
51
 
@@ -78,12 +78,12 @@ Then set your API key in the environment.
78
78
  TaScan MCP is also available as a remote server — no install, no API key needed:
79
79
 
80
80
  ```
81
- https://tascan-live-event.netlify.app/mcp
81
+ https://app.tascan.io/mcp
82
82
  ```
83
83
 
84
84
  Add as a custom connector in Claude (Settings > Connectors). When you first use a tool, you'll be redirected to sign in with your TaScan email and password — just like connecting GitHub or Netlify. OAuth 2.0 with PKCE handles everything automatically.
85
85
 
86
- ## Tools (27)
86
+ ## Tools (32)
87
87
 
88
88
  ### Projects
89
89
  | Tool | Description | Type |
@@ -133,9 +133,22 @@ Add as a custom connector in Claude (Settings > Connectors). When you first use
133
133
  | `tascan_list_issues` | List field-reported issues with filtering by status, category, severity | Read |
134
134
  | `tascan_analyze_issue` | AI classifies issue severity, identifies root cause, and scores urgency | AI |
135
135
  | `tascan_recommend_fix` | AI generates ranked remediation tasks with step-by-step instructions | AI |
136
- | `tascan_dispatch_instruction` | Multi-channel delivery of fix instructions to workers (SMS, push, QR) | Create |
137
136
  | `tascan_auto_resolve` | Full closed loop in ONE call — issue in, AI analyzes, fix dispatched, loop closes | AI |
138
137
 
138
+ ### Communications
139
+ | Tool | Description | Type |
140
+ |------|-------------|------|
141
+ | `tascan_dispatch_instruction` | Multi-channel delivery of instructions to workers (SMS, email, QR) | Create |
142
+ | `tascan_send_task_email` | Send task links and notifications via email | Create |
143
+ | `tascan_complete_task` | Mark a task as completed with optional response data | Update |
144
+
145
+ ### AI Agent Coordination (Patent #10)
146
+ | Tool | Description | Type |
147
+ |------|-------------|------|
148
+ | `tascan_list_agents` | List registered AI agents in the system | Read |
149
+ | `tascan_register_agent` | Register a new AI agent with capabilities | Create |
150
+ | `tascan_dispatch_to_agent` | Route a task to a specific AI agent for execution | Create |
151
+
139
152
  ## Usage Examples
140
153
 
141
154
  ### Example 1: Set up a construction site inspection
@@ -204,7 +217,7 @@ Tasks can also be flagged as:
204
217
 
205
218
  ## Getting an API Key
206
219
 
207
- 1. Log in to the [TaScan Admin Portal](https://tascan-live-event.netlify.app)
220
+ 1. Log in to the [TaScan Admin Portal](https://app.tascan.io)
208
221
  2. Navigate to **Team** in the sidebar
209
222
  3. Scroll to **API Keys**
210
223
  4. Click **Generate API Key**
@@ -213,6 +226,33 @@ Tasks can also be flagged as:
213
226
 
214
227
  API keys are scoped to your organization and support rate limiting (60 requests/minute).
215
228
 
229
+ ## Troubleshooting
230
+
231
+ **"Connection failed" or OAuth redirect issues**
232
+ - Verify you're using the correct URL: `https://app.tascan.io/mcp`
233
+ - Clear your browser cache and try reconnecting
234
+ - If using Claude Desktop, restart the app after adding the connector
235
+
236
+ **"Unauthorized" or 401 errors (local npm install)**
237
+ - Regenerate your API key in Admin Portal > Team > API Keys
238
+ - Confirm `TASCAN_API_KEY` is set in your environment (not just in the config file)
239
+ - Keys are organization-scoped — make sure you're using a key from the correct org
240
+
241
+ **Tools not showing up in Claude**
242
+ - Disconnect and reconnect the TaScan connector
243
+ - For Claude Code: run `claude mcp list` to verify the server is registered
244
+ - Check that your TaScan account has an active organization (free tier is fine)
245
+
246
+ **"Rate limited" errors**
247
+ - Default limit is 60 requests/minute per API key
248
+ - Pro and Business tiers have higher limits
249
+ - Batch operations (like `tascan_add_tasks`) are more efficient than individual calls
250
+
251
+ **Task completions not appearing**
252
+ - Workers must submit via the task link (QR scan or direct URL)
253
+ - Photo-required tasks won't show as complete until the photo uploads
254
+ - Check the event's response mode (single vs. multi-response)
255
+
216
256
  ## Privacy Policy
217
257
 
218
258
  TaScan collects and processes task completion data, worker information (name, phone, email), GPS coordinates (with consent), and photos uploaded during task completion. Data is stored securely in Supabase with row-level security policies. API access is authenticated and rate-limited.
package/index.js CHANGED
@@ -10,7 +10,7 @@ import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
10
10
  import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
11
11
  import { z } from 'zod';
12
12
 
13
- const API_BASE = process.env.TASCAN_API_URL || 'https://tascan-live-event.netlify.app/api/v1';
13
+ const API_BASE = process.env.TASCAN_API_URL || 'https://app.tascan.io/api/v1';
14
14
  const API_KEY = process.env.TASCAN_API_KEY || '';
15
15
 
16
16
  if (!API_KEY) {
@@ -134,13 +134,13 @@ server.registerTool(
134
134
  'tascan_add_tasks',
135
135
  {
136
136
  title: 'Add Tasks',
137
- description: 'Add one or more tasks to an event (task list). Supports bulk creation.',
137
+ description: '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.',
138
138
  inputSchema: {
139
139
  list_id: z.string().describe('Task list (event) ID'),
140
140
  tasks: z.array(z.object({
141
141
  title: z.string().describe('Task title'),
142
142
  description: z.string().optional().describe('Task description'),
143
- response_type: z.enum(['checkbox', 'photo', 'text', 'number', 'date', 'choice']).optional().describe('Task type (default: checkbox)'),
143
+ response_type: z.enum(['checkbox', 'photo', 'text', 'number', 'date', 'choice']).optional().describe('CRITICAL: "text" for names, phones, emails, notes, any free-form input. "photo" for visual proof (inspections, serial numbers, packed cases). "checkbox" ONLY for yes/no confirmations. "number" for numeric values. "date" for dates. "choice" for multiple-choice (needs response_config.options). Default is checkbox but most info-collection tasks should be "text".'),
144
144
  is_safety_checkpoint: z.boolean().optional().describe('Safety-critical task flag'),
145
145
  requires_photo: z.boolean().optional().describe('Require photo on completion')
146
146
  })).describe('Array of tasks to create')
@@ -531,7 +531,7 @@ server.registerTool(
531
531
  task_id: z.string().describe('Task ID'),
532
532
  title: z.string().optional().describe('New title'),
533
533
  description: z.string().optional().describe('New description'),
534
- response_type: z.enum(['checkbox', 'photo', 'text', 'number', 'date', 'choice']).optional().describe('Task type'),
534
+ response_type: z.enum(['checkbox', 'photo', 'text', 'number', 'date', 'choice']).optional().describe('See tascan_add_tasks for guidance. "text" for info collection, "photo" for visual proof, "checkbox" for yes/no only.'),
535
535
  is_safety_checkpoint: z.boolean().optional().describe('Safety-critical flag'),
536
536
  requires_photo: z.boolean().optional().describe('Require photo'),
537
537
  sort_order: z.number().optional().describe('Sort order position')
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "tascan-mcp",
3
- "version": "2.1.0",
3
+ "version": "2.3.0",
4
4
  "mcpName": "io.github.snowbikemike/tascan-mcp",
5
- "description": "TaScan MCP Server — Closed-loop autonomous operations protocol. 27 tools for projects, tasks, workers, QR codes, AI issue analysis, and autonomous remediation dispatch. Patent pending. Scan. Task. Done.",
5
+ "description": "TaScan MCP Server — Closed-loop autonomous operations protocol. 32 tools for projects, tasks, workers, QR codes, AI issue analysis, autonomous remediation dispatch, and multi-agent coordination. 10 patents filed (265 claims). Task. Scan. Done.",
6
6
  "type": "module",
7
7
  "main": "index.js",
8
8
  "bin": {