trademark_bigdata_fuzzy_searchLABSCO SUMMARY
One dataset, two questions: what is registered, and what a company holds.
A mark-level search answers who owns what and where it stands in the process; the company-level tools turn the same register into a portfolio and a filing trend. It reads China's trademark register and expects Chinese company identifiers, which is what makes it useful for brand protection and competitor work in that market.
What it is
A server over Handaas's Chinese trademark data. Search marks by name, application number, applicant or filing agent and narrow by status; or step up a level and describe a company's whole portfolio — how many marks it holds, valid against invalid, the classes covered — and how its filings have moved year by year. Because the company-level tools want a registered name or code, a fuzzy keyword search turns a brand, product or partial name into the company records they need.
What you get
- Trademark search by mark name, application number, applicant or agency, filtered by status — under rejection review, under invalidation review, preliminary publication and others
- Each result with applicant, agency, mark image, application and registration dates, goods and services covered, and current status
- A company trademark profile: total marks, valid and invalid counts, classes covered and the breakdown by status
- Trend statistics for one company: applications and registrations year by year, plus class and status distribution
- Fuzzy keyword search over companies, resolving a brand, product, person or partial name into the company records the other tools accept
- Paged results, with a cap on how many rows one page returns
Requirements
A Handaas platform account: the integrator id, secret id and secret key it issues go into the server's environment, or a token if you point a client at Handaas's own remote endpoint instead. Locally it runs on Python 3.10 or newer and can serve over stdio, SSE or streamable HTTP.
Setup effort
Build from source — clone the repository, then follow the project's own run instructions
USE CASES
Checking who holds a mark
Search by mark name, application number, applicant or agent, filtered by status, to see what is registered, pending or under review.
Sizing up a company's trademark portfolio
Total marks held, valid against invalid, the classes covered and the status breakdown for one company.
Reading a competitor's filing trend
Applications and registrations year by year with class and status distribution — where a company has been putting its protection, and when.
Turning a brand name into the company behind it
The company-level tools want a registered name or code; fuzzy search takes a brand, product or partial name and returns the matching companies.
4 tools
Listed in project docs. Your client may show a different list.
trademark_bigdata_trademark_searchtrademark_bigdata_trademark_profiletrademark_bigdata_trademark_statsBEFORE YOU INSTALL
What to know first
Tools you get
4 tools named in the project's documentation. Call trademark_bigdata_fuzzy_search first to get a company's full registered name, which the other tools need. Results page at up to 50 records.
Requires
- uv on PATH
- Python 3.10+
- INTEGRATOR_ID in your environment
- SECRET_ID in your environment
- SECRET_KEY in your environment
Where it runs
Both documented clients run the server on your machine.
INSTALLATION
Connect your client
Server setup
uv
uv run mcp run <YOUR_WORKDIR>/server/mcp_server.pyHosted endpoint
https://mcp.handaas.com/trademark/trademark_bigdata?token=<YOUR_TOKEN>Add this hosted endpoint to your MCP client using the credentials listed under Requirements.
MCP Clients
Cursor, Cherry Studio
{
"mcpServers": {
"trademark-mcp-server": {
"command": "uv",
"args": [
"run",
"mcp",
"run",
"<YOUR_WORKDIR>/server/mcp_server.py"
],
"env": {
"PATH": "<YOUR_WORKDIR>/mcp_env/bin:$PATH",
"PYTHONPATH": "<YOUR_WORKDIR>/mcp_env",
"INTEGRATOR_ID": "<YOUR_INTEGRATOR_ID>",
"SECRET_ID": "<YOUR_SECRET_ID>",
"SECRET_KEY": "<YOUR_SECRET_KEY>"
}
}
}
}