iz-tolk-mcp

iz-tolk-mcp

MCP server for the Tolk smart contract compiler on the TON blockchain. Compile, syntax check, deploy link generation, language docs, stdlib, and contract prompts.

Category
Visit Server

README

<div align="center">

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

<br />

MCP server that brings the Tolk smart contract compiler directly into AI assistants like Claude β€” write, compile, check, and deploy TON contracts without leaving the conversation.

</div>


πŸ“– 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

<details> <summary><b>Claude Desktop</b></summary>

Add to claude_desktop_config.json:

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

</details>

<details> <summary><b>Claude Code</b></summary>

claude mcp add tolk -- npx -y iz-tolk-mcp

</details>

<details> <summary><b>Cursor</b></summary>

Add to .cursor/mcp.json:

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

</details>

<details> <summary><b>Windsurf</b></summary>

Add to ~/.windsurf/mcp.json:

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

</details>

<details> <summary><b>VS Code (Copilot)</b></summary>

Add to .vscode/mcp.json:

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

</details>

<details> <summary><b>Local build (any client)</b></summary>

{
  "mcpServers": {
    "tolk": {
      "command": "node",
      "args": ["/absolute/path/to/izTolkMcp/dist/index.js"]
    }
  }
}

</details>


πŸ› οΈ 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

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured