Headless Code Editor MCP Server について
Headless Code Editor MCP Serverは、LSPを利用し、セッション単位でAIによるコード編集を支援するヘッドレスエディターです。現時点ではTypeScript、JavaScript、Reactの分析を中心とし、許可されたディレクトリにファイルアクセスを制限します。
主な機能
- 01LSPによる言語インテリジェンス
- 02許可ディレクトリ内のファイル操作
- 03セッション単位の編集と状態管理
- 04TypeScriptとJavaScriptの分析
- 05Reactコンポーネントの検出と編集
- 06書式を維持する編集
活用シーン
- 01許可されたワークスペースでのコード編集
- 02TypeScriptまたはJavaScriptファイルの分析
- 03Reactコンポーネントの確認と変更
- 04編集後のコード状態の検証
MCP 対応
MCPサーバーとして、編集セッションの作成、コード編集、状態検証、セッション終了のツールをクライアントに提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
ヘッドレスコードエディター MCP サーバー
Language Server Protocol(LSP)によるコードインテリジェンスと、Model Context Protocol(MCP)による AI 支援コード操作を活用する、堅牢で言語に依存しないヘッドレスコードエディターです。
特徴
- 言語インテリジェンスのための LSP 統合
- 厳格なアクセス制御による安全なファイルシステム操作
- 状態管理を備えたセッションベースの編集
- 詳細な分析に対応した TypeScript/JavaScript 言語サポート
- React コンポーネントの検出と操作
- 書式を維持する編集操作
- 包括的なログ記録とエラー追跡
インストール
# Install dependencies
npm install
# Build the project
npm run build
# Run tests
npm test
使用方法
サーバーの起動
# Start with allowed directory
node build/index.js /path/to/workspace
# Start with multiple allowed directories
node build/index.js /path/to/workspace1 /path/to/workspace2
MCP ツール
start_session:新しい編集セッションを作成しますedit_code:コードに編集を適用しますvalidate_code:現在のコードの状態を検証しますclose_session:セッションをクリーンアップして終了します
統合例
const client = new Client(
{ name: "example-client", version: "1.0.0" },
{ capabilities: {} }
);
// Connect to server
const transport = new StdioClientTransport({
command: "node",
args: ["./build/index.js", "/workspace"]
});
await client.connect(transport);
// Start session
const result = await client.request({
method: "tools/call",
params: {
name: "start_session",
arguments: {
filePath: "/workspace/example.ts",
languageId: "typescript"
}
}
});
アーキテクチャ
- LSP マネージャー:言語サーバーのライフサイクルと通信を調整します
- ドキュメントマネージャー:ドキュメントの状態と同期を管理します
- セッションマネージャー:編集セッションと状態を管理します
- 編集操作マネージャー:コード編集を処理して検証します
- ファイルシステムマネージャー:安全なファイルシステムアクセスを提供します
セキュリティ機能
- パスの検証と正規化
- 許可されたディレクトリによるアクセス制御
- 入力のサニタイズ
- ファイルシステム操作の境界設定
- シンボリックリンクのセキュリティチェック
未完了のタスク
言語サポート
- Python 言語サーバーの統合
- Java 言語サーバーの統合
- 追加の言語サーバーのサポート
フレームワークのサポート
- コンポーネントの状態分析
- フックの依存関係の追跡
- インポートの自動管理
- 型を考慮したリファクタリング
編集操作
- 複数ファイルにわたる編集操作
- 複雑なリファクタリング操作
- ワークスペース全体の変更
- 競合解決システム
パフォーマンス
- 操作のバッチ処理
- 差分更新の最適化
- メモリ使用量の最適化
- 大容量ファイルの処理改善
テスト
- エンドツーエンドテストスイート
- パフォーマンスベンチマーク
- 負荷テスト
- クロスプラットフォームテスト
ドキュメント
- API ドキュメント
- 統合ガイド
- デプロイガイド
- トラブルシューティングガイド
インフラストラクチャ
- リモートサーバーのサポート
- 設定システム
- プラグインアーキテクチャ
- ワークスペースのインデックス作成
モニタリング
- パフォーマンス指標
- 操作の分析
- ヘルスモニタリング
- リソース使用状況の追跡
貢献
- リポジトリをフォークします
- フィーチャーブランチを作成します
- 新しい機能のテストを追加します
- すべてのテストが合格することを確認します
- プルリクエストを送信します
ドキュメント
アーキテクチャと設計
- コアアーキテクチャ:基盤となるアーキテクチャとシステム設計
- LSP スマートエディターアーキテクチャ:Language Server Protocol の統合に関する詳細
- フレームワーク統合ガイド:フレームワーク固有のサポートと統合パターン
- 言語サーバーの統合:言語サーバーの実装と設定
- MVP 実装計画:開発ロードマップと実装段階
ドキュメントでは、以下について説明しています。
- システムアーキテクチャと設計原則
- コンポーネント間の連携と依存関係
- フレームワーク統合パターン
- 言語サーバーの仕様
- 実装ガイドラインとベストプラクティス
- セキュリティ上の考慮事項
- パフォーマンス最適化戦略
追加のドキュメントが必要な場合は、「未完了のタスク」セクションをご覧ください。
ライセンス
MIT
開発状況
現在はアルファ段階(v0.0.10)で、基本的な TypeScript/JavaScript サポートと React コンポーネント分析に対応しています。今後の機能については、「未完了のタスク」セクションをご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。