{"serverId":"mcp-registry/dev.rossdata/data-dictionary","tools":[{"name":"facility_stats","fixed":{"name":"facility_stats","description":"Overview of the Ross ERP 8.0 application layer — the client menu tree of UI facilities (screens, reports, inquiries, maintenance functions): total facilities, and their breakdown by system (e.g. ACCOUNTS_PAYABLE), database (FIN/MAN) and class (REPORT, MAINTENANCE, INQUIRY, ...). Use this first to orient before browsing facilities.","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":126,"tokensAfter":126},{"name":"find_column","fixed":{"name":"find_column","description":"Look up a single column by exact name across the whole Ross ERP 8.0 schema: its description, valid values, notes, every table that carries it, and any foreign-key roles it plays.","inputSchema":{"type":"object","required":["name"],"properties":{"name":{"type":"string","description":"Column name, e.g. POSTING_DATE or GL_ACCOUNT"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":111,"tokensAfter":111},{"name":"get_ddl","fixed":{"name":"get_ddl","description":"Return the CREATE TABLE (DDL) for a Ross ERP 8.0 table, with column descriptions as comments plus primary-key and foreign-key constraints.","inputSchema":{"type":"object","required":["name"],"properties":{"name":{"type":"string","description":"Table name, e.g. GL_ACCOUNTS"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":95,"tokensAfter":95},{"name":"list_facilities","fixed":{"name":"list_facilities","description":"Browse and filter Ross ERP 8.0 UI facilities (menu screens/functions). Filter by system, database, class, a name/code substring, or withTables (only facilities whose table cluster is known); paginate with limit/offset. Returns summaries — use lookup_facility for full detail.","inputSchema":{"type":"object","properties":{"q":{"type":"string","description":"Name or code substring, e.g. CHECK or AP_"},"class":{"type":"string","description":"Class filter: REPORT | MAINTENANCE | INQUIRY | UPDATE | TRANSACTION | ARCHIVE | CODES"},"limit":{"type":"integer","maximum":1000,"minimum":1,"description":"Max facilities (default 100)"},"offset":{"type":"integer","minimum":0,"description":"Pagination offset (default 0)"},"system":{"type":"string","description":"System filter, e.g. ACCOUNTS_PAYABLE or GENERAL_LEDGER"},"database":{"type":"string","description":"Database filter: FIN or MAN"},"withTables":{"type":"boolean","description":"Only facilities with a known table cluster (default false)"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":296,"tokensAfter":296},{"name":"list_objects","fixed":{"name":"list_objects","description":"Browse and filter Ross ERP 8.0 objects (tables / views / procedures / functions). Filter by type, database, module, or a name substring; paginate with limit/offset. Returns object summaries — use lookup_table for full detail.","inputSchema":{"type":"object","properties":{"q":{"type":"string","description":"Name substring filter, e.g. GL_"},"db":{"type":"string","description":"Database filter, e.g. FIN or MAN"},"type":{"type":"string","description":"Object type filter: table | view | procedure | function"},"limit":{"type":"integer","maximum":1000,"minimum":1,"description":"Max objects (default 100)"},"module":{"type":"string","description":"Module filter, e.g. GL or PO"},"offset":{"type":"integer","minimum":0,"description":"Pagination offset (default 0)"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":232,"tokensAfter":232},{"name":"list_programs","fixed":{"name":"list_programs","description":"Browse and filter Ross ERP 8.0 programs (application source, metadata only). Filter by module (ap, gl, ic, sop, ...), type (a=archive, i=inquiry, m=maintenance, r=report, s=server, l=load, u=utility, ...), layer (base | vendor-core), titled (only programs that declare a TITLE id), or a substring of basename/title; paginate with limit/offset. Returns summaries — use lookup_program for full detail.","inputSchema":{"type":"object","properties":{"q":{"type":"string","description":"Substring of basename or title, e.g. check_register"},"type":{"type":"string","description":"Program-type letter, e.g. r (report), m (maintenance), i (inquiry), s (server)"},"layer":{"type":"string","description":"Source layer: base | vendor-core"},"limit":{"type":"integer","maximum":1000,"minimum":1,"description":"Max programs (default 100)"},"module":{"type":"string","description":"Module filter, e.g. ap, gl, ic, sop"},"offset":{"type":"integer","minimum":0,"description":"Pagination offset (default 0)"},"titled":{"type":"boolean","description":"Only programs that declare a TITLE program-id (default false)"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":325,"tokensAfter":325},{"name":"lookup_facility","fixed":{"name":"lookup_facility","description":"Full detail for one Ross ERP 8.0 UI facility by code: its name, system, database, class, GEMBASE program, help text, menu paths, the physical table cluster it touches — core (the working set the screen is built on) and reference (control/lookup tables) — and its call graph: the facilities this one invokes (calls) and the facilities that invoke it (calledBy), parsed from the program source.","inputSchema":{"type":"object","required":["code"],"properties":{"code":{"type":"string","description":"Facility code, e.g. AP_A_002"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":167,"tokensAfter":167},{"name":"lookup_program","fixed":{"name":"lookup_program","description":"Full detail for one Ross ERP 8.0 program, by TITLE program-id (e.g. AP_A_002) or source basename (e.g. ap_a_check_register): its module, type, layer, declared title, internal PROCEDURE_FORM procedures, the Data Dictionary tables it references — each classified read vs read-write (a write is a FIND IN.../LOCK=WRITE update, an ADD, or a DELETE) with a writeCount — its call graph (the programs it invokes and the programs that invoke it, from PERFORM \"GEM<mod>:<prog>\"), the menu facilities it backs,","inputSchema":{"type":"object","required":["id"],"properties":{"id":{"type":"string","description":"Program id or basename, e.g. AP_A_002 or ap_a_check_register"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":205,"tokensAfter":205},{"name":"lookup_table","fixed":{"name":"lookup_table","description":"Full schema for a Ross ERP 8.0 object (table / view / procedure / function): columns with type, nullability, keys, descriptions and valid values, foreign keys in and out, related tables, and usage.","inputSchema":{"type":"object","required":["name"],"properties":{"name":{"type":"string","description":"Object name, e.g. GL_ACCOUNTS or ACCOUNT_TYPES"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":117,"tokensAfter":117},{"name":"program_stats","fixed":{"name":"program_stats","description":"Overview of the Ross ERP 8.0 program catalog — every application-source program (metadata only, no source body): total programs, how many declare a TITLE id, how many carry Data Dictionary table links, total program→table edges, read/write counts (withWrites programs, writeEdges program→table write edges), base vs vendor-core split, program→program call-graph counts (programs with outbound calls, total call edges) and how many back a menu facility, plus the module and type breakdowns. Use this f","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":172,"tokensAfter":172},{"name":"schema_stats","fixed":{"name":"schema_stats","description":"Overview of the Ross ERP 8.0 schema in one call: object counts by type, module list, total/distinct columns, audit-twin pairs, and the top tables/columns/modules. Use this first to orient before drilling in.","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":90,"tokensAfter":90},{"name":"search_all","fixed":{"name":"search_all","description":"Cross-domain search in one call — spans schema objects, columns, UI facilities and programs at once. Use this when you don't yet know which layer a term lives in (e.g. 'check register' is a screen, a program and a table). Scope to one layer with type = object | column | facility | program (default all); limit is per domain.","inputSchema":{"type":"object","required":["query"],"properties":{"type":{"enum":["all","object","column","facility","program"],"type":"string","description":"Restrict to one domain (default all). 'table' is accepted as an alias for object."},"limit":{"type":"integer","maximum":100,"minimum":1,"description":"Max results per domain (default 25)"},"query":{"type":"string","description":"Search text, e.g. check register or posting_date"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":232,"tokensAfter":232},{"name":"search_columns","fixed":{"name":"search_columns","description":"Search the Ross ERP 8.0 schema by name (and column descriptions). Returns matching objects and columns.","inputSchema":{"type":"object","required":["query"],"properties":{"limit":{"type":"integer","maximum":100,"minimum":1,"description":"Max results per group (default 25)"},"query":{"type":"string","description":"Search text, e.g. posting_date or GL_ACCOUNTS"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":121,"tokensAfter":121},{"name":"search_facilities","fixed":{"name":"search_facilities","description":"Search Ross ERP 8.0 UI facilities by code, name, help text, program or tag. Use this to find the screen/report for a task, e.g. 'check register' or 'purchase order receipts'.","inputSchema":{"type":"object","required":["query"],"properties":{"limit":{"type":"integer","maximum":100,"minimum":1,"description":"Max results (default 25)"},"query":{"type":"string","description":"Search text, e.g. check register or AP_A"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":137,"tokensAfter":137},{"name":"search_programs","fixed":{"name":"search_programs","description":"Search Ross ERP 8.0 programs by basename, TITLE program-id, title, module or type. Use this to find the program behind a task, e.g. 'check register' or 'ap_a'.","inputSchema":{"type":"object","required":["query"],"properties":{"limit":{"type":"integer","maximum":100,"minimum":1,"description":"Max results (default 25)"},"query":{"type":"string","description":"Search text, e.g. check register or AP_A_002"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":134,"tokensAfter":134}],"toolsChanged":15,"tokensSaved":0,"todo":[],"note":"Deterministic fixes. Changes marked verify need a human look before shipping (renames, inferred annotations, inferred types, removed text). Parameter descriptions in `todo` need to be written by someone who knows the API."}