Communityコーディング&開発github.com

Alba-Intelligence/cl-tron-mcp

SBCLおよびECL Common Lisp向けのMCPサーバー。SBCLアプリケーションの深いデバッグ、イントロスペクション、プロファイリング、ホットコードリローディングを実現します。

cl-tron-mcp とは?

このスキルは、Alba-Intelligence/cl-tron-mcpというMCPサーバーを提供します。SBCL(Steel Bank Common Lisp)およびECL(Embeddable Common Lisp)環境において、強力なデバッグ、イントロスペクション(内部状態の検査)、プロファイリング(性能解析)、ホットコードリローディング(実行中のコード動的更新)を可能にします。特にSBCLアプリケーションの開発において、REPLベースの対話的開発フローを強化し、実行時エラーの詳細な調査やコードの動的修正を支援します。主な利用プラットフォームはMCP(Model Context Protocol)対応のクライアント(例:Claude Desktopなど)で、Lisp開発者はこのサーバーを通じてAIエージェントからCommon Lisp環境を直接操作できます。これにより、従来のテキストベースのデバッグに比べて直感的で高速な問題解決が可能になります。

対応~Claude Code~Codex CLI~Cursor
npx skills add Alba-Intelligence/cl-tron-mcp

Installed? Explore more コーディング&開発 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

cl-tron-mcp は何をしますか?

SBCLおよびECL Common Lisp向けのMCPサーバー。SBCLアプリケーションの深いデバッグ、イントロスペクション、プロファイリング、ホットコードリローディングを実現します。

概要

cl-tron-mcpは、Common Lisp処理系(SBCLとECL)とMCP(Model Context Protocol)対応のAIエージェントを橋渡しするサーバーです。このサーバーを使用することで、AIアシスタントがLisp環境に直接アクセスし、以下の操作を実行できます。

  • コードの評価と結果の取得
  • スタックトレースの取得とエラー分析
  • 関数の呼び出し回数や性能統計の収集
  • 実行中のコードの動的更新
  • シンボルとパッケージの情報検索

主な機能

機能説明
デバッグSBCLのデバッガに接続し、エラー発生時の状態を詳細に調査
イントロスペクション関数、マクロ、変数、クラスなどのメタデータを取得
プロファイリング関数ごとの実行時間と呼び出し回数を計測
ホットコードリローディングアプリケーションを再起動せずにコードを更新

必要条件

  • SBCL 2.0 以上 または ECL 16.0 以上
  • MCP対応クライアント(Claude Desktop など)
  • ASDF 3.0 以上

インストール

  1. リポジトリをクローン:
git clone https://github.com/Alba-Intelligence/cl-tron-mcp.git
cd cl-tron-mcp
  1. Quicklisp または Ultralisp を使って依存関係をインストール:
(ql:quickload :cl-tron-mcp)
  1. MCPクライアントの設定ファイルに追加:
{
  "mcpServers": {
    "cl-tron-mcp": {
      "command": "sbcl",
      "args": ["--load", "/path/to/cl-tron-mcp/start.lisp"]
    }
  }
}

使用方法

MCPクライアント上で、以下のツールが利用可能になります。

ツール一覧

  • eval — Lispコードを評価
  • debug — 現在のREPLデバッガ状態を取得
  • inspect — 任意のオブジェクトの構造を表示
  • profile — プロファイリングを開始/停止
  • hot-reload — 指定のシステムを動的にリロード

使用例

;; コードの評価
eval (+ 1 2 3)
;; => 6

;; 関数のイントロスペクション
inspect #'my-function
;; => Arguments: (x y), Returns: number, Documentation: "My custom function"

;; プロファイリングの開始
profile :start

;; ホットリロード
hot-reload :my-system

設定

環境変数または設定ファイルで動作を変更できます。

変数デフォルト値説明
CL_TRON_PORT5000MCPサーバーのポート番号
CL_TRON_DEBUGfalseデバッグログの有効化
CL_TRON_PROFILEfalse自動プロファイリングの有効化

トラブルシューティング

  • サーバーが起動しない: SBCL/ECLが正しくインストールされ、PATHに含まれているか確認してください。
  • ツールが応答しない: CL_TRON_DEBUG=true を設定して詳細なログを確認してください。
  • ホットリロードに失敗する: コードがコンパイル済みであることを確認し、ASDFシステムが正しく定義されているかチェックしてください。

貢献

バグ報告や機能リクエストは、GitHub Issues までお寄せください。プルリクエストも歓迎します。

ライセンス

MITライセンス。詳細は LICENSE ファイルを参照してください。

関連スキル