iz-tolk-mcp — Tolk Compiler for TON について
iz-tolk-mcpは、TON開発者向けのTolk MCPサーバーです。AIアシスタントからコントラクトの検査やコンパイル、言語資料の参照、ウォレット用デプロイリンクの生成を行えます。
主な機能
- 01複数ファイルのTolkプロジェクトをコンパイル
- 02構文と型をチェック
- 03TONデプロイリンクを生成
- 04言語ガイドとサンプルを提供
- 05作成・レビュー・デバッグ用プロンプト
活用シーン
- 01開発中のTolkコントラクトをコンパイル
- 02反復作業中に構文・型エラーを発見
- 03コントラクトのセキュリティ上の問題を確認
- 04ウォレット用デプロイリンクを作成
MCP 対応
MCPクライアントに、コンパイル、構文チェック、バージョン確認、デプロイリンク生成のツールと、ドキュメントリソースやガイド付きプロンプトを提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
4掲載時のツール一覧 · 2 週間前に更新
このツールにパラメーターはありません。
詳細
iz-tolk-mcp
Tolk スマートコントラクトコンパイラー用 MCP サーバー — あらゆる AI アシスタントから TON ブロックチェーンのスマートコントラクトをコンパイル、チェック、デプロイできます
🇷🇺 ロシア語 | 🇬🇧 英語
スマートコントラクトコンパイラーのTolkをClaudeなどのAIアシスタントに直接組み込むMCPサーバーです。会話から離れることなく、TON コントラクトの作成、コンパイル、チェック、デプロイができます。
📖 概要
iz-tolk-mcpは、スマートコントラクトコンパイラーのTolkをAIアシスタントに統合するModel Context Protocol(MCP)サーバーです。TON ブロックチェーン開発における、スムーズな作成・コンパイル・デプロイのワークフローを実現します。
- TolkはTON ブロックチェーン向けの次世代スマートコントラクト言語です。FunCの後継として設計されており、使い慣れた構文(C/TypeScript風)、型安全性、明確なセマンティクスを備えています。
- MCP(Model Context Protocol)は、AIアシスタントが外部ツールを使用したり、データソースにアクセスしたり、ガイド付きワークフローに従ったりできるようにするオープン標準です。これにより、AIアシスタントを有能な開発環境として活用できます。
✨ 機能
| 機能 | 説明 |
|---|---|
| 🔨 4つの MCP ツール | compile_tolk、check_tolk_syntax、get_compiler_version、generate_deploy_link |
| 📄 6つの MCP リソース | 言語ガイド、標準ライブラリリファレンス、変更履歴、FunCからの移行ガイド、サンプルコントラクト |
| 💬 3つの MCP プロンプト | スマートコントラクトの作成、レビュー、デバッグのためのガイド付きワークフロー |
| ⚙️ コンパイラーの全オプション | 最適化レベル(0~2)、スタックコメント、パスマッピング、複数ファイルのコンパイル |
| 📦 複数ファイルのサポート | 複数の.tolkソースファイル、@stdlib/*および@fiftlib/*インポートを含むプロジェクトをコンパイル |
| 🔗 デプロイリンク | ウォレットでのデプロイ用にton://ディープリンクとTonkeeper URLを生成 |
| 🚀 設定不要 | Node.js以外の外部依存関係なしでnpxから実行 |
🚀 クイックスタート
npx iz-tolk-mcp
サーバーはstdio経由で通信し、MCP クライアントによって起動されるように設計されています。
📦 インストール
npxを使用(インストール不要)
MCP クライアントがサーバーを自動的に起動します。設定に追加するだけです(以下を参照)。
グローバルインストール
npm install -g iz-tolk-mcp
ソースからインストール
git clone https://github.com/izzzzzi/izTolkMcp.git
cd izTolkMcp
npm install
npm run build
要件: Node.js >= 18
🔧 MCP クライアントの設定
Claude Desktop
claude_desktop_config.jsonに追加します:
{
"mcpServers": {
"tolk": {
"command": "npx",
"args": ["-y", "iz-tolk-mcp"]
}
}
}
Claude Code
claude mcp add tolk -- npx -y iz-tolk-mcp
Cursor
.cursor/mcp.jsonに追加します:
{
"mcpServers": {
"tolk": {
"command": "npx",
"args": ["-y", "iz-tolk-mcp"]
}
}
}
Windsurf
~/.windsurf/mcp.jsonに追加します:
{
"mcpServers": {
"tolk": {
"command": "npx",
"args": ["-y", "iz-tolk-mcp"]
}
}
}
VS Code(Copilot)
.vscode/mcp.jsonに追加します:
{
"servers": {
"tolk": {
"command": "npx",
"args": ["-y", "iz-tolk-mcp"]
}
}
}
ローカルビルド(任意のクライアント)
{
"mcpServers": {
"tolk": {
"command": "node",
"args": ["/absolute/path/to/izTolkMcp/dist/cli.js"]
}
}
}
🛠️ MCP ツール
🔍 get_compiler_version
@ton/tolk-js にバンドルされている Tolk コンパイラー(WASM)のバージョンを返します。
| Parameter | Type | Required | Description |
|---|---|---|---|
| (none) | — | — | パラメーターはありません |
🔨 compile_tolk
Tolk スマートコントラクトのソースコードをコンパイルします。Fift 出力、base64 形式の BoC(Bag of Cells)、コードハッシュ、コンパイラーバージョンを返します。
| Parameter | Type | Required | Description |
|---|---|---|---|
entrypointFileName | string | ✅ | コンパイルするメインの .tolk ファイル(例:"main.tolk") |
sources | object | ✅ | filename -> source code のマップです。エントリーポイントファイルを含める必要があります。 |
optimizationLevel | number | — | 最適化レベル(0~2、デフォルト:2) |
withStackComments | boolean | — | Fift 出力にスタックレイアウトのコメントを含めます |
pathMappings | object | — | インポート解決のために、@alias プレフィックスをフォルダーパスにマッピングします |
✅ check_tolk_syntax
Tolk ソースコードの構文エラーと型エラーを、コンパイル出力全体を返さずにチェックします。反復的な開発で、より素早くフィードバックを得られます。
| Parameter | Type | Required | Description |
|---|---|---|---|
entrypointFileName | string | ✅ | チェックするメインの .tolk ファイル |
sources | object | ✅ | filename -> source code のマップです |
pathMappings | object | — | インポート解決のために、@alias プレフィックスをフォルダーパスにマッピングします |
🔗 generate_deploy_link
コンパイル済みコントラクトの TON デプロイ用ディープリンクを生成します。決定論的なコントラクトアドレスを計算し、ウォレットからのデプロイに使用できる ton:// リンクと Tonkeeper リンクを返します。
| Parameter | Type | Required | Description |
|---|---|---|---|
codeBoc64 | string | ✅ | コンパイル済みコントラクトコードの base64 エンコードされた BoC(compile_tolk から取得) |
initialDataBoc64 | string | — | 初期データセルの base64 エンコードされた BoC(デフォルト:空のセル) |
workchain | number | — | 対象のワークチェーン ID(デフォルト:0) |
amount | string | — | デプロイ額(nanoTON 単位、デフォルト:"50000000" = 0.05 TON) |
📄 MCP リソース
| Resource | URI | Description |
|---|---|---|
📘 language-guide | tolk://docs/language-guide | Tolk 言語構文の完全なリファレンス |
📗 stdlib-reference | tolk://docs/stdlib-reference | 標準ライブラリのモジュールと関数のリファレンス |
📋 changelog | tolk://docs/changelog | v0.6 から最新バージョンまでの Tolk コンパイラーの変更履歴 |
🔄 tolk-vs-func | tolk://docs/tolk-vs-func | FunC から Tolk への移行ガイド — 主な違いと比較 |
📝 example-counter | tolk://examples/counter | Tolk で書かれたシンプルなカウンタースマートコントラクトの例 |
💎 example-jetton | tolk://examples/jetton | Tolk で書かれた Jetton(代替可能トークン)発行コントラクトの例 |
💬 MCP プロンプト
write_smart_contract
TON 上で新しい Tolk スマートコントラクトを作成するためのガイド付きワークフローです。言語リファレンスと関連するコントラクトの例を、会話のコンテキストに挿入します。
| Argument | Type | Required | Description |
|---|---|---|---|
description | string | ✅ | スマートコントラクトに実行させる処理の説明 |
contractType | string | — | "counter" | "jetton" | "nft" | "wallet" | "custom"(デフォルト:"custom") |
review_smart_contract
セキュリティに重点を置いた Tolk スマートコントラクトのレビューです。アクセス制御、メッセージ処理、整数オーバーフロー、ガス管理、ストレージの整合性、TON 固有の脆弱性をチェックします。
| Argument | Type | Required | Description |
|---|---|---|---|
code | string | ✅ | レビュー対象の Tolk スマートコントラクトのソースコード |
debug_compilation_error
Tolk のコンパイルエラーを診断して修正します。言語リファレンスに照らしてエラーを分析し、修正済みのコードを提示します。
| 引数 | 型 | 必須 | 説明 |
|---|---|---|---|
errorMessage | string | ✅ | Tolk コンパイラーからのコンパイルエラーメッセージ |
code | string | ✅ | コンパイルに失敗した Tolk ソースコード |
💡 使用例
設定が完了したら、AI アシスタントで自然言語を使って Tolk MCP サーバーを操作できます。
コントラクトをコンパイルする:
「この Tolk スマートコントラクトをコンパイルしてください:」
import "@stdlib/tvm-dicts"; fun onInternalMessage(myBalance: int, msgValue: int, msgFull: cell, msgBody: slice) { // handle messages }
新しいコントラクトをゼロから作成する:
「TON 用のシンプルなカウンターコントラクトを書いてください。数値を保存し、誰でもインクリメントできるようにしてください。現在の値を読み取るゲッターも含めてください。」
既存のコントラクトをレビューする:
「このコントラクトのセキュリティ上の問題をレビューしてください」 (コードを貼り付けます)
コンパイルエラーをデバッグする:
「コンパイル時にこのエラーが出ます:
unexpected token 'fun'— コードはこちらです:」 (コードを貼り付けます)
デプロイリンクを生成する:
「先ほどコンパイルしたコントラクトのデプロイリンクを生成してください。」
📁 プロジェクト構成
src/
├── index.ts — Server initialization and stdio transport
├── tools.ts — 4 MCP tools (compile, check, version, deploy)
├── resources.ts — 6 MCP resources (docs, examples)
├── prompts.ts — 3 MCP prompts (write, review, debug)
└── content/ — Bundled documentation and example contracts
├── language-guide.md
├── stdlib-reference.md
├── changelog.md
├── tolk-vs-func.md
├── example-counter.tolk
└── example-jetton.tolk
主な依存関係:
@modelcontextprotocol/sdk— MCP サーバーのフレームワーク@ton/tolk-js— Tolk コンパイラー(WASM、ローカルで実行)@ton/core— アドレス計算とセルのシリアライズに使う TON のプリミティブzod— ツールパラメーターのスキーマ検証
🧑💻 開発
npm install # Install dependencies
npm run build # Compile TypeScript + copy content files
npm run dev # Run with tsx (hot reload for development)
npm test # Run test suite (vitest)
npm run lint # Check for lint errors
npm run lint:fix # Fix lint errors automatically
npm run format # Format code with Biome
コミット前フックによって、コード品質が自動的に保たれます。
- Biome — TypeScript 用の高速なリンター兼フォーマッター
- Husky — Git フックマネージャー
- lint-staged — ステージング済みのファイルのみを対象にチェックを実行
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。