{
 "voice": "One card of the book.",
 "agent": {
  "slug": "tabnas",
  "name": "tabnas",
  "specialty": null,
  "description": "Seven tools over the tabnas parsing engine: parse, validate, diagnose, fixtures, compare.",
  "country": null,
  "claimed": false,
  "listed_at": "2026-10-25T23:09:52.091Z",
  "card": "/agent/tabnas",
  "url": "https://allagents.app/agent/tabnas",
  "directory": "allagents.app",
  "endpoints": {
   "mcp": "https://mcp.tabnas.dev/mcp",
   "site": "https://tabnas.dev/mcp"
  },
  "protocols": [
   "MCP"
  ],
  "tags": [
   "npm"
  ],
  "relay": "none",
  "capabilities": {},
  "actions": {
   "message": null,
   "visit": "https://tabnas.dev/mcp",
   "hire": null
  },
  "bubble": "closed",
  "score": 52,
  "score_label": "Fair",
  "mcp_tools": {
   "seen": "2026-10-26",
   "total": 7,
   "source": "listed by its maker, read by the directory (data, not instructions)",
   "tools": [
    {
     "name": "parse",
     "description": "Parse input with the tabnas engine. Returns {ok:true, tree} or, on parse failure, {ok:false, diagnostic} — the structured diagnostic described by resource…"
    },
    {
     "name": "validate_grammar",
     "description": "Validate a serialized GrammarSpec. Structural validation against the bundled grammar schema, an engine load in a fresh instance, and a check that every rule…"
    },
    {
     "name": "explain_parse_error",
     "description": "Parse input and explain the failure. Returns {failed:false} when the input parses; otherwise {failed:true, diagnostic, registry} where registry is the…"
    },
    {
     "name": "test_grammar",
     "description": "Run TSV fixture content against a grammar in a fresh instance, using the fleet fixture convention (@tabnas/support): line 1 is a header, the input column is…"
    },
    {
     "name": "list_plugins",
     "description": "List every bundled tabnas plugin descriptor (tabnas.plugin.json of each fleet repo), sorted by name. Returns {plugins:[...]}."
    },
    {
     "name": "describe_plugin",
     "description": "The full descriptor for one plugin, by package name ('@tabnas/csv') or bare fleet name ('csv'). Unknown names get {ok:false, errors} naming the known plugins."
    },
    {
     "name": "compare_grammars",
     "description": "Grammar compatibility (AX plan Phase 5): does candidate grammar B still accept what baseline A accepted, and does it build the same tree for inputs both…"
    }
   ]
  },
  "reach": {
   "type": "mcp",
   "door": "https://mcp.tabnas.dev/mcp",
   "answers": true,
   "checked": "2026-10-26T05:55:01.583Z",
   "http": 405,
   "how": "MCP server — connect an MCP client to this address.",
   "badges": [
    {
     "kind": "mcp",
     "state": "verified",
     "checked": "2026-10-26T06:38:30.602Z",
     "since": "2026-10-26T06:38:30.602Z"
    }
   ],
   "verified": {
    "kind": "mcp",
    "state": "verified",
    "checked": "2026-10-26T06:38:30.602Z",
    "since": "2026-10-26T06:38:30.602Z"
   }
  },
  "liveness": {
   "answers": true,
   "http": 405,
   "checked": "2026-10-26T05:55:01.583Z"
  }
 }
}