About Tolk MCP Server
Tolk MCP Server exposes Tolk compiler operations and contract references to AI assistants working with TON smart contracts. It combines compilation and syntax checks with examples and guided writing and review prompts.
Key features
- 01Compile Tolk to Fift and BoC
- 02Validate syntax with diagnostics
- 03Read language reference and examples
- 04Use guided writing and review prompts
- 05Check compiler version
Use cases
- 01Compile a TON contract for deployment
- 02Check contract syntax before deployment
- 03Consult examples while developing
- 04Guide contract writing or security review
MCP support
An MCP server that provides compiler tools, language resources, examples, and prompts to compatible AI clients.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEtolk-mcp-server
MCP server for the Tolk smart contract compiler. Compile, validate, and explore TON smart contracts from any MCP-compatible AI assistant (Claude Desktop, Cursor, Windsurf, etc.).
Features
Tools:
get_compiler_version— Returns the Tolk compiler versioncompile_tolk— Compiles Tolk source code to Fift + BoC with full compiler options (optimization level, stack comments, experimental flags)check_tolk_syntax— Quick syntax validation without full output
Resources:
tolk://reference— Tolk language quick reference (syntax, types, differences from FunC)tolk://examples/hello-world— Counter contract exampletolk://examples/wallet— Wallet contract exampletolk://examples/jetton— Jetton (token) contract skeleton
Prompts:
write_smart_contract— Guided prompt for writing a new TON smart contractreview_smart_contract— Guided prompt for security review and optimization analysis
Quick Start
Claude Desktop
Add to claude_desktop_config.json:
{
"mcpServers": {
"tolk": {
"command": "npx",
"args": ["-y", "tolk-mcp-server"]
}
}
}
Cursor / Windsurf
Add to your MCP settings:
{
"tolk": {
"command": "npx",
"args": ["-y", "tolk-mcp-server"]
}
}
From Source
git clone https://github.com/oxgeneral/tolk-mcp-server.git
cd tolk-mcp-server
npm install
npm run build
npm start
Usage Examples
Compile a contract
> Use the compile_tolk tool to compile this contract:
fun onInternalMessage(myBalance: int, msgValue: int, msgFull: cell, msgBody: slice) {
}
get fun hello(): int {
return 42;
}
The tool returns:
- Fift assembly code
- BoC (Bag of Cells) in base64 — ready for deployment
- Code hash — unique identifier of the compiled code
- Warnings (if any)
Check syntax quickly
> Use check_tolk_syntax to validate my contract before deploying
Returns OK + code hash, or a detailed error with line/column info.
Multi-file contracts
Pass all files in the sources parameter:
{
"entrypointFileName": "main.tolk",
"sources": {
"main.tolk": "import \"./utils.tolk\";\nfun onInternalMessage(...) { ... }",
"utils.tolk": "fun helper(): int { return 1; }"
}
}
Standard library imports (@stdlib/*) are resolved automatically by the compiler.
Compiler Options
| Option | Type | Default | Description |
|---|---|---|---|
optimizationLevel | 0-2 | 2 | 0 = none, 1 = basic, 2 = full |
withStackComments | bool | false | Add stack layout comments to Fift output |
experimentalOptions | string | "" | Space-separated experimental compiler flags |
Requirements
- Node.js >= 18
- No external dependencies beyond npm packages
Development
npm install
npm run dev # Run with tsx (hot reload)
npm run build # Compile TypeScript
npm test # Run tests
License
MIT
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.