{"result":{"protocolVersion":"2024-11-05","capabilities":{"logging":{},"tools":{"listChanged":true}},"serverInfo":{"name":"sage-x3-mcp","version":"1.0.0"}},"jsonrpc":"2.0","id":1} {"result":{"tools":[{"name":"sage_health","description":"Check connectivity to Sage X3 REST and SOAP APIs. Returns connection status, latency, and configuration details.","inputSchema":{"type":"object","properties":{}},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"execution":{"taskSupport":"forbidden"}},{"name":"sage_query","description":"Query Sage X3 business objects via REST. Returns paginated records. Use entity names like BPCUSTOMER, SINVOICE, SORDER, PORDER, ITMMASTER, STOCK.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"entity":{"type":"string"},"representation":{"type":"string"},"where":{"type":"string"},"orderBy":{"type":"string"},"count":{"type":"number","minimum":1,"maximum":200},"nextUrl":{"type":"string"},"select":{"type":"string"}},"required":["entity"]},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true},"execution":{"taskSupport":"forbidden"}},{"name":"sage_read","description":"Read a single Sage X3 record by its primary key. Returns full record details. Example: entity=SINVOICE, key=INV001.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"entity":{"type":"string"},"key":{"type":"string"},"representation":{"type":"string"}},"required":["entity","key"]},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true},"execution":{"taskSupport":"forbidden"}},{"name":"sage_search","description":"Search Sage X3 records with flexible text matching. Builds SData where clauses from a search term across common fields.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"entity":{"type":"string"},"searchTerm":{"type":"string"},"searchFields":{"type":"array","items":{"type":"string"}},"count":{"type":"number","minimum":1,"maximum":200}},"required":["entity","searchTerm"]},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true},"execution":{"taskSupport":"forbidden"}},{"name":"sage_list_entities","description":"List available Sage X3 REST entity types (classes) on the configured endpoint. Use this to discover what data you can query.","inputSchema":{"type":"object","properties":{}},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"execution":{"taskSupport":"forbidden"}},{"name":"sage_get_context","description":"Get field names and metadata for a Sage X3 entity via REST. Returns available fields, their types, and sample structure.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"entity":{"type":"string"},"representation":{"type":"string"}},"required":["entity"]},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true},"execution":{"taskSupport":"forbidden"}},{"name":"sage_soap_read","description":"Read a single Sage X3 record via SOAP by its key fields. Use for objects not available via REST, or when you need SOAP-specific data.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"publicName":{"type":"string","description":"SOAP publication name, e.g. SIH, SOH, WSBPC, WITM"},"key":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"string"},"description":"Key field(s), e.g. {NUM: 'INV001'}"}},"required":["publicName","key"]},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true},"execution":{"taskSupport":"forbidden"}},{"name":"sage_soap_query","description":"Query Sage X3 records via SOAP. Returns a list of records matching criteria. Use for bulk data retrieval via SOAP pools.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"publicName":{"type":"string","description":"SOAP publication name, e.g. SIH, SOH, WSBPC, WITM"},"listSize":{"description":"Maximum number of records to return (1-200, default 20)","type":"number","minimum":1,"maximum":200},"inputXml":{"description":"Optional XML filter criteria for the query","type":"string"}},"required":["publicName"]},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true},"execution":{"taskSupport":"forbidden"}},{"name":"sage_describe_entity","description":"Get field definitions for a Sage X3 SOAP object. Returns field names, types, lengths, and English labels. Essential for understanding X3 field codes.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"publicName":{"type":"string","description":"SOAP publication name, e.g. SIH, SOH, WSBPC, WITM"}},"required":["publicName"]},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"execution":{"taskSupport":"forbidden"}}]},"jsonrpc":"2.0","id":2}