TrademarkMind

Free trademark checks: brand names and logos vs U.S., international and Canadian registers.

사용해야 할까요

품질 및 안전성

A
설명 품질
100%
스키마 완전성
93%
이름 품질
97%
오염 위험
100%
권한 일치
100%
프로토콜 준수
100%

도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.

컨텍스트 비용

~1,797토큰 (도구 정의)
~2.6 KB일반적인 응답 크기
중간 정도의 주의 영향 (128k 컨텍스트의 1.40%)

이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.

설치

원클릭 설치

`claude_desktop_config.json` 파일에 다음을 추가하세요:

{
  "mcpServers": {
    "trademark-check": {
      "url": "https://mcp.trademarkmind.com/"
    }
  }
}

원격 엔드포인트

https://mcp.trademarkmind.com/streamable-http

할 수 있는 일

도구 목록

도구 (6)

🟢 읽기 전용🟡 쓰기🔴 삭제⚪ 알 수 없음
🟢check_brand(mark, classes, image)

The complete check, and the one to prefer when someone asks whether a brand is free: the name against the U.S. and international trademark registers, the logo if they share one, and the domains and social handles, all resolved into a single verdict of clear, caution or conflict. Returns a link to the full report and to a PDF of it.

입력 스키마

{
  "type": "object",
  "properties": {
    "mark": {
      "type": "string",
      "description": "The brand name to check.",
      "maxLength": 60
    },
    "classes": {
      "type": "array",
      "items": {
        "type": "integer",
        "minimum": 1,
        "maximum": 45
      },
      "description": "Nice class numbers, 1 to 45. Call suggest_classes first when the user has not named them.",
      "maxItems": 6
    },
    "image": {
      "type": "object",
      "description": "The logo, if the user has one. Optional.",
      "properties": {
        "download_url": {
          "type": "string"
        },
        "file_id": {
          "type": "string"
        },
        "mime_type": {
          "type": "string"
        },
        "file_name": {
          "type": "string"
        }
      },
      "required": [
        "download_url",
        "file_id"
      ]
    }
  },
  "required": [
    "mark",
    "classes"
  ]
}

출력 스키마

{
  "type": "object",
  "properties": {
    "job_id": {
      "type": "string"
    },
    "status": {
      "type": "string",
      "description": "complete, failed, or a running stage."
    },
    "results_url": {
      "type": "string"
    },
    "pdf_url": {
      "type": "string"
    },
    "mark": {
      "type": "string"
    },
    "classes": {
      "type": "array",
      "items": {
        "type": "integer"
      }
    },
    "verdict": {
      "type": "string",
      "description": "clear, caution, conflict, or pending."
    },
    "reasons": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "sections": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "area": {
            "type": "string"
          },
          "headline": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    }
  }
}
🟢check_name(mark, classes)

Scores a proposed brand name against the U.S. federal trademark register and the international Madrid register in the chosen classes, and returns the closest conflicting marks with their similarity, their status, and whether they are still live. Use this when someone asks whether a name is taken, available, or safe to register.

입력 스키마

{
  "type": "object",
  "properties": {
    "mark": {
      "type": "string",
      "description": "The brand name to check.",
      "maxLength": 60
    },
    "classes": {
      "type": "array",
      "items": {
        "type": "integer",
        "minimum": 1,
        "maximum": 45
      },
      "description": "Nice class numbers, 1 to 45. Call suggest_classes first when the user has not named them.",
      "maxItems": 6
    }
  },
  "required": [
    "mark",
    "classes"
  ]
}

출력 스키마

{
  "type": "object",
  "properties": {
    "job_id": {
      "type": "string"
    },
    "status": {
      "type": "string",
      "description": "complete, failed, or a running stage."
    },
    "results_url": {
      "type": "string"
    },
    "pdf_url": {
      "type": "string"
    },
    "mark": {
      "type": "string"
    },
    "classes": {
      "type": "array",
      "items": {
        "type": "integer"
      }
    },
    "risk_score": {
      "type": "integer",
      "description": "0 to 100, higher is riskier."
    },
    "risk_band": {
      "type": "string",
      "description": "minimal, low, medium or high."
    },
    "closest_marks": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "mark": {
            "type": "string"
          },
          "similarity": {
            "type": "integer",
            "description": "0 to 100."
          },
          "status": {
            "type": "string",
            "description": "Registered, Abandoned, Cancelled, Pending and so on."
          },
          "live": {
            "type": "boolean",
            "description": "Only a live mark can be cited against a new filing."
          },
          "classes": {
            "type": "array",
            "items": {
              "type": "integer"
            }
          }
        }
      }
    }
  }
}
🟢check_logo(image, brand_name)

