{"title":"Khắc phục sự cố MCP","slug":"troubleshooting","category":"mcp","summary":"Giải quyết vấn đề tích hợp MCP phổ biến — server không khởi động, công cụ không xuất hiện, lỗi xác thực.","audience":["human","llm"],"tags":["mcp","troubleshooting","errors","debugging"],"difficulty":"intermediate","updated":"2026-06-27","word_count":741,"read_minutes":4,"llm_context":"Common issues:\n1. Node.js < 18 → upgrade to 18+\n2. Mind Key invalid → check format (mk_...), get fresh via POST /minds\n3. npx not found → install Node.js\n4. Tools not appearing → restart client, check config JSON validity\n5. SYNAPSE_URL unreachable → curl /health to verify\n6. MCP server crashes → check logs, run npx manually to see error\nDebug steps: run `npx -y synapse-mcp-api@latest` manually, check stderr\nLogs: Claude Desktop ~/Library/Logs/Claude/mcp.log, Cursor ~/.cursor/logs/\n","lang":"vi","translated":true,"requested_lang":"vi","content_markdown":"\n# Khắc phục sự cố MCP\n\nVấn đề và giải pháp phổ biến khi tích hợp Synapse MCP với LLM client của bạn.\n\n## Danh sách chẩn đoán nhanh\n\n1. ✅ Node.js 18+ đã cài đặt? (`node --version`)\n2. ✅ Mind Key bắt đầu bằng `mk_`? (không phải JWT `eyJ...`)\n3. ✅ Synapse API có thể truy cập? (`curl https://synapse.schaefer.zone/health`)\n4. ✅ Mind Key hoạt động? (`curl -H \"Authorization: Bearer mk_...\" .../memory/recall`)\n5. ✅ Tệp cấu hình là JSON hợp lệ? (không có dấu phẩy cuối, không có bình luận)\n6. ✅ Client đã khởi động lại sau thay đổi cấu hình?\n7. ✅ MCP server khởi động thủ công? (`npx -y synapse-mcp-api@latest`)\n\n## Vấn đề: Không có công cụ xuất hiện trong Client\n\n### Triệu chứng\n\n- Claude Desktop / Cursor / Continue hiển thị 0 công cụ\n- Không có biểu tượng 🔌 hoặc mục \"synapse\" trong danh sách MCP server\n\n### Giải pháp\n\n1. **Khởi động lại client hoàn toàn** — Cmd+Q trên macOS (không chỉ đóng cửa sổ)\n2. **Kiểm tra vị trí tệp cấu hình**:\n   - Claude Desktop macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`\n   - Claude Desktop Windows: `%APPDATA%\\Claude\\claude_desktop_config.json`\n   - Cursor: `~/.cursor/config.json`\n   - Continue: `~/.continue/config.json`\n3. **Xác thực JSON** — dán cấu hình vào <https://jsonlint.com>\n4. **Kiểm tra nhật ký client** cho lỗi MCP:\n   - Claude Desktop: `~/Library/Logs/Claude/mcp.log` (macOS)\n   - Cursor: View → Output → MCP\n5. **Chạy MCP server thủ công** để xem lỗi khởi động:\n   ```bash\n   SYNAPSE_MIND_KEY=mk_... npx -y synapse-mcp-api@latest\n   ```\n\n## Vấn đề: Lỗi \"Mind Key invalid\"\n\n### Triệu chứng\n\n- Công cụ xuất hiện nhưng lệnh gọi thất bại với \"401 Unauthorized\"\n- Lỗi: \"Mind Key fehlt oder ungültig\"\n\n### Giải pháp\n\n1. **Xác minh định dạng Mind Key** — bắt đầu bằng `mk_`, ~40 ký tự\n2. **Kiểm tra trực tiếp**:\n   ```bash\n   curl -H \"Authorization: Bearer mk_YOUR_KEY\" \\\n        https://synapse.schaefer.zone/memory/recall\n   ```\n3. **Kiểm tra biến môi trường được đặt** — cho transport stdio, biến môi trường phải trong cấu hình MCP server, không phải shell của bạn\n4. **Lấy Mind Key mới**:\n   ```bash\n   # Login to get JWT\n   curl -X POST .../login -d '{\"email\":\"...\",\"password\":\"...\"}'\n   # Create new mind\n   curl -X POST .../minds -H \"Authorization: Bearer YOUR_JWT\" -d '{\"name\":\"new mind\"}'\n   ```\n\n## Vấn đề: npx Không tìm thấy\n\n### Triệu chứng\n\n- Lỗi: \"npx: command not found\"\n- MCP server thất bại khi khởi động\n\n### Giải pháp\n\n1. **Cài đặt Node.js 18+**:\n   - macOS: `brew install node` hoặc tải từ <https://nodejs.org>\n   - Linux: `curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash - && sudo apt install -y nodejs`\n   - Windows: tải từ <https://nodejs.org>\n2. **Khởi động lại terminal** sau khi cài đặt\n3. **Xác minh**: `node --version && npx --version`\n\n## Vấn đề: SYNAPSE_URL Không thể truy cập\n\n### Triệu chứng\n\n- MCP server khởi động nhưng lệnh gọi công cụ hết thời gian chờ\n- Lỗi: \"fetch failed\" hoặc \"ECONNREFUSED\"\n\n### Giải pháp\n\n1. **Kiểm tra kết nối**:\n   ```bash\n   curl https://synapse.schaefer.zone/health\n   ```\n2. **Kiểm tra tường lửa công ty** — có thể chặn HTTPS outbound\n3. **Thử URL thay thế**:\n   - Production: `https://synapse.schaefer.zone`\n   - MCP server: `https://synapse-mcp.schaefer.zone`\n4. **Cho tự lưu trữ**: đảm bảo thể hiện Synapse của bạn đang chạy và có thể truy cập\n\n## Vấn đề: MCP Server Sập\n\n### Triệu chứng\n\n- MCP server thoát ngay sau khi khởi động\n- Nhật ký client hiển thị \"MCP server disconnected\"\n\n### Giải pháp\n\n1. **Chạy thủ công để xem lỗi**:\n   ```bash\n   SYNAPSE_MIND_KEY=mk_... SYNAPSE_URL=https://synapse.schaefer.zone \\\n     npx -y synapse-mcp-api@latest\n   ```\n2. **Kiểm tra xung đột cổng** — MCP server sử dụng cổng 13100 mặc định\n3. **Xóa bộ nhớ đệm npx**:\n   ```bash\n   npx clear-npx-cache\n   # or\n   rm -rf ~/.npm/_npx\n   ```\n4. **Cập nhật lên phiên bản mới nhất**:\n   ```bash\n   npx -y synapse-mcp-api@latest --version\n   ```\n\n## Vấn đề: Lệnh gọi công cụ trả về 429\n\n### Triệu chứng\n\n- Lỗi: \"Rate limit exceeded\"\n\n### Giải pháp\n\nĐiều này không nên xảy ra với MCP (sử dụng xác thực header, không giới hạn tốc\nđộ). Nếu xảy ra:\n\n1. **Kiểm tra xem bạn có đang dùng `?key=` ở đâu không** — chuyển sang xác thực header\n2. **Xác minh `SYNAPSE_URL`** — đảm bảo nó trỏ đến thể hiện đúng\n3. **Liên hệ hỗ trợ** nếu vấn đề tiếp tục\n\n## Vấn đề: Công cụ xuất hiện nhưng không hoạt động\n\n### Triệu chứng\n\n- Công cụ được liệt kê trong client\n- Gọi công cụ trả về lỗi hoặc không có kết quả\n\n### Giải pháp\n\n1. **Kiểm tra tên công cụ** — phải chính xác (ví dụ `memory_recall`, không phải `memory.recall`)\n2. **Xác minh đối số** — kiểm tra schema đầu vào của công cụ\n3. **Kiểm tra qua API trực tiếp**:\n   ```bash\n   curl -X POST https://synapse.schaefer.zone/memory \\\n     -H \"Authorization: Bearer mk_...\" \\\n     -H \"Content-Type: application/json\" \\\n     -d '{\"category\":\"fact\",\"key\":\"test\",\"content\":\"hello\"}'\n   ```\n4. **Kiểm tra sức khỏe Synapse**:\n   ```bash\n   curl https://synapse.schaefer.zone/health\n   ```\n\n## Nhận trợ giúp\n\nNếu không có giải pháp nào ở trên giải quyết vấn đề của bạn:\n\n1. **Kiểm tra issue hiện có**: <https://gitlab.com/schaefer-services/synapse-mcp/-/issues>\n2. **Mở issue mới** với:\n   - Phiên bản MCP server (`npx -y synapse-mcp-api@latest --version`)\n   - Tên và phiên bản client\n   - Hệ điều hành\n   - Trích đoạn nhật ký liên quan\n   - Các bước tái hiện\n\n## Bước tiếp theo\n\n- [Thiết lập Claude Desktop](/docs/mcp/claude-desktop)\n- [Thiết lập Claude Code](/docs/mcp/claude-code)\n- [Lỗi API](/docs/api/errors)\n","content_html":"<h1>Khắc phục sự cố MCP</h1>\n<p>Vấn đề và giải pháp phổ biến khi tích hợp Synapse MCP với LLM client của bạn.</p>\n<h2>Danh sách chẩn đoán nhanh</h2>\n<ol>\n<li>✅ Node.js 18+ đã cài đặt? (<code>node --version</code>)</li>\n<li>✅ Mind Key bắt đầu bằng <code>mk_</code>? (không phải JWT <code>eyJ...</code>)</li>\n<li>✅ Synapse API có thể truy cập? (<code>curl https://synapse.schaefer.zone/health</code>)</li>\n<li>✅ Mind Key hoạt động? (<code>curl -H &quot;Authorization: Bearer mk_...&quot; .../memory/recall</code>)</li>\n<li>✅ Tệp cấu hình là JSON hợp lệ? (không có dấu phẩy cuối, không có bình luận)</li>\n<li>✅ Client đã khởi động lại sau thay đổi cấu hình?</li>\n<li>✅ MCP server khởi động thủ công? (<code>npx -y synapse-mcp-api@latest</code>)</li>\n</ol>\n<h2>Vấn đề: Không có công cụ xuất hiện trong Client</h2>\n<h3>Triệu chứng</h3>\n<ul>\n<li>Claude Desktop / Cursor / Continue hiển thị 0 công cụ</li>\n<li>Không có biểu tượng 🔌 hoặc mục &quot;synapse&quot; trong danh sách MCP server</li>\n</ul>\n<h3>Giải pháp</h3>\n<ol>\n<li><strong>Khởi động lại client hoàn toàn</strong> — Cmd+Q trên macOS (không chỉ đóng cửa sổ)</li>\n<li><strong>Kiểm tra vị trí tệp cấu hình</strong>:<ul>\n<li>Claude Desktop macOS: <code>~/Library/Application Support/Claude/claude_desktop_config.json</code></li>\n<li>Claude Desktop Windows: <code>%APPDATA%\\Claude\\claude_desktop_config.json</code></li>\n<li>Cursor: <code>~/.cursor/config.json</code></li>\n<li>Continue: <code>~/.continue/config.json</code></li>\n</ul>\n</li>\n<li><strong>Xác thực JSON</strong> — dán cấu hình vào <a href=\"https://jsonlint.com\">https://jsonlint.com</a></li>\n<li><strong>Kiểm tra nhật ký client</strong> cho lỗi MCP:<ul>\n<li>Claude Desktop: <code>~/Library/Logs/Claude/mcp.log</code> (macOS)</li>\n<li>Cursor: View → Output → MCP</li>\n</ul>\n</li>\n<li><strong>Chạy MCP server thủ công</strong> để xem lỗi khởi động:<pre><code class=\"hljs language-bash\">SYNAPSE_MIND_KEY=mk_... npx -y synapse-mcp-api@latest</code></pre></li>\n</ol>\n<h2>Vấn đề: Lỗi &quot;Mind Key invalid&quot;</h2>\n<h3>Triệu chứng</h3>\n<ul>\n<li>Công cụ xuất hiện nhưng lệnh gọi thất bại với &quot;401 Unauthorized&quot;</li>\n<li>Lỗi: &quot;Mind Key fehlt oder ungültig&quot;</li>\n</ul>\n<h3>Giải pháp</h3>\n<ol>\n<li><strong>Xác minh định dạng Mind Key</strong> — bắt đầu bằng <code>mk_</code>, ~40 ký tự</li>\n<li><strong>Kiểm tra trực tiếp</strong>:<pre><code class=\"hljs language-bash\">curl -H <span class=\"hljs-string\">&quot;Authorization: Bearer mk_YOUR_KEY&quot;</span> \\\n     https://synapse.schaefer.zone/memory/recall</code></pre></li>\n<li><strong>Kiểm tra biến môi trường được đặt</strong> — cho transport stdio, biến môi trường phải trong cấu hình MCP server, không phải shell của bạn</li>\n<li><strong>Lấy Mind Key mới</strong>:<pre><code class=\"hljs language-bash\"><span class=\"hljs-comment\"># Login to get JWT</span>\ncurl -X POST .../login -d <span class=\"hljs-string\">&#x27;{&quot;email&quot;:&quot;...&quot;,&quot;password&quot;:&quot;...&quot;}&#x27;</span>\n<span class=\"hljs-comment\"># Create new mind</span>\ncurl -X POST .../minds -H <span class=\"hljs-string\">&quot;Authorization: Bearer YOUR_JWT&quot;</span> -d <span class=\"hljs-string\">&#x27;{&quot;name&quot;:&quot;new mind&quot;}&#x27;</span></code></pre></li>\n</ol>\n<h2>Vấn đề: npx Không tìm thấy</h2>\n<h3>Triệu chứng</h3>\n<ul>\n<li>Lỗi: &quot;npx: command not found&quot;</li>\n<li>MCP server thất bại khi khởi động</li>\n</ul>\n<h3>Giải pháp</h3>\n<ol>\n<li><strong>Cài đặt Node.js 18+</strong>:<ul>\n<li>macOS: <code>brew install node</code> hoặc tải từ <a href=\"https://nodejs.org\">https://nodejs.org</a></li>\n<li>Linux: <code>curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash - &amp;&amp; sudo apt install -y nodejs</code></li>\n<li>Windows: tải từ <a href=\"https://nodejs.org\">https://nodejs.org</a></li>\n</ul>\n</li>\n<li><strong>Khởi động lại terminal</strong> sau khi cài đặt</li>\n<li><strong>Xác minh</strong>: <code>node --version &amp;&amp; npx --version</code></li>\n</ol>\n<h2>Vấn đề: SYNAPSE_URL Không thể truy cập</h2>\n<h3>Triệu chứng</h3>\n<ul>\n<li>MCP server khởi động nhưng lệnh gọi công cụ hết thời gian chờ</li>\n<li>Lỗi: &quot;fetch failed&quot; hoặc &quot;ECONNREFUSED&quot;</li>\n</ul>\n<h3>Giải pháp</h3>\n<ol>\n<li><strong>Kiểm tra kết nối</strong>:<pre><code class=\"hljs language-bash\">curl https://synapse.schaefer.zone/health</code></pre></li>\n<li><strong>Kiểm tra tường lửa công ty</strong> — có thể chặn HTTPS outbound</li>\n<li><strong>Thử URL thay thế</strong>:<ul>\n<li>Production: <code>https://synapse.schaefer.zone</code></li>\n<li>MCP server: <code>https://synapse-mcp.schaefer.zone</code></li>\n</ul>\n</li>\n<li><strong>Cho tự lưu trữ</strong>: đảm bảo thể hiện Synapse của bạn đang chạy và có thể truy cập</li>\n</ol>\n<h2>Vấn đề: MCP Server Sập</h2>\n<h3>Triệu chứng</h3>\n<ul>\n<li>MCP server thoát ngay sau khi khởi động</li>\n<li>Nhật ký client hiển thị &quot;MCP server disconnected&quot;</li>\n</ul>\n<h3>Giải pháp</h3>\n<ol>\n<li><strong>Chạy thủ công để xem lỗi</strong>:<pre><code class=\"hljs language-bash\">SYNAPSE_MIND_KEY=mk_... SYNAPSE_URL=https://synapse.schaefer.zone \\\n  npx -y synapse-mcp-api@latest</code></pre></li>\n<li><strong>Kiểm tra xung đột cổng</strong> — MCP server sử dụng cổng 13100 mặc định</li>\n<li><strong>Xóa bộ nhớ đệm npx</strong>:<pre><code class=\"hljs language-bash\">npx clear-npx-cache\n<span class=\"hljs-comment\"># or</span>\n<span class=\"hljs-built_in\">rm</span> -rf ~/.npm/_npx</code></pre></li>\n<li><strong>Cập nhật lên phiên bản mới nhất</strong>:<pre><code class=\"hljs language-bash\">npx -y synapse-mcp-api@latest --version</code></pre></li>\n</ol>\n<h2>Vấn đề: Lệnh gọi công cụ trả về 429</h2>\n<h3>Triệu chứng</h3>\n<ul>\n<li>Lỗi: &quot;Rate limit exceeded&quot;</li>\n</ul>\n<h3>Giải pháp</h3>\n<p>Điều này không nên xảy ra với MCP (sử dụng xác thực header, không giới hạn tốc\nđộ). Nếu xảy ra:</p>\n<ol>\n<li><strong>Kiểm tra xem bạn có đang dùng <code>?key=</code> ở đâu không</strong> — chuyển sang xác thực header</li>\n<li><strong>Xác minh <code>SYNAPSE_URL</code></strong> — đảm bảo nó trỏ đến thể hiện đúng</li>\n<li><strong>Liên hệ hỗ trợ</strong> nếu vấn đề tiếp tục</li>\n</ol>\n<h2>Vấn đề: Công cụ xuất hiện nhưng không hoạt động</h2>\n<h3>Triệu chứng</h3>\n<ul>\n<li>Công cụ được liệt kê trong client</li>\n<li>Gọi công cụ trả về lỗi hoặc không có kết quả</li>\n</ul>\n<h3>Giải pháp</h3>\n<ol>\n<li><strong>Kiểm tra tên công cụ</strong> — phải chính xác (ví dụ <code>memory_recall</code>, không phải <code>memory.recall</code>)</li>\n<li><strong>Xác minh đối số</strong> — kiểm tra schema đầu vào của công cụ</li>\n<li><strong>Kiểm tra qua API trực tiếp</strong>:<pre><code class=\"hljs language-bash\">curl -X POST https://synapse.schaefer.zone/memory \\\n  -H <span class=\"hljs-string\">&quot;Authorization: Bearer mk_...&quot;</span> \\\n  -H <span class=\"hljs-string\">&quot;Content-Type: application/json&quot;</span> \\\n  -d <span class=\"hljs-string\">&#x27;{&quot;category&quot;:&quot;fact&quot;,&quot;key&quot;:&quot;test&quot;,&quot;content&quot;:&quot;hello&quot;}&#x27;</span></code></pre></li>\n<li><strong>Kiểm tra sức khỏe Synapse</strong>:<pre><code class=\"hljs language-bash\">curl https://synapse.schaefer.zone/health</code></pre></li>\n</ol>\n<h2>Nhận trợ giúp</h2>\n<p>Nếu không có giải pháp nào ở trên giải quyết vấn đề của bạn:</p>\n<ol>\n<li><strong>Kiểm tra issue hiện có</strong>: <a href=\"https://gitlab.com/schaefer-services/synapse-mcp/-/issues\">https://gitlab.com/schaefer-services/synapse-mcp/-/issues</a></li>\n<li><strong>Mở issue mới</strong> với:<ul>\n<li>Phiên bản MCP server (<code>npx -y synapse-mcp-api@latest --version</code>)</li>\n<li>Tên và phiên bản client</li>\n<li>Hệ điều hành</li>\n<li>Trích đoạn nhật ký liên quan</li>\n<li>Các bước tái hiện</li>\n</ul>\n</li>\n</ol>\n<h2>Bước tiếp theo</h2>\n<ul>\n<li><a href=\"/docs/mcp/claude-desktop\">Thiết lập Claude Desktop</a></li>\n<li><a href=\"/docs/mcp/claude-code\">Thiết lập Claude Code</a></li>\n<li><a href=\"/docs/api/errors\">Lỗi API</a></li>\n</ul>\n","urls":{"html":"/docs/mcp/troubleshooting","text":"/docs/mcp/troubleshooting?format=text","json":"/docs/mcp/troubleshooting?format=json","llm":"/docs/mcp/troubleshooting?format=llm"},"translations_available":["en","zh","hi","es","fr","ar","pt","ru","ja","de","it","ko","nl","pl","tr","sv","vi","th","id","uk"]}