Skip to main content
Glama
mcp-installation-guide.md6.54 kB
--- id: mcp-installation-guide group_id: Public type: Guide title: KnowledgeSmith MCP 安裝使用指南 author: System update_date: 2025-10-15 --- # KnowledgeSmith MCP 安裝使用指南 本文件說明如何安裝和使用 KnowledgeSmith MCP Server,它提供 Graphiti 知識圖譜整合和文件 chunking 功能。 ### 系統需求 **必須:** - Python 3.11+ - uv (Python 套件管理工具) - Neo4j 資料庫 (用於 Graphiti) - OpenAI API key **建議:** - Claude Desktop (用於 MCP 整合) - Docker (用於執行 Neo4j) ### Neo4j 資料庫設置 使用 Docker 快速啟動 Neo4j: ```bash docker run \ -p 7474:7474 \ -p 7687:7687 \ -e NEO4J_AUTH=neo4j/your-password \ --name neo4j \ neo4j:latest ``` **驗證連線:** - 瀏覽器開啟: `http://localhost:7474` - 使用帳號密碼登入: `neo4j` / `your-password` ### 安裝 MCP Server **方法一:從原始碼安裝(開發用)** ```bash # Clone repository git clone https://github.com/yourusername/KnowledgeSmith-MCP.git cd KnowledgeSmith-MCP # 安裝 uv pip install -e . # 測試安裝 rbt-mcp-server --help ``` **方法二:直接安裝** ```bash # 安裝套件 uv pip install rbt-mcp-server # 測試安裝 rbt-mcp-server --help ``` ### 環境變數設定 建立 `.env` 檔案或直接匯出環境變數: ```bash # Neo4j 連線資訊 export NEO4J_URI=bolt://localhost:7687 export NEO4J_USER=neo4j export NEO4J_PASSWORD=your-password # OpenAI API Key (用於 Graphiti) export OPENAI_API_KEY=your-openai-api-key ``` ### Claude Desktop 整合設定 編輯 Claude Desktop 設定檔: - macOS: `~/Library/Application Support/Claude/claude_desktop_config.json` - Windows: `%APPDATA%\Claude\claude_desktop_config.json` **設定範例一:使用已安裝的指令** ```json { "mcpServers": { "graphiti-memory-server": { "type": "stdio", "command": "rbt-mcp-server", "env": { "RBT_ROOT_DIR": "/path/to/your/document/root", "NEO4J_URI": "bolt://localhost:7687", "NEO4J_USER": "neo4j", "NEO4J_PASSWORD": "your-password", "OPENAI_API_KEY": "your-openai-api-key" } } } } ``` **設定範例二:使用 uv run** ```json { "mcpServers": { "graphiti-memory-server": { "type": "stdio", "command": "uv", "args": ["run", "rbt-mcp-server"], "env": { "RBT_ROOT_DIR": "/path/to/your/document/root", "NEO4J_URI": "bolt://localhost:7687", "NEO4J_USER": "neo4j", "NEO4J_PASSWORD": "your-password", "OPENAI_API_KEY": "your-openai-api-key" } } } } ``` **環境變數說明:** - `RBT_ROOT_DIR`: 文件根目錄(用於比對原始檔案,add_document 工具必須) - `NEO4J_URI`: Neo4j 資料庫連線位址 - `NEO4J_USER`: Neo4j 使用者名稱 - `NEO4J_PASSWORD`: Neo4j 密碼 - `OPENAI_API_KEY`: OpenAI API 金鑰(用於 Graphiti embeddings) **設定完成後:** 1. 重新啟動 Claude Desktop 2. 確認 MCP 伺服器已連線(查看 Claude Desktop 狀態列) ### 可用的 MCP Tools **文件管理:** 1. `add_document` - 同步文件到知識圖譜(自動 chunking) **知識圖譜查詢:** 2. `search_memory_nodes` - 搜尋節點(entities, preferences, procedures) 3. `search_memory_facts` - 搜尋事實關係 4. `get_episodes` - 取得最近的記憶片段 **資料管理:** 5. `delete_episode` - 刪除指定 episode 6. `get_entity_edge` - 取得實體關係邊 7. `delete_entity_edge` - 刪除實體關係邊 8. `clear_graph` - 清空整個知識圖譜(危險操作) ### 使用範例 **範例一:新增文件到知識圖譜** ```python # 使用 Claude Code 或 Claude Desktop # 直接呼叫 MCP tool: add_document add_document( new_file_path="/path/to/document.md", project_id="my-project", feature_id="my-feature", # RBT 文件必填 rbt_type="REQ", # REQ/BP/TASK,一般文件不填 file_path="relative/path.md" # 一般文件必填 ) ``` **範例二:搜尋相關知識** ```python # 搜尋節點(偏好、程序等) search_memory_nodes( query="文件撰寫規範", group_ids=["my-project", "Public"], entity="Preference", max_nodes=10 ) # 搜尋事實關係 search_memory_facts( query="chunker 實作細節", group_ids=["my-project", "Public"], max_facts=10 ) ``` **範例三:取得最近的記憶** ```python get_episodes( group_id="my-project", last_n=5 ) ``` ### 文件 Chunking 機制 MCP Server 會自動將文件切分成小塊 (chunks) 再存入知識圖譜: **Markdown 文件:** - 以 h3 (`###`) 標題為分段依據 - 每個 section 成為一個 chunk - 自動過濾程式碼區塊內的假標題 **RBT 文件:** - 以 section (`## {#sec-id}`) 為分段依據 - 每個 section 成為一個 chunk **優點:** - 增量更新:只同步變更的 chunks - 精確搜尋:可以定位到具體段落 - 穩定 ID:相同段落產生相同 chunk ID ### 疑難排解 **問題:MCP Server 無法啟動** 檢查事項: 1. 確認環境變數都已設定 2. 確認 Neo4j 資料庫正在執行 3. 確認 OpenAI API key 有效 4. 查看 Claude Desktop logs **問題:add_document 失敗** 檢查事項: 1. 檔案路徑是否正確(必須是絕對路徑) 2. 文件格式是否符合 Markdown 規範 3. project_id 是否正確 4. 對於 RBT 文件,確認 feature_id 和 rbt_type 正確 **問題:搜尋結果為空** 檢查事項: 1. 確認 group_ids 正確(區分大小寫) 2. 確認已有文件同步到該 group 3. 嘗試使用更通用的查詢關鍵字 4. 檢查 Neo4j 資料庫內容 ### 開發與測試 **安裝開發依賴:** ```bash uv sync --dev ``` **執行測試:** ```bash RBT_ROOT_DIR=/test/root uv run pytest -v ``` **測試涵蓋率:** ```bash RBT_ROOT_DIR=/test/root uv run pytest --cov=rbt_mcp_server --cov-report=html ``` ### 相關文件 - [Markdown 文件撰寫規範](./markdown-writing-guide.md) - [專案 README](../../README.md) - [Graphiti 官方文件](https://github.com/getzep/graphiti) ### 注意事項 **安全性:** - 不要在公開的配置檔中儲存 API keys - 建議使用環境變數或密碼管理工具 - Neo4j 資料庫應設置適當的存取控制 **效能:** - 大型文件會產生較多 chunks,搜尋時間較長 - 建議合理使用 max_nodes 和 max_facts 參數 - 定期清理不需要的 episodes **資料管理:** - `clear_graph` 會刪除所有資料,使用前務必確認 - 刪除 episode 或 edge 後無法恢復 - 建議定期備份 Neo4j 資料庫

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/leo7nel23/KnowkedgeSmith-MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server