Skip to main content
Glama

iz-tolk-mcp

MCP server for the Tolk smart contract compiler β€” compile, check, and deploy TON blockchain smart contracts from any AI assistant

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

πŸ‡·πŸ‡Ί Русский | πŸ‡¬πŸ‡§ English

MCP server that brings the


πŸ“– Overview

iz-tolk-mcp is a Model Context Protocol (MCP) server that integrates the Tolk smart contract compiler into AI assistants, enabling a seamless write-compile-deploy workflow for TON blockchain development.

  • Tolk is the next-generation smart contract language for the TON blockchain, designed as a modern successor to FunC with familiar syntax (C/TypeScript-like), type safety, and cleaner semantics.

  • MCP (Model Context Protocol) is an open standard that lets AI assistants use external tools, access data sources, and follow guided workflows β€” turning them into capable development environments.


✨ Features

Feature

Description

πŸ”¨ 4 MCP Tools

compile_tolk, check_tolk_syntax, get_compiler_version, generate_deploy_link

πŸ“„ 6 MCP Resources

Language guide, stdlib reference, changelog, FunC migration guide, example contracts

πŸ’¬ 3 MCP Prompts

Guided workflows for writing, reviewing, and debugging smart contracts

βš™οΈ Full Compiler Options

Optimization levels (0-2), stack comments, multi-file compilation

πŸ“¦ Multi-file Support

