by tikoci
MCP Server with RouterOS docs + commands + products + changelogs, using SQLite-as-RAG, sourced from MikroTik
# Add to your Claude Code skills
git clone https://github.com/tikoci/rosettaGuides for using mcp servers skills like rosetta.
rosetta is an open-source mcp servers skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by tikoci. MCP Server with RouterOS docs + commands + products + changelogs, using SQLite-as-RAG, sourced from MikroTik. It has 37 GitHub stars.
rosetta's catalog security scan is still queued. You can run an instant dependency and prompt-injection check now with the "Scan for vulnerabilities" button above.
Clone the repository with "git clone https://github.com/tikoci/rosetta" and add it to your Claude Code skills directory (see the Installation section above).
rosetta is primarily written in TypeScript. It is open-source under tikoci on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other MCP Servers skills you can browse and compare side by side. Open the MCP Servers category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh rosetta against similar tools.
No comments yet. Be the first to share your thoughts!
Top skills in this category by stars
Unlocks once the catalog security scan passes (runs nightly).
The deep catalog scan for this skill is still queued. Run an instant dependency check now instead.
MCP server that gives AI assistants searchable access to MikroTik RouterOS documentation — 363 pages extracted live from MikroTik's official Docusaurus manual (https://manual.mikrotik.com), 4,587 properties, a 40,000-entry command tree, hardware specs for 156 current products (part of a wider 255-device overlay also covering legacy/EOL gear and accessories), 722 YouTube video transcripts, and direct links to source docs.
If you need MikroTik docs, you likely have a MikroTik. Install rosetta once as a container on your router using RouterOS /app, and any AI assistant on the network can use it. Or run it locally on your workstation. No AI required — rosetta includes a terminal browser for searching the database directly.
Instead of vector embeddings, rosetta uses SQLite FTS5 full-text search as the retrieval layer — SQL-as-RAG. For structured technical docs, BM25 ranking with porter stemming beats vector similarity: terms like dhcp-snooping and /ip/firewall/filter are exact tokens, not fuzzy embeddings. No API keys, no vector database — just a single SQLite file that searches in milliseconds.
| Data Source | Coverage |
|---|---|
| Documentation pages | 363 pages (~653K words) from MikroTik's live Docusaurus manual |
| Property definitions | 4,587 with types, defaults, descriptions |
| Command tree | 5,114 commands, 551 dirs, 34K arguments |
| Version history | 46 RouterOS versions tracked (7.9–7.23beta2) |
| Hardware products | 156 current matrix devices — specs, pricing, block diagrams |
| Hardware overlay | 255 devices (matrix + legacy/EOL + accessories), resolved via ~750 curated alias mappings for cross-source device lookup |
| Performance benchmarks | 2,874 tests across 125 devices (ethernet + IPSec) |
| YouTube transcripts | 722 videos, ~2,316 transcript segments |
| Callout blocks | 943 warnings, notes, and tips |
Documentation covers RouterOS v7 only, tracking the current long-term release (~7.22). Prose is extracted live from https://manual.mikrotik.com on each release build — no more stale export to keep in sync. The site's Docusaurus CLI Reference (/console/inspect-derived command menus) isn't ingested yet; the command tree instead comes directly from inspect.json (see DESIGN.md).
RouterOS 7.22+ includes the /app feature for running containers directly on the router. This is the simplest way to deploy rosetta — install once, and any AI assistant on your network can connect to the MCP endpoint URL shown in the router UI.
Requirements: RouterOS 7.22+, x86 or ARM64 architecture (CCR, RB5009, hAP ax series, CHR, etc.), container package installed, device-mode enabled.
If you haven't already enabled the container package and device-mode:
# Install the container package (router reboots automatically)
/system/package/update/check-for-updates duration=10s
/system/package/enable container
# Apply changes restarts the router
After reboot:
# Enable container device-mode (requires physical power cycle or button press — follow the on-screen prompt)
/system/device-mode/update mode=advanced container=yes
See MikroTik's Container documentation for full prerequisites and troubleshooting.
/app/add use-https=yes disabled=no yaml="name: rosetta
descr: \"RouterOS Docs for AI assistants - use URL as MCP server\"
page: https://tikoci.github.io/p/rosetta
category: development
icon: https://tikoci.github.io/p/rosetta.svg
default-credentials: \"none - just use 'ui-url' as the MCP server in your AI assistant\"
url-path: /mcp
auto-update: true
services:
rosetta:
image: ghcr.io/tikoci/rosetta:latest
container_name: mcp-server
ports:
- 9803:8080/tcp:web
"
That's it. RouterOS downloads the container image, configures networking and firewall redirects, and starts the MCP server. The auto-update: true setting pulls the latest image on each boot.
The URL to use with your AI assistant is shown as UI URL in WebFig (App → rosetta), or from the CLI:
:put [/app/get rosetta ui-url]
This URL includes the /mcp path and is ready to paste into any MCP client that supports HTTP transport. With use-https=yes, the URL uses HTTPS with a MikroTik-managed *.routingthecloud.net certificate.
Point any HTTP-capable MCP client at the URL from the previous step:
{ "url": "https://app-rosetta.XXX.routingthecloud.net/mcp" }
CHR note: Cloud Hosted Router in free or trial mode does not include the
/ip/cloudservice needed for HTTPS certificates. Setuse-https=noon the /app — the URL will use HTTP instead. The UI URL always reflects the correct protocol.HTTP option: On any platform, you may choose
use-https=noif you prefer HTTP or are on an isolated network.Browse the database from the router: If rosetta is running as a
/app, you can use/container/shellto access the TUI browser directly:/container/shell app-rosetta # /app/rosetta browse
Run rosetta on your workstation using Bun. The MCP server runs over stdio — no network configuration needed. The database downloads automatically on first launch (~50 MB compressed).
bunx @tikoci/rosetta --setup
This downloads the database and prints config snippets for all supported MCP clients. Copy-paste the config for your client and you're done.
Need to force a database reload later? Use:
bunx @tikoci/rosetta@latest --refresh
New corpus builds sometimes ship first under a non-default npm dist-tag so testers can opt in without moving what everyone else gets by default:
bunx @tikoci/rosetta@next # newest prerelease of any stage (alpha/beta/rc)
bunx @tikoci/rosetta@alpha # pinned to the alpha stage's latest
bunx @tikoci/rosetta@beta # pinned to the beta stage's latest
bunx @tikoci/rosetta@rc # pinned to the rc stage's latest
bunx @tikoci/rosetta (no tag) and bunx @tikoci/rosetta@latest always resolve to the default, non-prerelease channel — publishing a prerelease never moves latest.
Dist-tags, not semver ranges. A version range like
^0.11.0-alphais not equivalent to a dist-tag. npm's prerelease range matching only spans the exact[major,minor,patch]tuple written in the range, so it stops tracking new prereleases the moment a patch/minor bump happens.@next/@alpha/@beta/@rcare the actual "follow forever" mechanism — use those, not a range, to stay on a moving prerelease channel.
Open the Command Palette (Cmd+Shift+P / Ctrl+Shift+P), choose "MCP: Add Server…", select "Command (stdio)", enter bunx as the command, and @tikoci/rosetta as the argument.
Or add to User Settings JSON (Cmd+Shift+P → "Preferences: Open User Settings (JSON)"):
"mcp": {
"servers": {
"rosetta": {
"command": "bunx",
"args": ["@tikoci/rosetta"]
}
}
}
claude mcp add rosetta -- bunx @tikoci/rosetta
Edit your Claude Desktop config file:
~/Library/Application Support/Claude/claude_desktop_config.json%APPDATA%\Claude\claude_desktop_config.json{
"mcpServers": {
"rosetta": {
"command": "bunx",
"args": ["@tikoci/rosetta"]
}
}
}
PATH note: Claude Desktop on macOS doesn't always inherit your shell PATH. If
bunxisn't found, use the full path (typically~/.bun/bin/bunx). Runbunx @tikoci/rosetta --setupto print the full-path config.
Restart Claude Desktop after editing.
Open Settings → MCP and add a new server:
{
"mcpServers": {
"rosetta": {
"command": "bunx",
"args": ["@tikoci/rosetta"]
}
}
}
codex mcp add rosetta -- bunx @tikoci/rosetta
Note: ChatGPT Apps require a remote HTTPS MCP endpoint. Use the MikroTik /app install or another container platform for a hosted endpoint, or Codex CLI for local stdio.
Inside a copilot session, type /mcp add:
routeros-rosettabunx @tikoci/rosettaInstall Bun (if you don't have it):
# macOS / Linux
curl -fsSL https://bun.sh/install | bash
# Windows
powershell -c "irm bun.sh/install.ps1 | iex"
Auto-update:
bunxchecks the npm registry each session and uses the latest published version automatically. The database in~/.rosetta/ros-help.dbpersists across updates.
Rosetta includes a terminal-based "card catalog" browser — no AI assistant or MCP client required. It searches the same database the MCP tools use, with a keyboard-driven REPL modeled after a 1980s library terminal.
bunx @tikoci/rosetta browse
Type a search query to find documentation pages, then select a numbered result to drill in. Beyond page search, the browser covers every data source in the datab