class QueryOrderTool: name = 'query_order' route_path = '/mcp/tools/queryOrder' def __init__(self, api_client=None): self.api_client = api_client def metadata(self): return { 'name': self.name, 'description': 'Query orders with the current employee permissions.', 'input_schema': { 'type': 'object', 'properties': { 'keyword': {'type': 'string'}, 'page': {'type': 'integer', 'minimum': 1}, 'limit': {'type': 'integer', 'minimum': 1, 'maximum': 100}, }, 'required': ['keyword'], }, } def call(self, keyword, page=1, limit=20, request_id='rq_query_order'): if self.api_client is None: raise RuntimeError('api client is required for query_order') keyword = str(keyword).strip() if not keyword: raise ValueError('keyword is required') page = max(1, int(page)) limit = max(1, min(100, int(limit))) payload = { 'keyword': keyword, 'page': page, 'limit': limit, } return self.api_client.call_tool(self.name, self.route_path, payload, request_id)