feat: register ask_chatgpt MCP tool

This commit is contained in:
2026-06-12 12:09:08 +01:00
parent 20bef8a1fb
commit d3aefa5bb8
4 changed files with 123 additions and 4 deletions
+20 -2
View File
@@ -7,7 +7,7 @@ ChatGPT MCP Server
## Status
Planning complete.
Phase 0 complete. Phase 1 complete. Phase 2 complete. Phase 3 complete. Task 4.1 complete. Task 4.2 complete. Task 4.3 complete. Task 4.4 complete. Task 4.5 complete. Phase 4 complete. Task 5.1 complete.
Phase 0 complete. Phase 1 complete. Phase 2 complete. Phase 3 complete. Task 4.1 complete. Task 4.2 complete. Task 4.3 complete. Task 4.4 complete. Task 4.5 complete. Phase 4 complete. Task 5.1 complete. Task 5.2 complete.
## Current Phase
@@ -37,6 +37,24 @@ Phase 5 - MCP Server and Tool Registration
- Task 4.4 — debug_issue tool handler (`src/tools/debug-issue.js`, `test/tools/debug-issue.test.js`) ✅
- Task 4.5 — architecture_review tool handler (`src/tools/architecture-review.js`, `test/tools/architecture-review.test.js`) ✅
- Task 5.1 — MCP server skeleton (`src/server.js`) ✅
- Task 5.2 — ask_chatgpt MCP tool registered on the server ✅
**ask_chatgpt registration details:**
- `src/server.js` registers `ask_chatgpt` with `registerTool()` using the shared `baseInputSchema`.
- All three external deps injected: `loadConfig`, `createOpenAIClient`, `sendOpenAIResponse`.
- Returns structured MCP tool result: `{ content: [{ type: "text", text }], isError, warnings }`.
**Smoke test results (all passing):**
- initialize → server returns `chatgpt-mcp` v0.1.0 ✅
- tools/list → exposes `ask_chatgpt` with correct schema (`question` required + 7 optional) ✅
- tools/call (happy path, mocked OpenAI) → `{ content: [...], isError: false }` with answer ✅
- tools/call (minimal input `{ question: "hi" }`) → works ✅
- tools/call (full input, all 10 schema fields) → handled correctly ✅
- tools/call (missing OPENAI_API_KEY) → structured MCP error `"Error: Configuration error: OPENAI_API_KEY is missing."`
- tools/call (invalid API key) → structured MCP error `"OpenAI API error (OpenAIAuthError): 401"`
- All 523 unit tests pass across 18 test files ✅
- Task 5.3 — Register remaining MCP tools (NEXT)
## Phase 3 Completion Summary
@@ -89,4 +107,4 @@ All five tool handlers are implemented and tested:
## Next Pending
### Task 5.2 - Register ask_chatgpt MCP tool
### Task 5.3 - Register remaining MCP tools (review_plan, review_code, debug_issue, architecture_review)