Compile projects with multiple .tolk source files and @stdlib/* imports

πŸ”— Deployment Links

Generate ton:// deeplinks and Tonkeeper URLs for wallet deployment

πŸš€ Zero Configuration

Runs via npx with no external dependencies beyond Node.js


πŸš€ Quick Start

npx iz-tolk-mcp

The server communicates over stdio and is designed to be launched by an MCP client.


πŸ“¦ Installation

Using npx (no install needed)

MCP clients launch the server automatically β€” just add it to your configuration (see below).

Global install

npm install -g iz-tolk-mcp

From source

git clone https://github.com/izzzzzi/izTolkMcp.git
cd izTolkMcp
npm install
npm run build

Requirement: Node.js >= 18


πŸ”§ MCP Client Configuration

Add to claude_desktop_config.json:

{
  "mcpServers": {
    "tolk": {
      "command": "npx",
      "args": ["-y", "iz-tolk-mcp"]
    }
  }
}
claude mcp add tolk -- npx -y iz-tolk-mcp

Add to .cursor/mcp.json:

{
  "mcpServers": {
    "tolk": {
      "command": "npx",
      "args": ["-y", "iz-tolk-mcp"]
    }
  }
}

Add to ~/.windsurf/mcp.json:

{
  "mcpServers": {
    "tolk": {
      "command": "npx",
      "args": ["-y", "iz-tolk-mcp"]
    }
  }
}

Add to .vscode/mcp.json:

{
  "servers": {
    "tolk": {
      "command": "npx",
      "args": ["-y", "iz-tolk-mcp"]
    }
  }
}
{
  "mcpServers": {
    "tolk": {
      "command": "node",
      "args": ["/absolute/path/to/izTolkMcp/dist/index.js"]
    }
  }
}

πŸ› οΈ MCP Tools

πŸ” get_compiler_version

Returns the version of the Tolk compiler bundled in @ton/tolk-js (WASM).

Parameter

Type

Required

Description

(none)

β€”

β€”

No parameters

πŸ”¨ compile_tolk

Compiles Tolk smart contract source code. Returns Fift output, BoC (Bag of Cells) in base64, and the code hash.

Parameter

Type

Required

Description

entrypointFileName

string

βœ…

The main .tolk file to compile (e.g., "main.tolk")

sources

object

βœ…

Map of filename -> source code. Must include the entrypoint file.

optimizationLevel

number

β€”

Optimization level 0-2 (default: 2)

withStackComments

boolean

β€”

Include stack layout comments in Fift output

βœ… check_tolk_syntax

Checks Tolk source code for syntax and type errors without returning full compilation output. Faster feedback loop for iterative development.

Parameter

Type

Required

Description

entrypointFileName

string

βœ…

The main .tolk file to check

sources

object

βœ…

Map of filename -> source code

πŸ”— generate_deploy_link

Generates TON deployment deeplinks for a compiled contract. Computes the deterministic contract address and returns ton:// and Tonkeeper links ready for wallet deployment.

Parameter

Type

Required

Description

codeBoc64

string

βœ…

Base64-encoded BoC of compiled contract code (from compile_tolk)

initialDataBoc64

string

β€”

Base64-encoded BoC for initial data cell (default: empty cell)

workchain

number

β€”

Target workchain ID (default: 0)

amount

string

β€”

Deploy amount in nanoTON (default: "50000000" = 0.05 TON)


πŸ“„ MCP Resources

Resource

URI

Description

πŸ“˜ language-guide

tolk://docs/language-guide

Complete Tolk language syntax reference

πŸ“— stdlib-reference

tolk://docs/stdlib-reference

Standard library modules and functions reference

πŸ“‹ changelog

tolk://docs/changelog

Tolk compiler version history from v0.6 to latest

πŸ”„ tolk-vs-func

tolk://docs/tolk-vs-func

FunC to Tolk migration guide β€” key differences and comparison

πŸ“ example-counter

tolk://examples/counter

Simple counter smart contract example in Tolk

πŸ’Ž example-jetton

tolk://examples/jetton

Jetton (fungible token) minter contract example in Tolk


πŸ’¬ MCP Prompts

write_smart_contract

Guided workflow for writing a new Tolk smart contract on TON. Injects the language reference and a relevant example contract into the conversation context.

Argument

Type

Required

Description

description

string

βœ…

Description of what the smart contract should do

contractType

string

β€”

"counter" | "jetton" | "nft" | "wallet" | "custom" (default: "custom")

review_smart_contract

Security-focused review of a Tolk smart contract. Checks for access control, message handling, integer overflow, gas management, storage integrity, and TON-specific vulnerabilities.

Argument

Type

Required

Description

code

string

βœ…

The Tolk smart contract source code to review

debug_compilation_error

Diagnose and fix a Tolk compilation error. Analyzes the error against the language reference and provides corrected code.

Argument

Type

Required

Description

errorMessage

string

βœ…

The compilation error message from the Tolk compiler

code

string

βœ…

The Tolk source code that failed to compile


πŸ’‘ Usage Examples

Once configured, interact with the Tolk MCP server through natural language in your AI assistant:

Compile a contract:

"Compile this Tolk smart contract:"

import "@stdlib/tvm-dicts";

fun onInternalMessage(myBalance: int, msgValue: int, msgFull: cell, msgBody: slice) {
    // handle messages
}

Write a new contract from scratch:

"Write a simple counter contract for TON that stores a number and lets anyone increment it. Include a getter to read the current value."

Review an existing contract:

"Review this contract for security issues" (paste code)

Debug a compilation error:

"I'm getting this error when compiling: unexpected token 'fun' β€” here's my code:" (paste code)

Generate a deploy link:

"Generate a deployment link for the contract we just compiled."


πŸ“ Project Structure

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

Key dependencies:

  • @modelcontextprotocol/sdk β€” MCP server framework

  • @ton/tolk-js β€” Tolk compiler (WASM, runs locally)

  • @ton/core β€” TON primitives for address computation and cell serialization

  • zod β€” Schema validation for tool parameters


πŸ§‘β€πŸ’» Development

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

Pre-commit hooks enforce code quality automatically:

  • Biome β€” fast linter and formatter for TypeScript

  • Husky β€” Git hooks manager

  • lint-staged β€” runs checks only on staged files

Install Server
A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/izzzzzi/iz-tolk-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server