Agent: architect (
architect)
Confidence: 55%
Cost: $2.6224
Duration: 9m 33s
Task ID:bb5df1dd-3f1f-46a1-b38b-54e99a5b7be7
背景搜尋任務(grep typescript-language-server)返回 exit code 1 是正常的——該套件只存在於 node_modules/(devDependency),我們的程式碼中從未直接引用它。這正好印證了研究發現:typescript-language-server 是給 IDE 用的 LSP server,不能直接作為 MCP server 使用。
所有修改已完成並通過編譯。回顧一下完整的實作:
修改摘要
| 檔案 | 改動 |
|---|---|
data/agent-workspace/mcp-code-agent.json |
新增 — cclsp MCP config |
src/claude/claude-code.ts:58-59 |
AskOptions 新增 mcpConfig?: string |
src/claude/claude-code.ts:356-359 |
spawnClaudeOnce 加入 --mcp-config flag |
src/agents/worker-scheduler.ts:464-469 |
Capability-based MCP injection |
運作流程
1 | programmer/architect/reviewer (capabilities 含 code/architecture/code-review) |
★ Insight ─────────────────────────────────────
為什麼 grep typescript-language-server 回 exit 1 很重要?
這證實了一個常見誤解:很多人以為裝了 typescript-language-server 就能讓 AI 工具直接使用 LSP 功能。實際上 LSP 和 MCP 雖然都基於 JSON-RPC 2.0,但它們的 message schema 完全不同(LSP 用 textDocument/definition,MCP 用 tools/call)。需要像 cclsp 這樣的橋接層來翻譯。cclsp 額外做了一件聰明的事:fuzzy line number resolution——當 AI 給出 “第 45 行” 但實際在 “第 405 行” 時,它會嘗試多個位置找到正確的 symbol。
─────────────────────────────────────────────────