iT邦幫忙

2025 iThome 鐵人賽

DAY 10
0
生成式 AI

MCP Server 全攻略:讓 AI 動態調用工具的工作流革命系列 第 10

[10] Claude Desktop 運行 STDIO Mcp Server

  • 分享至 

  • xImage
  •  

起手式: 請先安裝 Cluade Desktop / 更新到最新版

設定方式基本無異: 到設定 -> developer -> mcp server

注意, 剛加完 mcp server to config 之後需要重啟 claude desktop 才會生效

https://ithelp.ithome.com.tw/upload/images/20250924/20141182PApACpk1ay.png

https://ithelp.ithome.com.tw/upload/images/20250924/20141182WZLhu193KA.png

今天先來講一下我的血淚史, 明天再補充完整的 mcp server 創建方式,

原本我用 inspector 檢查都沒問題, 但是放到 claude 上就會掛掉, cursor 執行沒問題
https://ithelp.ithome.com.tw/upload/images/20250924/20141182M9uEWvDxqR.png

cursor config 如下:

{
  "mcpServers": {
    "journal-mcp-server": {
      "command": "node",
      "args": ["/Users/maomao/Desktop/journal-mcp-server/build/index.js"]
    }
  }
}

claude log 錯誤:

2025-09-24T14:15:15.368Z [info] [journal-mcp-server] Message from client: {"jsonrpc":"2.0","method":"notifications/cancelled","params":{"requestId":0,"reason":"McpError: MCP error -32001: Request timed out"}}

後來發現是因為 claude 讀不到正確的 node,

因為 claude 似乎不會繼承我們 shell 的環境變量, 所以他找不到正確的path, 他預設從 bin 找, 這和 nvm 的處理原理不同,

因此我們在 claude mcp server config 上需要用 command 的方式去指定正確路徑:

{
  "mcpServers": {
    "journal-mcp-server": {
      "command": "/Users/maomao/.nvm/versions/node/v22.12.0/bin/node",
      "args": ["/Users/maomao/Desktop/journal-mcp-server/build/index.js"]
    }
  }
}

接著就可以開始哭了, 成功了:
https://ithelp.ithome.com.tw/upload/images/20250924/20141182ZjQP0ErZ3i.pnghttps://ithelp.ithome.com.tw/upload/images/20250924/2014118216y5DakahC.png

log:

2025-09-24T14:42:42.907Z [info] [journal-mcp-server] Message from client: {"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"claude-ai","version":"0.1.0"}},"jsonrpc":"2.0","id":0}

==> /Users/maomao/Library/Logs/Claude/mcp-server-journal-mcp-server.log <==
Journal MCP Server running on stdio
2025-09-24T14:42:43.113Z [journal-mcp-server] [info] Message from server: {"jsonrpc":"2.0","id":0,"result":{"protocolVersion":"2025-06-18","capabilities":{"tools":{}},"serverInfo":{"name":"journal-mcp-server","version":"1.0.0"}}} { metadata: undefined }

Note: 眼尖的同學會發現我切回 typescript 了, 完整的重設會於明天介紹, 這也是我看了開源的 code 才發現的寫法


上一篇
[09] 實作 Mcp Server Tools & inspector 介紹
下一篇
[11] Mcp Server Tool 註冊的三種方式
系列文
MCP Server 全攻略:讓 AI 動態調用工具的工作流革命12
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言