关于 iz-tolk-mcp — Tolk Compiler for TON
iz-tolk-mcp 是面向 TON 开发者的 Tolk MCP 服务,可供 AI 助手检查和编译合约、查阅语言资料并生成钱包部署链接。
主要功能
- 01编译多文件 Tolk 项目
- 02检查语法与类型
- 03生成 TON 部署链接
- 04提供语言指南和示例
- 05提供编写、审查和调试提示词
适用场景
- 01开发时编译 Tolk 合约
- 02迭代时发现语法和类型错误
- 03检查合约安全问题
- 04生成钱包部署链接
MCP 相关
该服务向 MCP 客户端提供编译、语法检查、版本查询和部署链接工具,以及文档资源和引导式提示词。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
4收录的工具列表 · 更新于 2 周前
此工具无需参数。
详细介绍
iz-tolk-mcp
Tolk 智能合约编译器的 MCP 服务——可在任意 AI 助手中编译、检查和部署 TON 区块链智能合约
🇷🇺 Русский | 🇬🇧 English
MCP 服务将 Tolk 智能合约编译器直接集成到 Claude 等 AI 助手中,让你无需离开对话即可编写、编译、检查和部署 TON 合约。
📖 概述
iz-tolk-mcp 是一个 Model Context Protocol(MCP)服务,可将 Tolk 智能合约编译器集成到 AI 助手中,为 TON 区块链开发提供顺畅的编写、编译和部署工作流。
- Tolk 是面向 TON 区块链的新一代智能合约语言,旨在作为 FunC 的现代继任者,具有熟悉的语法(类似 C/TypeScript)、类型安全性和更清晰的语义。
- MCP(Model Context Protocol)是一项开放标准,可让 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 |
| 🚀 零配置 | 通过 npx 运行,除 Node.js 外无其他外部依赖 |
🚀 快速开始
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(WASM)中捆绑的 Tolk 编译器版本。
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
| (无) | — | — | 无参数 |
🔨 compile_tolk
编译 Tolk 智能合约源代码。返回 Fift 输出、Base64 格式的 BoC(单元格包)、代码哈希和编译器版本。
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
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 源代码中的语法和类型错误,不返回完整的编译输出。可在迭代开发中更快地获得反馈。
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
entrypointFileName | string | ✅ | 要检查的主 .tolk 文件 |
sources | object | ✅ | filename -> source code 映射 |
pathMappings | object | — | 将 @alias 前缀映射到文件夹路径,以解析导入 |
🔗 generate_deploy_link
为已编译的合约生成 TON 部署深度链接。计算确定性合约地址,并返回可用于通过钱包部署的 ton:// 和 Tonkeeper 链接。
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
codeBoc64 | string | ✅ | 已编译合约代码的 Base64 编码 BoC(来自 compile_tolk) |
initialDataBoc64 | string | — | 初始数据单元格的 Base64 编码 BoC(默认值:空单元格) |
workchain | number | — | 目标工作链 ID(默认值:0) |
amount | string | — | 部署金额,单位为 nanoTON(默认值:"50000000" = 0.05 TON) |
📄 MCP 资源
| 资源 | URI | 描述 |
|---|---|---|
📘 language-guide | tolk://docs/language-guide | 完整的 Tolk 语言语法参考 |
📗 stdlib-reference | tolk://docs/stdlib-reference | 标准库模块和函数参考 |
📋 changelog | tolk://docs/changelog | Tolk 编译器从 v0.6 至最新版本的版本历史 |
🔄 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 智能合约的引导式工作流。将语言参考和相关合约示例注入对话上下文。
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
description | string | ✅ | 描述智能合约应执行的功能 |
contractType | string | — | "counter" | "jetton" | "nft" | "wallet" | "custom"(默认值:"custom") |
review_smart_contract
以安全性为重点审查 Tolk 智能合约。检查访问控制、消息处理、整数溢出、Gas 管理、存储完整性以及 TON 特有的漏洞。
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
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 编写一个简单的计数器合约,用于存储一个数字,并允许任何人递增该数字。添加一个 getter 以读取当前值。”
审查现有合约:
“检查这个合约是否存在安全问题” (粘贴代码)
调试编译错误:
“编译时出现此错误:
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 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。