MCP server for Tolk smart contract compiler — compile, analyze, and explore TON smart contracts from any MCP-compatible AI assistant
This is a well-structured TypeScript MCP server with 4 tools for Tolk smart contract compilation. All tools are properly registered with names, descriptions, and input schemas using Zod. Naming follows verb_noun conventions (get_, compile_, check_, generate_). Descriptions are substantial and explain the purpose, use case, and output. Input schemas use proper type constraints with min/max bounds. However, output schemas are not formally documented, responses are returned as text content without a declared schema structure. Error handling is basic (returns isError flag with text message). The server lacks several optional MCP features (logging, sampling, elicitation, roots, cancellation, progress, tool annotations). Transport is STDIO only, which applies a hard cap at 50 for protocol readiness.
Checks Tolk source code for syntax and type errors without returning full compilation output. Faster feedback loop for iterative development. Supports pathMappings for custom @alias import resolution. Returns OK + code hash on success, or error details on failure.
Compiles Tolk smart contract source code using @ton/tolk-js. Provide source files as a map of filename->content. The entrypoint file must be included. Standard library imports (@stdlib/*, @fiftlib/*) are resolved automatically. Supports pathMappings for custom @alias import resolution. Returns compiled Fift code, BoC (Bag of Cells) in base64, code hash, and compiler version.
Generates a TON deployment deeplink for a compiled Tolk contract. Accepts the compiled code BoC (base64) and optionally initial data BoC. Computes the contract address and returns ton:// deeplinks for wallet deployment.
Returns the version of the Tolk compiler (from @ton/tolk-js WASM). Use this to check which compiler version is available.
Output schemas are not formally documented. Tools return text content via MCP's content array, but the structured fields in the response (code hash, BoC, Fift code) are not declared in an output schema. This forces LLMs to parse unstructured markdown text to extract downstream dependencies.
Error handling is generic. Errors return a text message with isError=true flag. There is no error categorization (retryable vs fatal), no recovery guidance, and no structured error codes per MCP spec. E.g., compilation errors and validation errors return the same isError response format.
Missing optional MCP features: no tool annotations (readOnlyHint, destructiveHint, idempotentHint). All tools are read-only and idempotent, but these hints are not declared. This prevents MCP clients from optimizing execution (e.g., caching, parallel execution, retry strategies).
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 11 | 2026-07-28+ | v2 |
| 2026-03-09 | D | 52 | - | v1 |
Transport is STDIO only. This is not remotely accessible and cannot be tested by hosted MCP clients (ChatGPT, Claude, etc.). STDIO support is moving toward deprecation. This blocks production deployment and hosted agent integration.