tascan-mcp 2.1.0 → 2.2.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 +4 -4
  2. package/index.js +4 -4
  3. package/package.json +1 -1
package/README.md CHANGED
@@ -19,7 +19,7 @@ Industries: live events, construction, hospitality, warehousing, property manage
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,7 +78,7 @@ 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.
@@ -204,7 +204,7 @@ Tasks can also be flagged as:
204
204
 
205
205
  ## Getting an API Key
206
206
 
207
- 1. Log in to the [TaScan Admin Portal](https://tascan-live-event.netlify.app)
207
+ 1. Log in to the [TaScan Admin Portal](https://app.tascan.io)
208
208
  2. Navigate to **Team** in the sidebar
209
209
  3. Scroll to **API Keys**
210
210
  4. Click **Generate API Key**
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,6 +1,6 @@
1
1
  {
2
2
  "name": "tascan-mcp",
3
- "version": "2.1.0",
3
+ "version": "2.2.0",
4
4
  "mcpName": "io.github.snowbikemike/tascan-mcp",
5
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.",
6
6
  "type": "module",