About Microtoll Engine
Microtoll Engine is an MCP server for coding tools that provides bundled documentation and a starter scaffold for apps using the engine. Its tools search or read local documentation and create files in an empty directory without network access.
Key features
- 01Full-text search of bundled documentation
- 02Read documentation pages as Markdown
- 03Create a notes-app scaffold in an empty directory
- 04Fill scaffold values such as namespace and origin
- 05Refuse non-empty directories and avoid overwrites
Use cases
- 01Look up Microtoll Engine documentation from a coding tool
- 02Read a referenced documentation page while working in an editor
- 03Start an engine-based project from generated starter files
MCP support
Implements MCP over standard input and output and exposes three tools for documentation search, page reading, and project scaffolding to compatible hosts.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
Tools
3Saved tool list · updated 3w ago
| Parameter | Type | Required | Description |
|---|---|---|---|
| limit | integer | No | |
| query | string | Yes | What to look for, in words. |
Details
From the project README@microtoll/mcp
Microtoll Engine inside your coding tool. A Model Context Protocol server
(over standard input and output) that Claude Code, Cursor and any MCP host
can call for the engine's documentation and for a project scaffold, so an
agent can wire the engine in without leaving the editor — and without
leaving the machine: the pages are inside the package, nothing is fetched,
nothing runs but what is in src/.
Status: published as @microtoll/mcp on npm and listed in the MCP
registry as io.github.microtoll/mcp. Apache-2.0. Zero dependencies.
Node 24 or later.
Add it to a host
claude mcp add microtoll -- npx -y @microtoll/mcp
Any other host takes the same command (npx -y @microtoll/mcp) as a stdio
server.
The three tools
| Tool | What it does |
|---|---|
microtoll_search_docs({ query, limit? }) | Full-text search over the documentation — the same pages as microtoll.dev, shipped in generated/docs.json by the repository's docs build so they never drift. Returns page, section and excerpt. |
microtoll_read_doc({ path }) | One page as Markdown, by the path a search result gives (packages/access.html) or from llms.txt. |
microtoll_scaffold({ directory, namespace?, origin?, name? }) | Writes the notes starter into an empty directory: notes.js, page.js, index.html, docker-compose.yml, nginx.conf, package.json, README.md, with the namespace and origin filled in. Writes files and nothing else; refuses a directory that is not empty; never overwrites. The next steps (npm install, docker compose up) come back as text for the person to run. |
Each tool also carries a plain title and the specification's behaviour
hints (annotations), which a host may use to decide when to ask the
person first. The two documentation tools only read; the scaffold writes
files but only adds them (it never deletes or overwrites), and a second
call with the same arguments changes nothing; none of the three uses the
network.
What it speaks
JSON-RPC 2.0, one message per line: initialize (protocol version
2025-06-18, tools capability), ping, tools/list, tools/call;
notifications are acknowledged by silence; a tool's failure is a tool
result with isError, a protocol failure a JSON-RPC error. About 120 lines
in src/protocol.js, tested against a transcript of what a host sends.
Tests
npm test: the protocol over a real child process, the search and the
page reader over the shipped snapshot, the scaffold into a temporary
directory (placeholders filled, a non-empty directory refused), and each
tool's title and behaviour hints against what the tool does.
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.