query_company_trademark_list
Retrieve trademark details for Chinese companies by providing the full company name. Use this tool to get trademark names, company names, and status information.
Instructions
Obtain the list of an company's trademarks, including trademark names, company names, and statuses, by its full name. Please use the fuzzy query tool to obtain the company full name before calling this tool.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| entName | Yes | company full name |
Implementation Reference
- src/index.ts:236-250 (handler)Handler function that takes company full name (entName), prepares request data, calls the yushantwo API helper with product ID 'COM140' specific to trademark list query, and returns the response as text content.async ({entName}) => { const requestData = { entName: entName }; const prodId = "COM140"; const data = await yushantwo(requestData, prodId); return { content: [ { type: "text", text: data, }, ], }; }
- src/index.ts:233-235 (schema)Input schema defining the required 'entName' parameter as a string for the company full name.{ entName: z.string().describe("company full name"), },
- src/index.ts:230-251 (registration)MCP server tool registration for 'query_company_trademark_list', including name, description, input schema, and inline handler function.server.tool( "query_company_trademark_list", "Obtain the list of an company's trademarks, including trademark names, company names, and statuses, by its full name. Please use the fuzzy query tool to obtain the company full name before calling this tool.", { entName: z.string().describe("company full name"), }, async ({entName}) => { const requestData = { entName: entName }; const prodId = "COM140"; const data = await yushantwo(requestData, prodId); return { content: [ { type: "text", text: data, }, ], }; } );
- src/index.ts:49-86 (helper)Shared helper function yushantwo that handles API calls to Yushan service: encrypts request with AES, sends POST with specific headers, decrypts response. Used by all tools including this one with prodId 'COM140'.async function yushantwo(requestData: RequestData, prodId: string): Promise<string> { const url = "***"; const reqTime = Date.now(); const requestSN = Array.from({ length: 32 }, () => "ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz2345678"[Math.floor(Math.random() * 58)]).join(""); const requestBody = JSON.stringify({ prod_id: prodId, req_data: requestData, req_time: reqTime, request_sn: requestSN, }); // 加密请求数据 const encryptedRequest = encrypt(requestBody, apiKey); const headers = { AES_KEY: apiKey, ACCT_ID: apiUserId, ENCODE: "AES256", }; try { const response = await fetch(url, { method: "POST", headers: headers, body: encryptedRequest, }); const responseText = await response.text(); // 解密返回数据 const decryptedString = decrypt(responseText, apiKey); return decryptedString; } catch (e) { console.error("Error:", e); return "error"; } }