From e3c956f900689d2b55bf3aff8cbe3b383556d427 Mon Sep 17 00:00:00 2001 From: Lucas Winther Date: Sun, 6 Sep 2026 02:21:45 +0200 Subject: [PATCH] docs: record completion of tasks 1-3 in MCP tools plan and TODO.md --- docs/TODO.md | 22 +++++++++--------- docs/plans/2026-09-06-mcp-tools-plan.md | 30 ++++++++++++------------- 2 files changed, 26 insertions(+), 26 deletions(-) diff --git a/docs/TODO.md b/docs/TODO.md index 2574b80..96b7d1b 100644 --- a/docs/TODO.md +++ b/docs/TODO.md @@ -60,18 +60,18 @@ - [x] Implement `src/services/metadata.ts` (`listStatuses`, `listTypes`, `listPriorities`, `listUsers`). - [x] Add service tests in `tests/services.test.ts` (unit tests and live container integration suite passing). -- [ ] **Task 3: MCP Tool Definitions & Schema Registration** +- [ ] **Task 3: MCP Tool Definitions & Schema Registration** *(In Progress: Tasks 1-3 of plan completed)* - [ ] Define Zod schemas and register tools in `src/tools/`: - - `openproject_list_projects` - - `openproject_get_project` - - `openproject_list_work_packages` - - `openproject_get_work_package` - - `openproject_list_queries` - - `openproject_get_query` - - `openproject_list_types` - - `openproject_list_statuses` - - `openproject_list_priorities` - - `openproject_list_users` + - [x] `openproject_list_projects` + - [x] `openproject_get_project` + - [x] `openproject_list_work_packages` + - [x] `openproject_get_work_package` + - [ ] `openproject_list_queries` + - [ ] `openproject_get_query` + - [ ] `openproject_list_types` + - [ ] `openproject_list_statuses` + - [ ] `openproject_list_priorities` + - [ ] `openproject_list_users` - [ ] **Task 4: MCP Stdio Server Assembly & Integration** - [ ] Wire domain tools into `@modelcontextprotocol/sdk` Server using `StdioServerTransport` in `src/server.ts` and `src/index.ts`. diff --git a/docs/plans/2026-09-06-mcp-tools-plan.md b/docs/plans/2026-09-06-mcp-tools-plan.md index a9adf0c..48bb6af 100644 --- a/docs/plans/2026-09-06-mcp-tools-plan.md +++ b/docs/plans/2026-09-06-mcp-tools-plan.md @@ -35,7 +35,7 @@ - `ToolDefinition` interface: `{ name: string; description: string; schema?: TShape; readOnly: boolean; execute: (args: any) => Promise }` - `registerTool(server: McpServer, tool: ToolDefinition): void` -- [ ] **Step 1: Write failing tests for common tool utilities** +- [x] **Step 1: Write failing tests for common tool utilities** In `tests/tools.test.ts`: ```typescript @@ -70,12 +70,12 @@ describe("Tool Utilities", () => { }); ``` -- [ ] **Step 2: Run test to verify it fails** +- [x] **Step 2: Run test to verify it fails** Run: `bun test tests/tools.test.ts` Expected: FAIL with module `../src/tools/common` not found. -- [ ] **Step 3: Implement minimal code for common tool utilities** +- [x] **Step 3: Implement minimal code for common tool utilities** In `src/tools/common.ts`: ```typescript @@ -142,12 +142,12 @@ export function registerTool(server: McpServer, tool: ToolDefinition): void } ``` -- [ ] **Step 4: Run test to verify it passes** +- [x] **Step 4: Run test to verify it passes** Run: `bun test tests/tools.test.ts` Expected: PASS (3 pass). -- [ ] **Step 5: Commit** +- [x] **Step 5: Commit** ```bash git add src/tools/common.ts tests/tools.test.ts @@ -174,7 +174,7 @@ git commit -m "feat(tools): add common tool utilities, types, and error formatti - `projectTools`: ToolDefinition[] - `registerProjectTools(server: McpServer): void` -- [ ] **Step 1: Write failing tests for project tools** +- [x] **Step 1: Write failing tests for project tools** In `tests/tools.test.ts`: ```typescript @@ -282,12 +282,12 @@ describe("Project Tools", () => { }); ``` -- [ ] **Step 2: Run test to verify it fails** +- [x] **Step 2: Run test to verify it fails** Run: `bun test tests/tools.test.ts` Expected: FAIL with module `../src/tools/projects` not found. -- [ ] **Step 3: Implement project tools** +- [x] **Step 3: Implement project tools** In `src/tools/projects.ts`: ```typescript @@ -350,12 +350,12 @@ export function registerProjectTools(server: McpServer): void { } ``` -- [ ] **Step 4: Run test to verify it passes** +- [x] **Step 4: Run test to verify it passes** Run: `bun test tests/tools.test.ts` Expected: PASS. -- [ ] **Step 5: Commit** +- [x] **Step 5: Commit** ```bash git add src/tools/projects.ts tests/tools.test.ts @@ -382,7 +382,7 @@ git commit -m "feat(tools): implement project tools and registration" - `workPackageTools`: ToolDefinition[] - `registerWorkPackageTools(server: McpServer): void` -- [ ] **Step 1: Write failing tests for work package tools** +- [x] **Step 1: Write failing tests for work package tools** In `tests/tools.test.ts`: ```typescript @@ -479,12 +479,12 @@ describe("Work Package Tools", () => { }); ``` -- [ ] **Step 2: Run test to verify it fails** +- [x] **Step 2: Run test to verify it fails** Run: `bun test tests/tools.test.ts` Expected: FAIL with module `../src/tools/work-packages` not found. -- [ ] **Step 3: Implement work package tools** +- [x] **Step 3: Implement work package tools** In `src/tools/work-packages.ts`: ```typescript @@ -552,12 +552,12 @@ export function registerWorkPackageTools(server: McpServer): void { } ``` -- [ ] **Step 4: Run test to verify it passes** +- [x] **Step 4: Run test to verify it passes** Run: `bun test tests/tools.test.ts` Expected: PASS. -- [ ] **Step 5: Commit** +- [x] **Step 5: Commit** ```bash git add src/tools/work-packages.ts tests/tools.test.ts