Skip to main content
Glama
usensedata

usensedata-mcp-server-query-china-company

Official
by usensedata

fuzzy_query_company

Search Chinese companies using partial or approximate name keywords to retrieve full enterprise information for further data queries.

Instructions

Fuzzy search through company name keywords to return a list of enterprise information. Use this tool to retrieve the company's full name before calling other tools that require it.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
keyWordYescompany name keywords

Implementation Reference

  • The asynchronous handler function implementing the core logic of the 'fuzzy_query_company' tool. It takes a keyword, prepares request data with skip='20', calls the yushantwo API helper with prodId='PBB020', and returns the result formatted as MCP content.
    async ({ keyWord }) => { const requestData = { keyWord: keyWord, skip: "20", }; const prodId = "PBB020"; const data = await yushantwo(requestData, prodId); return { content: [ { type: "text", text: data, }, ], }; }
  • Zod schema defining the input parameter 'keyWord' as a required string for company name keywords.
    { keyWord: z.string().describe("company name keywords"), },
  • src/index.ts:113-135 (registration)
    The server.tool registration call that defines and registers the 'fuzzy_query_company' tool with its name, description, input schema, and inline handler function.
    server.tool( "fuzzy_query_company", "Fuzzy search through company name keywords to return a list of enterprise information. Use this tool to retrieve the company's full name before calling other tools that require it.", { keyWord: z.string().describe("company name keywords"), }, async ({ keyWord }) => { const requestData = { keyWord: keyWord, skip: "20", }; const prodId = "PBB020"; const data = await yushantwo(requestData, prodId); return { content: [ { type: "text", text: data, }, ], }; } );
  • Shared utility function 'yushantwo' that performs encrypted HTTP POST requests to the Yushan API using fetch, handles encryption/decryption with AES256, and is called by the tool handler to execute the actual query.
    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"; } }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/usensedata/usensedata-mcp-server-query-china-company'

If you have feedback or need assistance with the MCP directory API, please join our Discord server