lsp-mcp

LSP MCPサーバーは、LSP(Language Server Protocol)インターフェースと対話するためのMCP(Model Context Protocol)サーバーです。このサーバーは、LLM(大規模言語モデル)がLSPのホバーや補完プロバイダーにクエリを送信できるようにするブリッジとして機能します。これにより、LLMはより正確なコード提案を得ることができます。

GitHubスター

70

ユーザー評価

未評価

お気に入り

0

閲覧数

20

フォーク

10

イシュー

3

インストール方法
難易度
中級
推定所要時間
10-20
必要な環境
Node.js (v16 or later)
npm

インストール方法

インストール方法

前提条件

必要なソフトウェアとバージョンを明記してください。
Node.js: 16.0.0以上
npm: 最新版

インストール手順

1. リポジトリのクローン

bash
git clone https://github.com/Tritlo/lsp-mcp.git
cd lsp-mcp

2. 依存関係のインストール

bash
npm install

3. MCPサーバーのビルド

bash
npm run build

トラブルシューティング

よくある問題

問題: サーバーが起動しない 解決策: Node.jsのバージョンを確認し、依存関係を再インストールしてください。 問題: テストが失敗する 解決策: テスト環境を確認し、必要な依存関係が正しくインストールされていることを確認してください。

設定方法

設定方法

基本設定

MCPサーバー設定

以下の設定をmcp_config.jsonに追加します。
json
{
  "mcpServers": {
    "lsp-mcp": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "tritlo/lsp-mcp",
        "",
        "",
        ""
      ]
    }
  }
}

詳細設定

環境変数

必要に応じて以下の環境変数を設定:
bash
export LSP_PATH="/path/to/lsp"
export LOG_LEVEL="info"

設定例

基本的な設定

json
{
  "mcpServers": {
    "lsp-mcp": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "tritlo/lsp-mcp",
        "typescript",
        "/path/to/typescript-lsp",
        "--arg1 value1"
      ]
    }
  }
}

使用例

使用例

基本的な使用方法

MCPサーバーの基本的な使用方法を以下に示します:

プログラムでの使用

javascript
// JavaScript例(Node.js)
const { MCPClient } = require('@modelcontextprotocol/client');

const client = new MCPClient();
await client.connect();

// ツールの実行
const result = await client.callTool('get_completions', {
  parameter1: 'value1'
});

console.log(result);

応用例

自動化スクリプト

bash
#!/bin/bash

バッチ処理の例

for file in *.js; do mcp-tool analyze "$file" done

API統合

python

Python例

import requests def call_mcp_tool(tool_name, params): response = requests.post( 'http://localhost:3000/mcp/call', json={ 'tool': tool_name, 'parameters': params } ) return response.json()

使用例

result = call_mcp_tool('get_info_on_location', { 'file': 'example.js', 'position': {'line': 10, 'character': 5} })

使用ケース

特定のコード行に対するhover情報を取得し、関数や変数の説明を表示する。
コードエディタでの補完機能を強化し、ユーザーが入力中にリアルタイムで提案を受ける。
コードのリファクタリング時に、特定の範囲に対するコードアクションを取得する。
プロジェクトの診断情報を収集し、エラーや警告を表示することで、開発者が問題を迅速に解決できるようにする。

追加リソース