30秒でClaude Code、Cursor、またはZedにll-langをワイヤリングする
LLMにll-langを書かせて生産的にしたいなら、「ターミナルを開いて、モデルがシェルの出力を解釈できることを祈る」ような設定ではありません。より良い方法はMCPです。
ll-langにはlllc mcp経由で組み込みのMCPサーバーが同梱されているため、エディタはコンパイラやプロジェクトのツールを構造化されたツールとして呼び出せます。
つまり、エージェントは次のような質問ができます:
- これ、コンパイルできますか?
E005はどういう意味ですか?- このシンボルはどこで定義されていますか?
- どんなターゲットをビルドできますか?
スクレイピングしたターミナルのテキストではなく、構造化されたJSONを返してもらえます。
1. MCPサーバーを追加する
ll-lang READMEとMCPユーザーガイドの現在の設定の形を使います:
{
"mcpServers": {
"ll-lang": {
"command": "lllc",
"args": ["mcp"]
}
}
}
lllcがあなたの$PATHにない場合は、commandをバイナリへの絶対パスに置き換えてください。ローカルリポジトリのチェックアウトでは、好みのインストールパスとしてブートストラップ用ラッパーを指すこともできます。
典型的な場所:
- Claude Code:
~/.config/claude/mcp.json - Cursor: プロジェクトの
.cursor/mcp.jsonまたは同等のMCP設定パス - Zed: あなたのMCPサーバー設定ファイル
重要なのは「コマンドそのもの」: lllc mcp.
MCPサーバー名はあなたが決めて構いません。READMEでは現在lllcが示されていますが、MCPガイドではll-langになっています。
2. クライアントを再起動して、サーバーが表示されることを確認する
クライアントがMCPサーバーをリロードすると、ll-langは利用可能なツールプロバイダとして表示されるはずです。
その時点で、エージェントはシェルコマンドから挙動を推測するのではなく、ll-langを直接呼び出せます。
3. 取得できるツール
現在のREADMEとdocs/user-guide/09-mcp.mdには30個のツールが記載されています。これらは、AIコーディングのループで実際に欲しいワークフローをカバーしています:
- コアのコンパイル/チェック:
compile_source,check_source,compile_file,check_file - 診断と修復:
diagnose_source,diagnose_file,explain_error,fix_suggest,apply_fix_preview - フォーマットとAST検査:
format_source,format_file,parse_source,typed_ast - プロジェクトレベルの操作:
project_graph,check_project,build_project - シンボルのナビゲーション:
symbols,definition,references - 依存関係のヘルパー:
mod_add,mod_tidy,mod_why - FFIヘルパー:
ffi_inspect,ffi_validate - テストヘルパー:
test_list,test_run - カタログ/メタ:
stdlib_search,list_errors,lookup_error,list_targets
これだけあれば、真剣な内側ループは十分です。モデルは単に「コードを書く」だけではありません。プロジェクトを検査し、診断を求め、stdlibを検索し、構造化されたフィードバックでエラーを修復できます。
4. 役に立つ最短のワークフロー
MCPを組み込めば、生産的なループはシンプルです:
- モデルに、小さなll-langモジュールを下書きさせる。
check_sourceまたはcheck_fileを呼び出す。- エラーが返ってきたら、
lookup_errorまたはexplain_errorを呼び出す。 - 修正を適用して、
check_sourceを再実行する。 - 問題なければ、
build_projectまたはcompile_fileを使う。
このループは、次よりもはるかに密です:
write -> シェルコマンドを実行 -> 混ざったstdout/stderrを確認 -> 何が失敗したか推測する
5. この設定が重要な理由
ll-langはLLMによるコード生成のために設計されているため、コンパイラの出力は最終的な関門であるだけでなく、作者体験の一部です。
例:
-
E005 TagViolationは、タグ付きの値が必要なところに、タグなしの値を渡したことをエージェントに伝えます。 -
E004 UnitMismatchは、演算で両立しない単位が出会ったことを伝えます。 -
lookup_errorは、モデルにドキュメントを手作業で探させることなく、エラーコードを短い説明に変換できます。
プロトコルが構造化されているため、モデルは散文やターミナルの書式を解釈しようとするのではなく、正確なフィールドに基づいてルーティングできます。
6. 動作確認のための最小プロンプト
MCPを接続したら、次を試してください:
tag UserIdで小さなll-langモジュールを作り、Str[UserId]を受け取る関数を用意し、そしてコンパイルできるか確認します。失敗したら、ll-langのMCPツールで修正してください。
配線が正しければ、モデルはシェル出力のパースにデフォルトで逃げるのではなく、ll-langのツールを直接使うはずです。
7. インストールとリポジトリリンク
リポジトリ: https://github.com/Neftedollar/ll-lang
ランディングページ: https://neftedollar.com/ll-lang/
READMEからのブートストラップパス:
git clone https://github.com/Neftedollar/ll-lang.git
cd ll-lang
LLLC_BOOTSTRAP_REINSTALL=1 ./tools/check-selfhost-ci.sh
そして、MCP設定をそのまま保持します:
{
"mcpServers": {
"ll-lang": {
"command": "lllc",
"args": ["mcp"]
}
}
}




