Likeness clearance and identity license terms for a named person. A listing is never permission.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Start here when anyone asks whether a real person's name, image or likeness can be used — in an ad, a campaign, generated media or a contract. Checks whether that person has publicly declared how their likeness may be used on WEIR AI. Required: name (full name, at least 3 characters). Returns status blocked, protect, earn (licensable), open, or no_public_declaration, plus terms_url when a public license matches. Private licenses always return no_public_declaration, so this never reveals whether someone is a member. no_public_declaration is not permission. To browse who is licensable rather than check one named person, use search_catalog. [Public, no account needed]
The person's full name.
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
Run in a terminal
claude mcp add --transport http weir-ai https://wapi.weir.ai/mcp
Start here when anyone asks whether a real person's name, image or likeness can be used — in an ad, a campaign, generated media or a contract. Checks whether that person has publicly declared how their likeness may be used on WEIR AI. Required: name (full name, at least 3 characters). Returns status blocked, protect, earn (licensable), open, or no_public_declaration, plus terms_url when a public license matches. Private licenses always return no_public_declaration, so this never reveals whether someone is a member. no_public_declaration is not permission. To browse who is licensable rather than check one named person, use search_catalog. [Public, no account needed]
| Argument | Type | Description |
|---|---|---|
| name* | string | The person's full name. |
{
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"maxLength": 120,
"minLength": 3,
"description": "The person's full name."
}
},
"additionalProperties": false
}Read WEIR AI's public discovery document (public endpoints, base URL, rate limits). Use when you need to learn the API surface; for licensing questions use search_catalog instead. [Public, no account needed]
No arguments.
{
"type": "object",
"properties": {},
"additionalProperties": false
}Get full detail of a license the connected account can access, by external_id. Use for the owner's own records; for the public catalog use get_public_license. Licenses the account can't access return NOT_FOUND_OR_NOT_PUBLIC. Needs license:read. [Needs a connected WEIR AI account; scope license:read]
| Argument | Type | Description |
|---|---|---|
| external_id* | string | Public external_id of the license. |
{
"type": "object",
"required": [
"external_id"
],
"properties": {
"external_id": {
"type": "string",
"description": "Public external_id of the license."
}
},
"additionalProperties": false
}Retrieve the public status, license category, available terms information, and terms link for a specific public WEIR license ID (e.g. WRT2TVR2A). Returns found:false with code NOT_FOUND_OR_NOT_PUBLIC when the ID is private or doesn't exist; that never reveals whether a private license exists and is never permission. Next step: share terms_url so the person can review the terms on WEIR AI; any licensing decision is made by the person there. [Public, no account needed]
| Argument | Type | Description |
|---|---|---|
| external_id* | string | Public external_id from search_catalog (e.g. WRT3E0FAY). |
{
"type": "object",
"required": [
"external_id"
],
"properties": {
"external_id": {
"type": "string",
"description": "Public external_id from search_catalog (e.g. WRT3E0FAY)."
}
},
"additionalProperties": false
}Check whether the WEIR AI API is up. Use only when a call fails and you need to tell the user if WEIR AI is down. Returns {status, version, timestamp}. [Public, no account needed]
No arguments.
{
"type": "object",
"properties": {},
"additionalProperties": false
}Explain WEIR AI's license types (open, earn, protect, blocked) in plain English. Use before explaining catalog results or when the user asks what a type allows. [Public, no account needed]
No arguments.
{
"type": "object",
"properties": {},
"additionalProperties": false
}Retrieve detected mentions for a license the connected user is authorized to monitor. Detection is not proof of infringement. Use the external_id already named in the conversation (e.g. from get_public_license); don't ask the user to repeat it. Returns rows with source link, date, type and status, ready for a table. Optional page, per_page 1-100. Needs mention:read; if AUTHENTICATION_REQUIRED, explain WEIR AI needs account authorization, then retry the same request once connected. [Needs a connected WEIR AI account; scope mention:read]
| Argument | Type | Description |
|---|---|---|
| page | integer | |
| per_page | integer | |
| external_id* | string | external_id of a license from list_licenses. |
{
"type": "object",
"required": [
"external_id"
],
"properties": {
"page": {
"type": "integer",
"default": 1,
"minimum": 1
},
"per_page": {
"type": "integer",
"default": 20,
"maximum": 100,
"minimum": 1
},
"external_id": {
"type": "string",
"description": "external_id of a license from list_licenses."
}
},
"additionalProperties": false
}List licenses the connected WEIR AI account owns or manages (including roster clients the account is permitted to see). Use for 'my licenses' or as the first step of monitoring. Optional page, per_page 1-100. Needs a connected WEIR AI account with license:read; if it returns AUTHENTICATION_REQUIRED, tell the user WEIR AI needs account authorization through their assistant's connection settings. [Needs a connected WEIR AI account; scope license:read]
| Argument | Type | Description |
|---|---|---|
| page | integer | |
| per_page | integer |
{
"type": "object",
"properties": {
"page": {
"type": "integer",
"default": 1,
"minimum": 1
},
"per_page": {
"type": "integer",
"default": 20,
"maximum": 100,
"minimum": 1
}
},
"additionalProperties": false
}Search publicly discoverable WEIR AI identity licenses. Use when a user wants to find publicly listed likeness licensing options (e.g. for a campaign). Returns entries with license type, verification status and terms_url for reading the rights holder's published terms. Optional: search (text), license_type, limit 1-100, offset. 'Anonymous' names are a rights-holder privacy choice. Search results do not establish permission. Next step: get_public_license for one entry. To check one named person's clearance, use check_identity instead. [Public, no account needed]
| Argument | Type | Description |
|---|---|---|
| limit | integer | |
| offset | integer | |
| search | string | Free-text search over names and license titles. |
| license_type | string | Filter by license type. Call license_types to learn what each means. |
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"default": 20,
"maximum": 100,
"minimum": 1
},
"offset": {
"type": "integer",
"default": 0,
"minimum": 0
},
"search": {
"type": "string",
"description": "Free-text search over names and license titles."
},
"license_type": {
"enum": [
"open",
"earn",
"protect",
"blocked"
],
"type": "string",
"description": "Filter by license type. Call license_types to learn what each means."
}
},
"additionalProperties": false
}Search WEIR AI's supported web and social media sources for potential mentions associated with a person's name. The person does not need an existing WEIR identity or license. Results are candidate matches, not verified identification or evidence of infringement. Required: name (a person's full name; the same name checks as weir.ai/search apply). Optional: limit 1-50. When the user has connected their WEIR AI account, results follow their own plan; without a connection some results are hidden (redacted:true). Give the user results_url to see what their plan allows. Never claim a match is the person. [Public, no account needed]
| Argument | Type | Description |
|---|---|---|
| name* | string | The person's full name, e.g. 'Jane Doe'. |
| limit | integer |
{
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"description": "The person's full name, e.g. 'Jane Doe'."
},
"limit": {
"type": "integer",
"default": 20,
"maximum": 50,
"minimum": 1
}
},
"additionalProperties": false
}We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Nov 8, 2026.