From dc6652ccd2b50b91eb55d92899ebf70c7b4d6601 Mon Sep 17 00:00:00 2001 From: Ralph Khreish <35776126+Crunchyman-ralph@users.noreply.github.com> Date: Sat, 18 Oct 2025 18:34:40 +0200 Subject: [PATCH] fix: temporary fix, revert zod schema definitions for mcp tools to zod v3 (#1323) --- .changeset/kind-lines-melt.md | 21 ++++++ .coderabbit.yaml | 4 ++ apps/mcp/src/tools/README-ZOD-V3.md | 70 +++++++++++++++++++ apps/mcp/src/tools/autopilot/abort.tool.ts | 4 +- apps/mcp/src/tools/autopilot/commit.tool.ts | 4 +- apps/mcp/src/tools/autopilot/complete.tool.ts | 4 +- apps/mcp/src/tools/autopilot/finalize.tool.ts | 4 +- apps/mcp/src/tools/autopilot/next.tool.ts | 4 +- apps/mcp/src/tools/autopilot/resume.tool.ts | 4 +- apps/mcp/src/tools/autopilot/start.tool.ts | 4 +- apps/mcp/src/tools/autopilot/status.tool.ts | 4 +- mcp-server/src/tools/README-ZOD-V3.md | 67 ++++++++++++++++++ mcp-server/src/tools/add-dependency.js | 4 +- mcp-server/src/tools/add-subtask.js | 4 +- mcp-server/src/tools/add-tag.js | 4 +- mcp-server/src/tools/add-task.js | 4 +- mcp-server/src/tools/analyze.js | 4 +- mcp-server/src/tools/clear-subtasks.js | 4 +- mcp-server/src/tools/complexity-report.js | 4 +- mcp-server/src/tools/copy-tag.js | 4 +- mcp-server/src/tools/delete-tag.js | 4 +- mcp-server/src/tools/expand-all.js | 4 +- mcp-server/src/tools/expand-task.js | 4 +- mcp-server/src/tools/fix-dependencies.js | 4 +- mcp-server/src/tools/generate.js | 4 +- mcp-server/src/tools/get-operation-status.js | 4 +- mcp-server/src/tools/get-task.js | 4 +- mcp-server/src/tools/get-tasks.js | 4 +- mcp-server/src/tools/initialize-project.js | 4 +- mcp-server/src/tools/list-tags.js | 4 +- mcp-server/src/tools/models.js | 4 +- mcp-server/src/tools/move-task.js | 4 +- mcp-server/src/tools/next-task.js | 4 +- mcp-server/src/tools/parse-prd.js | 4 +- mcp-server/src/tools/remove-dependency.js | 4 +- mcp-server/src/tools/remove-subtask.js | 4 +- mcp-server/src/tools/remove-task.js | 4 +- mcp-server/src/tools/rename-tag.js | 4 +- mcp-server/src/tools/research.js | 4 +- mcp-server/src/tools/response-language.js | 4 +- mcp-server/src/tools/rules.js | 4 +- mcp-server/src/tools/scope-down.js | 4 +- mcp-server/src/tools/scope-up.js | 4 +- mcp-server/src/tools/set-task-status.js | 4 +- mcp-server/src/tools/update-subtask.js | 4 +- mcp-server/src/tools/update-task.js | 4 +- mcp-server/src/tools/update.js | 4 +- mcp-server/src/tools/use-tag.js | 4 +- mcp-server/src/tools/validate-dependencies.js | 4 +- 49 files changed, 297 insertions(+), 45 deletions(-) create mode 100644 .changeset/kind-lines-melt.md create mode 100644 apps/mcp/src/tools/README-ZOD-V3.md create mode 100644 mcp-server/src/tools/README-ZOD-V3.md diff --git a/.changeset/kind-lines-melt.md b/.changeset/kind-lines-melt.md new file mode 100644 index 00000000..82c6d930 --- /dev/null +++ b/.changeset/kind-lines-melt.md @@ -0,0 +1,21 @@ +--- +"task-master-ai": patch +--- + +Fix MCP server compatibility with Draft-07 clients (Augment IDE, gemini-cli, gemini code assist) + +- Resolves #1284 + +**Problem:** + +- MCP tools were using Zod v4, which outputs JSON Schema Draft 2020-12 +- MCP clients only support Draft-07 +- Tools were not discoverable in gemini-cli and other clients + +**Solution:** + +- Updated all MCP tools to import from `zod/v3` instead of `zod` +- Zod v3 schemas convert to Draft-07 via FastMCP's zod-to-json-schema +- Fixed logger to use stderr instead of stdout (MCP protocol requirement) + +This is a temporary workaround until FastMCP adds JSON Schema version configuration. diff --git a/.coderabbit.yaml b/.coderabbit.yaml index 0a308455..100bcca4 100644 --- a/.coderabbit.yaml +++ b/.coderabbit.yaml @@ -1,3 +1,7 @@ reviews: profile: chill poem: false + auto_review: + enabled: true + base_branches: + - ".*" diff --git a/apps/mcp/src/tools/README-ZOD-V3.md b/apps/mcp/src/tools/README-ZOD-V3.md new file mode 100644 index 00000000..fe036954 --- /dev/null +++ b/apps/mcp/src/tools/README-ZOD-V3.md @@ -0,0 +1,70 @@ +# Why MCP Tools Use Zod v3 + +## Problem + +- **FastMCP** uses `xsschema` to convert schemas → outputs JSON Schema **Draft 2020-12** +- **MCP clients** (Augment IDE, gemini-cli, etc.) only support **Draft-07** +- Using Zod v4 in tools causes "vendor undefined" errors and tool discovery failures + +## Temporary Solution + +All MCP tool files import from `zod/v3` instead of `zod`: + +```typescript +import { z } from 'zod/v3'; // ✅ Draft-07 compatible +// NOT: import { z } from 'zod'; // ❌ Would use Draft 2020-12 +``` + +### Why This Works + +- Zod v4 ships with v3 compatibility at `zod/v3` +- FastMCP + zod-to-json-schema converts Zod v3 schemas → **Draft-07** +- This ensures MCP clients can discover and use our tools + +### What This Means + +- ✅ **MCP tools** → use `zod/v3` (apps/mcp & mcp-server/src/tools) +- ✅ **Rest of codebase** → uses `zod` (Zod v4) +- ✅ **No conflicts** → they're from the same package, just different versions + +## When Can We Remove This? + +This workaround can be removed when **either**: + +1. **FastMCP adds JSON Schema version configuration** + - e.g., `new FastMCP({ jsonSchema: { target: 'draft-07' } })` + - Tracking: https://github.com/punkpeye/fastmcp/issues/189 + +2. **MCP spec adds Draft 2020-12 support** + - Unlikely in the short term + +3. **xsschema adds version targeting** + - Would allow FastMCP to use Draft-07 + +## How to Maintain + +When adding new MCP tools: + +```typescript +// ✅ CORRECT +import { z } from 'zod/v3'; + +export function registerMyTool(server: FastMCP) { + server.addTool({ + name: 'my_tool', + parameters: z.object({ ... }), // Will use Draft-07 + execute: async (args, context) => { ... } + }); +} +``` + +```typescript +// ❌ WRONG - Will break MCP client compatibility +import { z } from 'zod'; // Don't do this in apps/mcp/src/tools/ +``` + +--- + +**Last Updated:** 2025-10-18 +**Affects:** All files in `apps/mcp/src/tools/` +**See Also:** `mcp-server/src/tools/README-ZOD-V3.md` (same workaround) diff --git a/apps/mcp/src/tools/autopilot/abort.tool.ts b/apps/mcp/src/tools/autopilot/abort.tool.ts index 1da290d8..2ce6d54f 100644 --- a/apps/mcp/src/tools/autopilot/abort.tool.ts +++ b/apps/mcp/src/tools/autopilot/abort.tool.ts @@ -3,7 +3,9 @@ * Abort a running TDD workflow and clean up state */ -import { z } from 'zod'; +// TEMPORARY: Using zod/v3 for Draft-07 JSON Schema compatibility with FastMCP's zod-to-json-schema +// TODO: Revert to 'zod' when MCP spec issue is resolved (see PR #1323) +import { z } from 'zod/v3'; import { handleApiResult, withNormalizedProjectRoot diff --git a/apps/mcp/src/tools/autopilot/commit.tool.ts b/apps/mcp/src/tools/autopilot/commit.tool.ts index babd94a2..bcfbc5cc 100644 --- a/apps/mcp/src/tools/autopilot/commit.tool.ts +++ b/apps/mcp/src/tools/autopilot/commit.tool.ts @@ -3,7 +3,9 @@ * Create a git commit with automatic staging and message generation */ -import { z } from 'zod'; +// TEMPORARY: Using zod/v3 for Draft-07 JSON Schema compatibility with FastMCP's zod-to-json-schema +// TODO: Revert to 'zod' when MCP spec issue is resolved (see PR #1323) +import { z } from 'zod/v3'; import { handleApiResult, withNormalizedProjectRoot diff --git a/apps/mcp/src/tools/autopilot/complete.tool.ts b/apps/mcp/src/tools/autopilot/complete.tool.ts index 5b4d1023..8089dce5 100644 --- a/apps/mcp/src/tools/autopilot/complete.tool.ts +++ b/apps/mcp/src/tools/autopilot/complete.tool.ts @@ -3,7 +3,9 @@ * Complete the current TDD phase with test result validation */ -import { z } from 'zod'; +// TEMPORARY: Using zod/v3 for Draft-07 JSON Schema compatibility with FastMCP's zod-to-json-schema +// TODO: Revert to 'zod' when MCP spec issue is resolved (see PR #1323) +import { z } from 'zod/v3'; import { handleApiResult, withNormalizedProjectRoot diff --git a/apps/mcp/src/tools/autopilot/finalize.tool.ts b/apps/mcp/src/tools/autopilot/finalize.tool.ts index 4fb94f41..09d0d67a 100644 --- a/apps/mcp/src/tools/autopilot/finalize.tool.ts +++ b/apps/mcp/src/tools/autopilot/finalize.tool.ts @@ -3,7 +3,9 @@ * Finalize and complete the workflow with working tree validation */ -import { z } from 'zod'; +// TEMPORARY: Using zod/v3 for Draft-07 JSON Schema compatibility with FastMCP's zod-to-json-schema +// TODO: Revert to 'zod' when MCP spec issue is resolved (see PR #1323) +import { z } from 'zod/v3'; import { handleApiResult, withNormalizedProjectRoot diff --git a/apps/mcp/src/tools/autopilot/next.tool.ts b/apps/mcp/src/tools/autopilot/next.tool.ts index 821c95e2..e9a2093a 100644 --- a/apps/mcp/src/tools/autopilot/next.tool.ts +++ b/apps/mcp/src/tools/autopilot/next.tool.ts @@ -3,7 +3,9 @@ * Get the next action to perform in the TDD workflow */ -import { z } from 'zod'; +// TEMPORARY: Using zod/v3 for Draft-07 JSON Schema compatibility with FastMCP's zod-to-json-schema +// TODO: Revert to 'zod' when MCP spec issue is resolved (see PR #1323) +import { z } from 'zod/v3'; import { handleApiResult, withNormalizedProjectRoot diff --git a/apps/mcp/src/tools/autopilot/resume.tool.ts b/apps/mcp/src/tools/autopilot/resume.tool.ts index 1a65ad3a..fe3055fd 100644 --- a/apps/mcp/src/tools/autopilot/resume.tool.ts +++ b/apps/mcp/src/tools/autopilot/resume.tool.ts @@ -3,7 +3,9 @@ * Resume a previously started TDD workflow from saved state */ -import { z } from 'zod'; +// TEMPORARY: Using zod/v3 for Draft-07 JSON Schema compatibility with FastMCP's zod-to-json-schema +// TODO: Revert to 'zod' when MCP spec issue is resolved (see PR #1323) +import { z } from 'zod/v3'; import { handleApiResult, withNormalizedProjectRoot diff --git a/apps/mcp/src/tools/autopilot/start.tool.ts b/apps/mcp/src/tools/autopilot/start.tool.ts index 8f4ea54b..225a9670 100644 --- a/apps/mcp/src/tools/autopilot/start.tool.ts +++ b/apps/mcp/src/tools/autopilot/start.tool.ts @@ -3,7 +3,9 @@ * Initialize and start a new TDD workflow for a task */ -import { z } from 'zod'; +// TEMPORARY: Using zod/v3 for Draft-07 JSON Schema compatibility with FastMCP's zod-to-json-schema +// TODO: Revert to 'zod' when MCP spec issue is resolved (see PR #1323) +import { z } from 'zod/v3'; import { handleApiResult, withNormalizedProjectRoot diff --git a/apps/mcp/src/tools/autopilot/status.tool.ts b/apps/mcp/src/tools/autopilot/status.tool.ts index f12d6e10..0d19ad01 100644 --- a/apps/mcp/src/tools/autopilot/status.tool.ts +++ b/apps/mcp/src/tools/autopilot/status.tool.ts @@ -3,7 +3,9 @@ * Get comprehensive workflow status and progress information */ -import { z } from 'zod'; +// TEMPORARY: Using zod/v3 for Draft-07 JSON Schema compatibility with FastMCP's zod-to-json-schema +// TODO: Revert to 'zod' when MCP spec issue is resolved (see PR #1323) +import { z } from 'zod/v3'; import { handleApiResult, withNormalizedProjectRoot diff --git a/mcp-server/src/tools/README-ZOD-V3.md b/mcp-server/src/tools/README-ZOD-V3.md new file mode 100644 index 00000000..e0857b3f --- /dev/null +++ b/mcp-server/src/tools/README-ZOD-V3.md @@ -0,0 +1,67 @@ +# Why MCP Tools Use Zod v3 + +## Problem + +- **FastMCP** uses `xsschema` to convert schemas → outputs JSON Schema **Draft 2020-12** +- **MCP clients** (Augment IDE, gemini-cli, etc.) only support **Draft-07** +- Using Zod v4 in tools causes "vendor undefined" errors and tool discovery failures + +## Temporary Solution + +All MCP tool files import from `zod/v3` instead of `zod`: + +```javascript +import { z } from 'zod/v3'; // ✅ Draft-07 compatible +// NOT: import { z } from 'zod'; // ❌ Would use Draft 2020-12 +``` + +### Why This Works + +- Zod v4 ships with v3 compatibility at `zod/v3` +- FastMCP + zod-to-json-schema converts Zod v3 schemas → **Draft-07** +- This ensures MCP clients can discover and use our tools + +### What This Means + +- ✅ **MCP tools** → use `zod/v3` (this directory) +- ✅ **Rest of codebase** → uses `zod` (Zod v4) +- ✅ **No conflicts** → they're from the same package, just different versions + +## When Can We Remove This? + +This workaround can be removed when **either**: + +1. **FastMCP adds JSON Schema version configuration** + - e.g., `new FastMCP({ jsonSchema: { target: 'draft-07' } })` + - Tracking: https://github.com/punkpeye/fastmcp/issues/189 + +2. **MCP spec adds Draft 2020-12 support** + - Unlikely in the short term + +3. **xsschema adds version targeting** + - Would allow FastMCP to use Draft-07 + +## How to Maintain + +When adding new MCP tools: + +```javascript +// ✅ CORRECT +import { z } from 'zod/v3'; + +server.addTool({ + name: 'my_tool', + parameters: z.object({ ... }), // Will use Draft-07 + execute: async (args) => { ... } +}); +``` + +```javascript +// ❌ WRONG - Will break MCP client compatibility +import { z } from 'zod'; // Don't do this in mcp-server/src/tools/ +``` + +--- + +**Last Updated:** 2025-10-18 +**Affects:** All files in `mcp-server/src/tools/` diff --git a/mcp-server/src/tools/add-dependency.js b/mcp-server/src/tools/add-dependency.js index d922a3ef..32352657 100644 --- a/mcp-server/src/tools/add-dependency.js +++ b/mcp-server/src/tools/add-dependency.js @@ -3,7 +3,9 @@ * Tool for adding a dependency to a task */ -import { z } from 'zod'; +// TEMPORARY: Using zod/v3 for Draft-07 JSON Schema compatibility with FastMCP's zod-to-json-schema +// TODO: Revert to 'zod' when MCP spec issue is resolved (see PR #1323) +import { z } from 'zod/v3'; import { handleApiResult, createErrorResponse, diff --git a/mcp-server/src/tools/add-subtask.js b/mcp-server/src/tools/add-subtask.js index 62ddffe8..b87f3700 100644 --- a/mcp-server/src/tools/add-subtask.js +++ b/mcp-server/src/tools/add-subtask.js @@ -3,7 +3,9 @@ * Tool for adding subtasks to existing tasks */ -import { z } from 'zod'; +// TEMPORARY: Using zod/v3 for Draft-07 JSON Schema compatibility with FastMCP's zod-to-json-schema +// TODO: Revert to 'zod' when MCP spec issue is resolved (see PR #1323) +import { z } from 'zod/v3'; import { handleApiResult, createErrorResponse, diff --git a/mcp-server/src/tools/add-tag.js b/mcp-server/src/tools/add-tag.js index 886d1a25..dfb06ae1 100644 --- a/mcp-server/src/tools/add-tag.js +++ b/mcp-server/src/tools/add-tag.js @@ -3,7 +3,9 @@ * Tool to create a new tag */ -import { z } from 'zod'; +// TEMPORARY: Using zod/v3 for Draft-07 JSON Schema compatibility with FastMCP's zod-to-json-schema +// TODO: Revert to 'zod' when MCP spec issue is resolved (see PR #1323) +import { z } from 'zod/v3'; import { createErrorResponse, handleApiResult, diff --git a/mcp-server/src/tools/add-task.js b/mcp-server/src/tools/add-task.js index 3ad43a94..0d2d1586 100644 --- a/mcp-server/src/tools/add-task.js +++ b/mcp-server/src/tools/add-task.js @@ -3,7 +3,9 @@ * Tool to add a new task using AI */ -import { z } from 'zod'; +// TEMPORARY: Using zod/v3 for Draft-07 JSON Schema compatibility with FastMCP's zod-to-json-schema +// TODO: Revert to 'zod' when MCP spec issue is resolved (see PR #1323) +import { z } from 'zod/v3'; import { createErrorResponse, handleApiResult, diff --git a/mcp-server/src/tools/analyze.js b/mcp-server/src/tools/analyze.js index 871c90da..d1aaf790 100644 --- a/mcp-server/src/tools/analyze.js +++ b/mcp-server/src/tools/analyze.js @@ -3,7 +3,9 @@ * Tool for analyzing task complexity and generating recommendations */ -import { z } from 'zod'; +// TEMPORARY: Using zod/v3 for Draft-07 JSON Schema compatibility with FastMCP's zod-to-json-schema +// TODO: Revert to 'zod' when MCP spec issue is resolved (see PR #1323) +import { z } from 'zod/v3'; import path from 'path'; import fs from 'fs'; // Import fs for directory check/creation import { diff --git a/mcp-server/src/tools/clear-subtasks.js b/mcp-server/src/tools/clear-subtasks.js index 6a0d0bff..56131c4a 100644 --- a/mcp-server/src/tools/clear-subtasks.js +++ b/mcp-server/src/tools/clear-subtasks.js @@ -3,7 +3,9 @@ * Tool for clearing subtasks from parent tasks */ -import { z } from 'zod'; +// TEMPORARY: Using zod/v3 for Draft-07 JSON Schema compatibility with FastMCP's zod-to-json-schema +// TODO: Revert to 'zod' when MCP spec issue is resolved (see PR #1323) +import { z } from 'zod/v3'; import { handleApiResult, createErrorResponse, diff --git a/mcp-server/src/tools/complexity-report.js b/mcp-server/src/tools/complexity-report.js index 0dfa401a..8501ced7 100644 --- a/mcp-server/src/tools/complexity-report.js +++ b/mcp-server/src/tools/complexity-report.js @@ -3,7 +3,9 @@ * Tool for displaying the complexity analysis report */ -import { z } from 'zod'; +// TEMPORARY: Using zod/v3 for Draft-07 JSON Schema compatibility with FastMCP's zod-to-json-schema +// TODO: Revert to 'zod' when MCP spec issue is resolved (see PR #1323) +import { z } from 'zod/v3'; import { handleApiResult, createErrorResponse, diff --git a/mcp-server/src/tools/copy-tag.js b/mcp-server/src/tools/copy-tag.js index 395d2bce..f58b75b3 100644 --- a/mcp-server/src/tools/copy-tag.js +++ b/mcp-server/src/tools/copy-tag.js @@ -3,7 +3,9 @@ * Tool to copy an existing tag to a new tag */ -import { z } from 'zod'; +// TEMPORARY: Using zod/v3 for Draft-07 JSON Schema compatibility with FastMCP's zod-to-json-schema +// TODO: Revert to 'zod' when MCP spec issue is resolved (see PR #1323) +import { z } from 'zod/v3'; import { createErrorResponse, handleApiResult, diff --git a/mcp-server/src/tools/delete-tag.js b/mcp-server/src/tools/delete-tag.js index 24813a35..e3b7b1ff 100644 --- a/mcp-server/src/tools/delete-tag.js +++ b/mcp-server/src/tools/delete-tag.js @@ -3,7 +3,9 @@ * Tool to delete an existing tag */ -import { z } from 'zod'; +// TEMPORARY: Using zod/v3 for Draft-07 JSON Schema compatibility with FastMCP's zod-to-json-schema +// TODO: Revert to 'zod' when MCP spec issue is resolved (see PR #1323) +import { z } from 'zod/v3'; import { createErrorResponse, handleApiResult, diff --git a/mcp-server/src/tools/expand-all.js b/mcp-server/src/tools/expand-all.js index ee52607a..49bbef2b 100644 --- a/mcp-server/src/tools/expand-all.js +++ b/mcp-server/src/tools/expand-all.js @@ -3,7 +3,9 @@ * Tool for expanding all pending tasks with subtasks */ -import { z } from 'zod'; +// TEMPORARY: Using zod/v3 for Draft-07 JSON Schema compatibility with FastMCP's zod-to-json-schema +// TODO: Revert to 'zod' when MCP spec issue is resolved (see PR #1323) +import { z } from 'zod/v3'; import { handleApiResult, createErrorResponse, diff --git a/mcp-server/src/tools/expand-task.js b/mcp-server/src/tools/expand-task.js index b6cd5b1f..4b0f7af3 100644 --- a/mcp-server/src/tools/expand-task.js +++ b/mcp-server/src/tools/expand-task.js @@ -3,7 +3,9 @@ * Tool to expand a task into subtasks */ -import { z } from 'zod'; +// TEMPORARY: Using zod/v3 for Draft-07 JSON Schema compatibility with FastMCP's zod-to-json-schema +// TODO: Revert to 'zod' when MCP spec issue is resolved (see PR #1323) +import { z } from 'zod/v3'; import { handleApiResult, createErrorResponse, diff --git a/mcp-server/src/tools/fix-dependencies.js b/mcp-server/src/tools/fix-dependencies.js index 92586355..7b9e2627 100644 --- a/mcp-server/src/tools/fix-dependencies.js +++ b/mcp-server/src/tools/fix-dependencies.js @@ -3,7 +3,9 @@ * Tool for automatically fixing invalid task dependencies */ -import { z } from 'zod'; +// TEMPORARY: Using zod/v3 for Draft-07 JSON Schema compatibility with FastMCP's zod-to-json-schema +// TODO: Revert to 'zod' when MCP spec issue is resolved (see PR #1323) +import { z } from 'zod/v3'; import { handleApiResult, createErrorResponse, diff --git a/mcp-server/src/tools/generate.js b/mcp-server/src/tools/generate.js index aab34355..5a932aa4 100644 --- a/mcp-server/src/tools/generate.js +++ b/mcp-server/src/tools/generate.js @@ -3,7 +3,9 @@ * Tool to generate individual task files from tasks.json */ -import { z } from 'zod'; +// TEMPORARY: Using zod/v3 for Draft-07 JSON Schema compatibility with FastMCP's zod-to-json-schema +// TODO: Revert to 'zod' when MCP spec issue is resolved (see PR #1323) +import { z } from 'zod/v3'; import { handleApiResult, createErrorResponse, diff --git a/mcp-server/src/tools/get-operation-status.js b/mcp-server/src/tools/get-operation-status.js index 7713c612..0c982001 100644 --- a/mcp-server/src/tools/get-operation-status.js +++ b/mcp-server/src/tools/get-operation-status.js @@ -1,5 +1,7 @@ // mcp-server/src/tools/get-operation-status.js -import { z } from 'zod'; +// TEMPORARY: Using zod/v3 for Draft-07 JSON Schema compatibility with FastMCP's zod-to-json-schema +// TODO: Revert to 'zod' when MCP spec issue is resolved (see PR #1323) +import { z } from 'zod/v3'; import { createErrorResponse, createContentResponse } from './utils.js'; // Assuming these utils exist /** diff --git a/mcp-server/src/tools/get-task.js b/mcp-server/src/tools/get-task.js index 7313e8ac..e477cf1e 100644 --- a/mcp-server/src/tools/get-task.js +++ b/mcp-server/src/tools/get-task.js @@ -3,7 +3,9 @@ * Tool to get task details by ID */ -import { z } from 'zod'; +// TEMPORARY: Using zod/v3 for Draft-07 JSON Schema compatibility with FastMCP's zod-to-json-schema +// TODO: Revert to 'zod' when MCP spec issue is resolved (see PR #1323) +import { z } from 'zod/v3'; import { handleApiResult, createErrorResponse, diff --git a/mcp-server/src/tools/get-tasks.js b/mcp-server/src/tools/get-tasks.js index 8e8e3642..c6162d79 100644 --- a/mcp-server/src/tools/get-tasks.js +++ b/mcp-server/src/tools/get-tasks.js @@ -3,7 +3,9 @@ * Tool to get all tasks from Task Master */ -import { z } from 'zod'; +// TEMPORARY: Using zod/v3 for Draft-07 JSON Schema compatibility with FastMCP's zod-to-json-schema +// TODO: Revert to 'zod' when MCP spec issue is resolved (see PR #1323) +import { z } from 'zod/v3'; import { createErrorResponse, handleApiResult, diff --git a/mcp-server/src/tools/initialize-project.js b/mcp-server/src/tools/initialize-project.js index 6bf380d6..fe0d8488 100644 --- a/mcp-server/src/tools/initialize-project.js +++ b/mcp-server/src/tools/initialize-project.js @@ -1,4 +1,6 @@ -import { z } from 'zod'; +// TEMPORARY: Using zod/v3 for Draft-07 JSON Schema compatibility with FastMCP's zod-to-json-schema +// TODO: Revert to 'zod' when MCP spec issue is resolved (see PR #1323) +import { z } from 'zod/v3'; import { createErrorResponse, handleApiResult, diff --git a/mcp-server/src/tools/list-tags.js b/mcp-server/src/tools/list-tags.js index 4e12d5f6..cef82456 100644 --- a/mcp-server/src/tools/list-tags.js +++ b/mcp-server/src/tools/list-tags.js @@ -3,7 +3,9 @@ * Tool to list all available tags */ -import { z } from 'zod'; +// TEMPORARY: Using zod/v3 for Draft-07 JSON Schema compatibility with FastMCP's zod-to-json-schema +// TODO: Revert to 'zod' when MCP spec issue is resolved (see PR #1323) +import { z } from 'zod/v3'; import { createErrorResponse, handleApiResult, diff --git a/mcp-server/src/tools/models.js b/mcp-server/src/tools/models.js index e38ff308..add300a2 100644 --- a/mcp-server/src/tools/models.js +++ b/mcp-server/src/tools/models.js @@ -3,7 +3,9 @@ * MCP tool for managing AI model configurations */ -import { z } from 'zod'; +// TEMPORARY: Using zod/v3 for Draft-07 JSON Schema compatibility with FastMCP's zod-to-json-schema +// TODO: Revert to 'zod' when MCP spec issue is resolved (see PR #1323) +import { z } from 'zod/v3'; import { handleApiResult, createErrorResponse, diff --git a/mcp-server/src/tools/move-task.js b/mcp-server/src/tools/move-task.js index dd944342..25743242 100644 --- a/mcp-server/src/tools/move-task.js +++ b/mcp-server/src/tools/move-task.js @@ -3,7 +3,9 @@ * Tool for moving tasks or subtasks to a new position */ -import { z } from 'zod'; +// TEMPORARY: Using zod/v3 for Draft-07 JSON Schema compatibility with FastMCP's zod-to-json-schema +// TODO: Revert to 'zod' when MCP spec issue is resolved (see PR #1323) +import { z } from 'zod/v3'; import { handleApiResult, createErrorResponse, diff --git a/mcp-server/src/tools/next-task.js b/mcp-server/src/tools/next-task.js index b5453b08..85e99b2a 100644 --- a/mcp-server/src/tools/next-task.js +++ b/mcp-server/src/tools/next-task.js @@ -3,7 +3,9 @@ * Tool to find the next task to work on based on dependencies and status */ -import { z } from 'zod'; +// TEMPORARY: Using zod/v3 for Draft-07 JSON Schema compatibility with FastMCP's zod-to-json-schema +// TODO: Revert to 'zod' when MCP spec issue is resolved (see PR #1323) +import { z } from 'zod/v3'; import { createErrorResponse, handleApiResult, diff --git a/mcp-server/src/tools/parse-prd.js b/mcp-server/src/tools/parse-prd.js index ebfabd1b..fbd1d806 100644 --- a/mcp-server/src/tools/parse-prd.js +++ b/mcp-server/src/tools/parse-prd.js @@ -3,7 +3,9 @@ * Tool to parse PRD document and generate tasks */ -import { z } from 'zod'; +// TEMPORARY: Using zod/v3 for Draft-07 JSON Schema compatibility with FastMCP's zod-to-json-schema +// TODO: Revert to 'zod' when MCP spec issue is resolved (see PR #1323) +import { z } from 'zod/v3'; import { handleApiResult, withNormalizedProjectRoot, diff --git a/mcp-server/src/tools/remove-dependency.js b/mcp-server/src/tools/remove-dependency.js index 84c57462..acb24526 100644 --- a/mcp-server/src/tools/remove-dependency.js +++ b/mcp-server/src/tools/remove-dependency.js @@ -3,7 +3,9 @@ * Tool for removing a dependency from a task */ -import { z } from 'zod'; +// TEMPORARY: Using zod/v3 for Draft-07 JSON Schema compatibility with FastMCP's zod-to-json-schema +// TODO: Revert to 'zod' when MCP spec issue is resolved (see PR #1323) +import { z } from 'zod/v3'; import { handleApiResult, createErrorResponse, diff --git a/mcp-server/src/tools/remove-subtask.js b/mcp-server/src/tools/remove-subtask.js index ae83e650..d0aef9d9 100644 --- a/mcp-server/src/tools/remove-subtask.js +++ b/mcp-server/src/tools/remove-subtask.js @@ -3,7 +3,9 @@ * Tool for removing subtasks from parent tasks */ -import { z } from 'zod'; +// TEMPORARY: Using zod/v3 for Draft-07 JSON Schema compatibility with FastMCP's zod-to-json-schema +// TODO: Revert to 'zod' when MCP spec issue is resolved (see PR #1323) +import { z } from 'zod/v3'; import { handleApiResult, createErrorResponse, diff --git a/mcp-server/src/tools/remove-task.js b/mcp-server/src/tools/remove-task.js index 93b2e8f6..de10d4ef 100644 --- a/mcp-server/src/tools/remove-task.js +++ b/mcp-server/src/tools/remove-task.js @@ -3,7 +3,9 @@ * Tool to remove a task by ID */ -import { z } from 'zod'; +// TEMPORARY: Using zod/v3 for Draft-07 JSON Schema compatibility with FastMCP's zod-to-json-schema +// TODO: Revert to 'zod' when MCP spec issue is resolved (see PR #1323) +import { z } from 'zod/v3'; import { handleApiResult, createErrorResponse, diff --git a/mcp-server/src/tools/rename-tag.js b/mcp-server/src/tools/rename-tag.js index e26ffcac..5969fafc 100644 --- a/mcp-server/src/tools/rename-tag.js +++ b/mcp-server/src/tools/rename-tag.js @@ -3,7 +3,9 @@ * Tool to rename an existing tag */ -import { z } from 'zod'; +// TEMPORARY: Using zod/v3 for Draft-07 JSON Schema compatibility with FastMCP's zod-to-json-schema +// TODO: Revert to 'zod' when MCP spec issue is resolved (see PR #1323) +import { z } from 'zod/v3'; import { createErrorResponse, handleApiResult, diff --git a/mcp-server/src/tools/research.js b/mcp-server/src/tools/research.js index 1fb61be9..15d43bad 100644 --- a/mcp-server/src/tools/research.js +++ b/mcp-server/src/tools/research.js @@ -3,7 +3,9 @@ * Tool to perform AI-powered research queries with project context */ -import { z } from 'zod'; +// TEMPORARY: Using zod/v3 for Draft-07 JSON Schema compatibility with FastMCP's zod-to-json-schema +// TODO: Revert to 'zod' when MCP spec issue is resolved (see PR #1323) +import { z } from 'zod/v3'; import { createErrorResponse, handleApiResult, diff --git a/mcp-server/src/tools/response-language.js b/mcp-server/src/tools/response-language.js index 42a8ee06..2247f240 100644 --- a/mcp-server/src/tools/response-language.js +++ b/mcp-server/src/tools/response-language.js @@ -1,4 +1,6 @@ -import { z } from 'zod'; +// TEMPORARY: Using zod/v3 for Draft-07 JSON Schema compatibility with FastMCP's zod-to-json-schema +// TODO: Revert to 'zod' when MCP spec issue is resolved (see PR #1323) +import { z } from 'zod/v3'; import { createErrorResponse, handleApiResult, diff --git a/mcp-server/src/tools/rules.js b/mcp-server/src/tools/rules.js index ff3fed7a..6c243ca7 100644 --- a/mcp-server/src/tools/rules.js +++ b/mcp-server/src/tools/rules.js @@ -3,7 +3,9 @@ * Tool to add or remove rules from a project (MCP server) */ -import { z } from 'zod'; +// TEMPORARY: Using zod/v3 for Draft-07 JSON Schema compatibility with FastMCP's zod-to-json-schema +// TODO: Revert to 'zod' when MCP spec issue is resolved (see PR #1323) +import { z } from 'zod/v3'; import { createErrorResponse, handleApiResult, diff --git a/mcp-server/src/tools/scope-down.js b/mcp-server/src/tools/scope-down.js index a982497e..52bd1f44 100644 --- a/mcp-server/src/tools/scope-down.js +++ b/mcp-server/src/tools/scope-down.js @@ -3,7 +3,9 @@ * Tool to scope down task complexity */ -import { z } from 'zod'; +// TEMPORARY: Using zod/v3 for Draft-07 JSON Schema compatibility with FastMCP's zod-to-json-schema +// TODO: Revert to 'zod' when MCP spec issue is resolved (see PR #1323) +import { z } from 'zod/v3'; import { createErrorResponse, handleApiResult, diff --git a/mcp-server/src/tools/scope-up.js b/mcp-server/src/tools/scope-up.js index 358b7d1b..3827922d 100644 --- a/mcp-server/src/tools/scope-up.js +++ b/mcp-server/src/tools/scope-up.js @@ -3,7 +3,9 @@ * Tool to scope up task complexity */ -import { z } from 'zod'; +// TEMPORARY: Using zod/v3 for Draft-07 JSON Schema compatibility with FastMCP's zod-to-json-schema +// TODO: Revert to 'zod' when MCP spec issue is resolved (see PR #1323) +import { z } from 'zod/v3'; import { createErrorResponse, handleApiResult, diff --git a/mcp-server/src/tools/set-task-status.js b/mcp-server/src/tools/set-task-status.js index ee293fed..aa25410f 100644 --- a/mcp-server/src/tools/set-task-status.js +++ b/mcp-server/src/tools/set-task-status.js @@ -3,7 +3,9 @@ * Tool to set the status of a task */ -import { z } from 'zod'; +// TEMPORARY: Using zod/v3 for Draft-07 JSON Schema compatibility with FastMCP's zod-to-json-schema +// TODO: Revert to 'zod' when MCP spec issue is resolved (see PR #1323) +import { z } from 'zod/v3'; import { handleApiResult, createErrorResponse, diff --git a/mcp-server/src/tools/update-subtask.js b/mcp-server/src/tools/update-subtask.js index 2624f4d1..94921dc0 100644 --- a/mcp-server/src/tools/update-subtask.js +++ b/mcp-server/src/tools/update-subtask.js @@ -3,7 +3,9 @@ * Tool to append additional information to a specific subtask */ -import { z } from 'zod'; +// TEMPORARY: Using zod/v3 for Draft-07 JSON Schema compatibility with FastMCP's zod-to-json-schema +// TODO: Revert to 'zod' when MCP spec issue is resolved (see PR #1323) +import { z } from 'zod/v3'; import { handleApiResult, createErrorResponse, diff --git a/mcp-server/src/tools/update-task.js b/mcp-server/src/tools/update-task.js index 2fb1feb7..92d37d5e 100644 --- a/mcp-server/src/tools/update-task.js +++ b/mcp-server/src/tools/update-task.js @@ -3,7 +3,9 @@ * Tool to update a single task by ID with new information */ -import { z } from 'zod'; +// TEMPORARY: Using zod/v3 for Draft-07 JSON Schema compatibility with FastMCP's zod-to-json-schema +// TODO: Revert to 'zod' when MCP spec issue is resolved (see PR #1323) +import { z } from 'zod/v3'; import { handleApiResult, createErrorResponse, diff --git a/mcp-server/src/tools/update.js b/mcp-server/src/tools/update.js index f81a3755..adc71d25 100644 --- a/mcp-server/src/tools/update.js +++ b/mcp-server/src/tools/update.js @@ -3,7 +3,9 @@ * Tool to update tasks based on new context/prompt */ -import { z } from 'zod'; +// TEMPORARY: Using zod/v3 for Draft-07 JSON Schema compatibility with FastMCP's zod-to-json-schema +// TODO: Revert to 'zod' when MCP spec issue is resolved (see PR #1323) +import { z } from 'zod/v3'; import { handleApiResult, createErrorResponse, diff --git a/mcp-server/src/tools/use-tag.js b/mcp-server/src/tools/use-tag.js index c8133dac..1173693d 100644 --- a/mcp-server/src/tools/use-tag.js +++ b/mcp-server/src/tools/use-tag.js @@ -3,7 +3,9 @@ * Tool to switch to a different tag context */ -import { z } from 'zod'; +// TEMPORARY: Using zod/v3 for Draft-07 JSON Schema compatibility with FastMCP's zod-to-json-schema +// TODO: Revert to 'zod' when MCP spec issue is resolved (see PR #1323) +import { z } from 'zod/v3'; import { createErrorResponse, handleApiResult, diff --git a/mcp-server/src/tools/validate-dependencies.js b/mcp-server/src/tools/validate-dependencies.js index 4b96c12b..186d0c9e 100644 --- a/mcp-server/src/tools/validate-dependencies.js +++ b/mcp-server/src/tools/validate-dependencies.js @@ -3,7 +3,9 @@ * Tool for validating task dependencies */ -import { z } from 'zod'; +// TEMPORARY: Using zod/v3 for Draft-07 JSON Schema compatibility with FastMCP's zod-to-json-schema +// TODO: Revert to 'zod' when MCP spec issue is resolved (see PR #1323) +import { z } from 'zod/v3'; import { handleApiResult, createErrorResponse,