🔥
TypeScript Language ServerをMCPで使いたい(asdf使ってる人向け)
前提
- メインはRoo Code + Cloude 3.7 Sonnetでコードを書いている
- Claude Desktop + Filesystem MCP Serverでもコードを書いている
- エディタから得られる情報がないのでRoo Codeと比べてつらい
やったこと
MCP Language Serverを入れた。
go install github.com/isaacphi/mcp-language-server@latest
TypeScript Language Serverを入れた。
npm install -g typescript typescript-language-server
claude_desktop_config.jsonにlanguage-serverの設定を追加した。
{
"mcpServers": {
"language-server": {
"command": "go",
"args": [
"run",
"github.com/isaacphi/mcp-language-server@latest",
"--workspace",
"/Users/hoge/workspace",
"--lsp",
"/Users/hoge/.asdf/shims/typescript-language-server",
"--",
"--stdio"
],
"env": {
"DEBUG": "1"
}
}
}
}
goが見つからないと怒られた。goはasdfを使って管理しているのでそれが原因のようだった。
雑に環境変数を直接記述したところ動いた。
{
"mcpServers": {
"language-server": {
"command": "go",
"args": [
"run",
"github.com/isaacphi/mcp-language-server@latest",
"--workspace",
"/Users/hoge/workspace/umitron-www-navy",
"--lsp",
"/Users/hoge/.asdf/shims/typescript-language-server",
"--",
"--stdio"
],
"env": {
"HOME": "/Users/hoge",
"PATH": "/Users/hoge/.asdf/shims:/usr/bin:/bin",
"ASDF_DIR": "/opt/homebrew/opt/asdf/libexec",
"ASDF_DATA_DIR": "/Users/hoge/.asdf",
"ASDF_GOLANG_VERSION": "1.23.6",
"DEBUG": "1"
}
}
}
最後に
もっといいやり方あったら教えて欲しいです。
Discussion