Compares a logo image against the registered logos on the U.S. and international registers, three ways: the shape of the image, what the image depicts, and the wording inside it. Each match comes back with a similarity score, how it matched, and whether the registration is still live. Use this when someone shares artwork and asks whether it clashes with an existing mark. The search takes a minute or two, so this returns a job id to read back with get_result.

입력 스키마

{
  "type": "object",
  "properties": {
    "image": {
      "type": "object",
      "description": "The logo image file.",
      "properties": {
        "download_url": {
          "type": "string"
        },
        "file_id": {
          "type": "string"
        },
        "mime_type": {
          "type": "string"
        },
        "file_name": {
          "type": "string"
        }
      },
      "required": [
        "download_url",
        "file_id"
      ]
    },
    "brand_name": {
      "type": "string",
      "description": "The wording in the logo, if known. Sharpens the text match.",
      "maxLength": 120
    }
  },
  "required": [
    "image"
  ]
}

출력 스키마

{
  "type": "object",
  "properties": {
    "job_id": {
      "type": "string"
    },
    "status": {
      "type": "string",
      "description": "complete, failed, or a running stage."
    },
    "results_url": {
      "type": "string"
    },
    "pdf_url": {
      "type": "string"
    },
    "wording_read_from_logo": {
      "type": "string"
    },
    "match_count": {
      "type": "integer"
    },
    "closest_matches": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "mark": {
            "type": "string",
            "description": "Wording in the registered logo, empty when it is purely graphic."
          },
          "similarity": {
            "type": "integer",
            "description": "0 to 100."
          },
          "strength": {
            "type": "string",
            "description": "identical, strong, moderate or loose."
          },
          "status": {
            "type": "string"
          },
          "live": {
            "type": "boolean"
          },
          "classes": {
            "type": "array",
            "items": {
              "type": "integer"
            }
          },
          "filing_year": {
            "type": "integer"
          },
          "serial": {
            "type": "string"
          },
          "matched_on": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "phash (image shape), clip (what it depicts), text (wording)."
          },
          "image_url": {
            "type": "string"
          },
          "record_url": {
            "type": "string"
          }
        }
      }
    }
  }
}
🟢suggest_classes(description)

Maps a plain description of what a business sells onto the Nice classes a trademark filing would need. Call this before check_name whenever the user has not given class numbers.

입력 스키마

{
  "type": "object",
  "properties": {
    "description": {
      "type": "string",
      "description": "What the business sells, in plain words.",
      "maxLength": 300
    }
  },
  "required": [
    "description"
  ]
}

출력 스키마

{
  "type": "object",
  "properties": {
    "suggested_classes": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer"
          },
          "name": {
            "type": "string"
          }
        }
      }
    },
    "matched_lines_of_business": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "label": {
            "type": "string"
          },
          "classes": {
            "type": "array",
            "items": {
              "type": "integer"
            }
          }
        }
      }
    },
    "all_lines_of_business": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "label": {
            "type": "string"
          },
          "classes": {
            "type": "array",
            "items": {
              "type": "integer"
            }
          }
        }
      }
    }
  }
}
🟢search_international(mark, classes)

Searches WIPO Madrid System international registrations by name, showing for each one the countries it was designated in and the countries that refused it. Use this for questions about protecting a name abroad.

입력 스키마

{
  "type": "object",
  "properties": {
    "mark": {
      "type": "string",
      "maxLength": 100
    },
    "classes": {
      "type": "array",
      "items": {
        "type": "integer",
        "minimum": 1,
        "maximum": 45
      },
      "maxItems": 6
    }
  },
  "required": [
    "mark"
  ]
}

출력 스키마

{
  "type": "object",
  "properties": {
    "query": {
      "type": "object"
    },
    "full_search": {
      "type": "string"
    },
    "results": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "mark": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "owner": {
            "type": "string"
          },
          "classes": {
            "type": "array",
            "items": {
              "type": "integer"
            }
          },
          "designated": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "refused_in": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "similarity": {
            "type": "integer"
          },
          "record": {
            "type": "string"
          }
        }
      }
    }
  }
}
🟢get_result(job_id)

Returns the current state of a check started earlier, using the job id it gave you. Call it again after a short wait while the status is still running.

입력 스키마

{
  "type": "object",
  "properties": {
    "job_id": {
      "type": "string",
      "maxLength": 40
    }
  },
  "required": [
    "job_id"
  ]
}

출력 스키마

{
  "type": "object",
  "properties": {
    "job_id": {
      "type": "string"
    },
    "status": {
      "type": "string",
      "description": "complete, failed, or a running stage."
    },
    "results_url": {
      "type": "string"
    },
    "pdf_url": {
      "type": "string"
    }
  }
}

커뮤니티

이 서버 평가하기

증거

최근 관측

검증됨버전이 기록되지 않음도구 6개