Parses, validates, diagnoses, tests, compares, and describes tabnas grammars through a stdio MCP server.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent — or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag — we're steadily working through the catalog.
💡 Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Inspect callable tools, capabilities, and parameters exposed to AI agents by Tabnas.
The tabnas MCP server gives MCP clients access to the tabnas parsing engine through a TypeScript implementation published as @tabnas/mcp. It runs over stdio and exposes seven operations:
parse checks input and returns either a parse tree or a diagnostic.validate_grammar checks a serialized GrammarSpec and reports validation errors with paths.explain_parse_error combines a parse diagnostic with the matching bundled error-code entry when one exists.test_grammar evaluates TSV fixture content and reports row-level expected and actual results.list_plugins returns the available grammar plugin descriptors.describe_plugin returns the complete descriptor for one plugin.compare_grammars examines acceptance and tree-output differences between a baseline and candidate grammar.The MCP interface also serves bundled resources for the grammar schema, diagnostic schema, error registry, plugin list, and divergence information.
Each request creates a new engine instance. When a grammar is supplied, it is validated before loading, and parser options are applied before the grammar. Without a grammar, the engine has no rules, so parsing produces an undefined tree represented by a successful result without a tree value.
Grammar and option inputs are treated as data rather than executable code. A security firewall rejects prototype-pollution keys, references, unsupported function values, plugin declarations, and grammars exceeding 5,000 rules. Engine failures are converted into the same structured validation-error shape used by the CLI.
compare_grammars reports static findings, observed runs, changes, counterexamples, confidence, and an explanation. It does not return an unconditional compatibility verdict: language inclusion cannot be decided for every possible grammar.
Install the package globally for the CLI, or run the server directly with npx:
For an MCP client, configure a stdio server whose command is npx and whose arguments are --yes, a pinned @tabnas/mcp@<version> package, and mcp:
Pinning a published version avoids tool behavior changing underneath an installed client. The server writes JSON-RPC on stdout and does not print unrelated output there.
All grammar arguments must be serialized GrammarSpec JSON. The tools do not accept ABNF, EBNF, GBNF, or jsonic source. Compile those formats before sending them, and use a conversion step that produces a pure specification without live references. Fixture tests use TSV content with a header, an input column, and an expected JSON or error value; column positions can be changed by option.
The server does not compile grammar source and does not execute plugin code supplied through a request. Plugin declarations in options or grammars are rejected by the security boundary. Fixture specifications larger than 10,000 rows are refused.
The comparison report is evidence-based rather than a proof of universal compatibility. Static analysis only proves cases within its supported decidable subset, while observed results depend on the supplied corpus or test inputs. The package is TypeScript-only and is tooling around the engine, not a Go parity package.
The tabnas MCP server shares its core with the tabnas CLI, so MCP results and CLI --json results use the same serialized result contract. This makes the CLI useful for reproducing an agent request locally.
Factual signals from GitHub, npm, and our automated checks — not a rating.
No reviews yet — be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/tabnas)<a href="https://allmcps.com/mcp/tabnas"><img src="https://allmcps.com/api/badge/tabnas?style=directory" alt="Tabnas on AllMCPs" /></a>