"MCP"
- 6.2 tool use 與 MCP server 的權限模型
個人 dev 場景下 tool use / MCP server 的副作用權限:檔案系統 / shell / 網路存取邊界、第三方 MCP 信任、副作用的可逆性
- Hands-on:用 blog content 寫一個最小 MCP server
stdio JSON-RPC、stdlib-only Python、暴露 blog content 給 LLM 用、validating 4.3 應用層協議
- 4.6 應用層協議:function calling / structured output / MCP
三個常被混為一談的概念:模型能力、sampling 約束、server 協議,三者的層級差異與組合方式
- Hands-on:RAG / MCP 的資源 footprint
RAG ingest / query / MCP server 三階段的 RAM / 磁碟 / process 實測、多模型並存的 RAM 衝突、本地 LLM 跑 RAG 跟單純 chat 的差異
- codebase-memory-mcp:155 語言 tree-sitter 知識圖譜 MCP 的能力與邊界
codebase-memory-mcp (cbm) 的設計拆解:155 vendored tree-sitter grammar、11-signal 語意搜尋、Go / TS / C / C++ 上的 hybrid type resolution、跨 service HTTP/RPC 鏈接,以及在沒有 hybrid resolution 的語言上會降級成什麼樣。
- codegraph:用 tree-sitter per-language query 撐起 19+ 語言 call graph 的 MCP
codegraph MCP 的設計拆解:tree-sitter per-language query 抽 call graph、native OS file watcher 2 秒 debounce auto-sync、14 web framework routing、7 codebase benchmark 的 token 節省方法論。重點在 tree-sitter syntactic 路線能解到什麼程度、type-inferred dispatch 仍漏什麼。
- serena:把 LSP 包成 agent-first MCP 的 symbol-level 編輯方案
serena MCP 的設計拆解:直接整合各語言 LSP、symbol-level atomic edit(replace_symbol_body / insert_after_symbol / rename)、per-session project activation、跨 session memory。重點在 LSP 路線的型別精度可信度與 per-session 沒持久化的取捨。
- 三 MCP 工作流與 Dart 實測:cbm / codegraph / serena 的職責分工與三刀流
在同一個 Dart 商業專案上跑同一組 query,量化 codebase-memory-mcp / codegraph / serena 三個 code intelligence MCP 的能力差距,得到「不能互相取代、要互補使用」的三刀流結論。含 5 個實驗的 CLI baseline 跟 MCP 驗證對照。