{"name":"ooxml","version":"0.1.0","description":"OOXML (ECMA-376) reference server: prose search + schema lookup","tools":[{"name":"ooxml_search","description":"Semantic search across the ECMA-376 (Office Open XML) specification. Returns relevant sections based on natural language queries about WordprocessingML, SpreadsheetML, PresentationML, and more.","inputSchema":{"type":"object","properties":{"query":{"type":"string","description":"Natural language search query (e.g., 'paragraph spacing', 'table borders')"},"part":{"type":"number","description":"Filter by part number: 1=Fundamentals, 2=OPC, 3=Compatibility, 4=Transitional"},"limit":{"type":"number","description":"Max results (default: 5, max: 20)"}},"required":["query"]}},{"name":"ooxml_section","description":"Get a specific section of the ECMA-376 specification by section ID (e.g., '17.3.2' for paragraph properties).","inputSchema":{"type":"object","properties":{"section_id":{"type":"string","description":"Section ID (e.g., '17.3.2', '17.4.1')"},"part":{"type":"number","description":"Part number (1-4)"}},"required":["section_id"]}},{"name":"ooxml_parts","description":"List ECMA-376 specification parts and their top-level sections.","inputSchema":{"type":"object","properties":{"part":{"type":"number","description":"Filter by part number (1-4)"}}}},{"name":"ooxml_element","description":"Look up an OOXML element by qname in a profile. Returns canonical symbol info (vocabulary, namespace, declared @type, profile membership, source). Accepts 'w:tbl', '{namespace}localName' (Clark form), or bare 'localName' (defaults to wml-main).","inputSchema":{"type":"object","properties":{"qname":{"type":"string","description":"Element qname, e.g. 'w:tbl' or '{...}tbl'."},"profile":{"type":"string","description":"Profile name (default: 'transitional')."}},"required":["qname"]}},{"name":"ooxml_type","description":"Look up a complexType or simpleType by qname in a profile. Tries complexType first, then simpleType.","inputSchema":{"type":"object","properties":{"qname":{"type":"string","description":"Type qname, e.g. 'w:CT_Tbl' or 'CT_Tbl'."},"profile":{"type":"string","description":"Profile name (default: 'transitional')."}},"required":["qname"]}},{"name":"ooxml_children","description":"List the legal children of an element or complexType in document order. For an element, follows @type to its complexType first. Walks inheritance to union content from base types. Group refs are surfaced as-is; resolve them by calling ooxml_children on the group qname.","inputSchema":{"type":"object","properties":{"qname":{"type":"string","description":"Element, complexType, or group qname (e.g. 'w:tbl', 'CT_Tbl', 'EG_PContent')."},"profile":{"type":"string","description":"Profile name (default: 'transitional')."}},"required":["qname"]}},{"name":"ooxml_attributes","description":"List the attributes of an element or complexType. For an element, follows @type to its complexType first. Walks inheritance and unfolds attributeGroup refs recursively. Each entry includes use (required/optional/prohibited), default, fixed, and type_ref.","inputSchema":{"type":"object","properties":{"qname":{"type":"string","description":"Element or complexType qname."},"profile":{"type":"string","description":"Profile name (default: 'transitional')."}},"required":["qname"]}},{"name":"ooxml_enum","description":"List enumeration values for a simpleType. Pass the simpleType qname (e.g. 'w:ST_Jc' or 'ST_Jc') and get back the values in declaration order.","inputSchema":{"type":"object","properties":{"qname":{"type":"string","description":"simpleType qname."},"profile":{"type":"string","description":"Profile name (default: 'transitional')."}},"required":["qname"]}},{"name":"ooxml_namespace","description":"Show what's known about a namespace URI: vocabularies, profiles that include it, and how many symbols each profile contributes.","inputSchema":{"type":"object","properties":{"uri":{"type":"string","description":"Namespace URI."}},"required":["uri"]}}]}