mcpField
I
iz-tolk-mcp — Tolk Compiler for TON

iz-tolk-mcp — Tolk Compiler for TON

本地服务
github.com/izzzzzi开发工具228 周前更新

关于 iz-tolk-mcp — Tolk Compiler for TON

iz-tolk-mcp 是面向 TON 开发者的 Tolk MCP 服务,可供 AI 助手检查和编译合约、查阅语言资料并生成钱包部署链接。

主要功能

  1. 01编译多文件 Tolk 项目
  2. 02检查语法与类型
  3. 03生成 TON 部署链接
  4. 04提供语言指南和示例
  5. 05提供编写、审查和调试提示词

适用场景

  1. 01开发时编译 Tolk 合约
  2. 02迭代时发现语法和类型错误
  3. 03检查合约安全问题
  4. 04生成钱包部署链接

MCP 相关

该服务向 MCP 客户端提供编译、语法检查、版本查询和部署链接工具,以及文档资源和引导式提示词。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"izzzzzi-iz-tolk": {
"command": "npx",
"args": [
"-y",
"iz-tolk-mcp"
]
}
}
}
启动命令npx -y iz-tolk-mcp

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmiz-tolk-mcp1.2.1

工具

4

收录的工具列表 · 更新于 2 周前

此工具无需参数。

详细介绍

iz-tolk-mcp

Tolk 智能合约编译器的 MCP 服务——可在任意 AI 助手中编译、检查和部署 TON 区块链智能合约

CI npm version npm downloads License: MIT TypeScript Node.js

🇷🇺 Русский | 🇬🇧 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(单元格包)、代码哈希和编译器版本。

参数类型必填描述
entrypointFileNamestring✅要编译的主 .tolk 文件(例如,"main.tolk")
sourcesobject✅filename -> source code 映射。必须包含入口文件。
optimizationLevelnumber—优化级别 0-2(默认值:2)
withStackCommentsboolean—在 Fift 输出中包含堆栈布局注释
pathMappingsobject—将 @alias 前缀映射到文件夹路径,以解析导入
✅ check_tolk_syntax

检查 Tolk 源代码中的语法和类型错误,不返回完整的编译输出。可在迭代开发中更快地获得反馈。

参数类型必填描述
entrypointFileNamestring✅要检查的主 .tolk 文件
sourcesobject✅filename -> source code 映射
pathMappingsobject—将 @alias 前缀映射到文件夹路径,以解析导入
🔗 generate_deploy_link

为已编译的合约生成 TON 部署深度链接。计算确定性合约地址,并返回可用于通过钱包部署的 ton:// 和 Tonkeeper 链接。

参数类型必填描述
codeBoc64string✅已编译合约代码的 Base64 编码 BoC(来自 compile_tolk)
initialDataBoc64string—初始数据单元格的 Base64 编码 BoC(默认值:空单元格)
workchainnumber—目标工作链 ID(默认值:0)
amountstring—部署金额,单位为 nanoTON(默认值:"50000000" = 0.05 TON)

📄 MCP 资源

资源URI描述
📘 language-guidetolk://docs/language-guide完整的 Tolk 语言语法参考
📗 stdlib-referencetolk://docs/stdlib-reference标准库模块和函数参考
📋 changelogtolk://docs/changelogTolk 编译器从 v0.6 至最新版本的版本历史
🔄 tolk-vs-functolk://docs/tolk-vs-funcFunC 到 Tolk 的迁移指南——主要差异和对比
📝 example-countertolk://examples/counterTolk 简易计数器智能合约示例
💎 example-jettontolk://examples/jettonTolk Jetton(同质化代币)铸造合约示例

💬 MCP 提示词

write_smart_contract

在 TON 上编写新 Tolk 智能合约的引导式工作流。将语言参考和相关合约示例注入对话上下文。

参数类型必填描述
descriptionstring✅描述智能合约应执行的功能
contractTypestring—"counter" | "jetton" | "nft" | "wallet" | "custom"(默认值:"custom")
review_smart_contract

以安全性为重点审查 Tolk 智能合约。检查访问控制、消息处理、整数溢出、Gas 管理、存储完整性以及 TON 特有的漏洞。

参数类型必填描述
codestring✅要审查的 Tolk 智能合约源代码
debug_compilation_error

诊断并修复 Tolk 编译错误。根据语言参考分析错误,并提供修正后的代码。

参数类型必填描述
errorMessagestring✅Tolk 编译器返回的编译错误消息
codestring✅编译失败的 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 — 仅对已暂存的文件运行检查

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。