Koskamo

WEIR AI MCP

An official Model Context Protocol server provided by WEIR AI that allows AI agents to interact with the WEIR identity rights platform. It enables users to search for digital licenses for names, images, and likenesses, check usage rights, view detected mentions, and manage webhooks through standardized tool calls.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

WEIR AI MCP logo, by WEIR AIVendor evidenceStreamable HTTPNo sign-inEndpoint checked 2026-11-08Operated by WEIR AI
MCP endpoint (Streamable HTTP)
https://wapi.weir.ai/mcp
Vendor documentation

What its tools do

10 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.

10 of 10 have a description · 10 of 10 declare behavior hints · 3 of 7 with parameters document them all

Checks and signals

Each line is separate evidence, not a trust score.

  • Passed Endpoint answered the live check ·
  • Passed Official MCP Registry namespace is tied to weir.ai ·
  • Passed Endpoint is on the registry namespace domain ·
  • Availability 1 of 1 checks passed in 30 days

What you can do with it

  • Search the public catalog for available identity licenses
  • Check if a specific person's likeness is cleared for use
  • List licenses owned or accessible by the authenticated user
  • Manage webhook subscriptions for license events

Source and maintenance

Vendor evidenceRegistry 1.3.1

Protocol and capabilities

Server
weir-ai-mcp 1.3.0
MCP protocol negotiated in check
2025-03-26
Tools
10 advertised
Resources
Not advertised
Resource templates
Not advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": false
  }
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

WEIR AI is an identity-rights platform: people register their name, image, and likeness (NIL) and assign a license type that controls how others may use it. License types you will see in the catalog: - open: free to use, often with attribution. - earn: paid commercial license — the rights holder offers licensing; the person reviews it on WEIR AI via terms_url. - protect: actively monitored; commercial use is discouraged and may trigger takedowns. - blocked: no use permitted. Call the license_types tool any time you need to remind the user what a type means. Reading catalog results: - display_name = "Anonymous" is a deliberate privacy choice by the rights holder, NOT missing data. Do not flag it as a quality issue. - is_verified refers to identity verification of the rights holder, not whether the listing is real. - Lead with terms_url and verification_status; self_declared entries are claims, not verified grants. Suggested flow: 0. Is a named person's likeness usable? Start with check_identity. 1. Use search_catalog (public) to discover what is licensable. 2. Use get_public_license to drill into a single entry without auth. 3. For the user's OWN licenses or mentions, use list_licenses / list_license_mentions — these need a connected WEIR AI account. 4. To look for possible mentions of any person's name (member or not), use search_mentions. Results are candidate matches only. Keep context: if a license ID is already in the conversation, reuse it; don't ask the user to repeat it. Account access: if a tool returns AUTHENTICATION_REQUIRED, say briefly that WEIR AI needs account authorization and that the user can connect their WEIR AI account through this assistant's connection settings, then retry the same request once connected. Never ask the user to paste passwords, API keys or tokens into the chat. Reference images are biometric and are not available through assistant connections. Say so plainly; it is not a sign-in failure. Never store or redistribute biometric/reference images. Licensing decisions are made by the person on WEIR AI. Permission rules: a catalog listing, a missing listing, or a missing field is never permission to use an identity. Finding a license is not permission to use the identity; only the license terms and a completed WEIR AI licensing step grant rights. Mentions are detections to review, not confirmed infringement. Only the human user may do these, in WEIR AI itself: purchases and payments, identity verification, biometric enrollment, payouts, legal notices, takedown or enforcement submissions, claims. Tools that change data (create_bookmark, create_webhook, delete_webhook) run only on the key owner's explicit request. Agent guide: https://weir.ai/skills/weir-ai/SKILL.md

Tools

10 advertised

health — Check API health
Advertised by the server during the last successful anonymous check.
Advertised read-only

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]

health input schema
{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
health annotations
{
  "title": "Check API health",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
discovery — Read service discovery
Advertised by the server during the last successful anonymous check.
Advertised read-only

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]

discovery input schema
{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
discovery annotations
{
  "title": "Read service discovery",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
license_types — Explain license types
Advertised by the server during the last successful anonymous check.
Advertised read-only

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]

license_types input schema
{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
license_types annotations
{
  "title": "Explain license types",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
search_catalog — Search public license catalog
Advertised by the server during the last successful anonymous check.
Advertised read-only

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]

search_catalog input schema
{
  "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_catalog annotations
{
  "title": "Search public license catalog",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
check_identity — Check likeness clearance for a name
Advertised by the server during the last successful anonymous check.
Advertised read-only

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]

check_identity input schema
{
  "type": "object",
  "required": [
    "name"
  ],
  "properties": {
    "name": {
      "type": "string",
      "maxLength": 120,
      "minLength": 3,
      "description": "The person's full name."
    }
  },
  "additionalProperties": false
}
check_identity annotations
{
  "title": "Check likeness clearance for a name",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_public_license — Get one public license
Advertised by the server during the last successful anonymous check.
Advertised read-only

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]

get_public_license input schema
{
  "type": "object",
  "required": [
    "external_id"
  ],
  "properties": {
    "external_id": {
      "type": "string",
      "description": "Public external_id from search_catalog (e.g. WRT3E0FAY)."
    }
  },
  "additionalProperties": false
}
get_public_license annotations
{
  "title": "Get one public license",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
search_mentions — Search possible mentions of a name
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

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]

search_mentions input schema
{
  "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
}
search_mentions annotations
{
  "title": "Search possible mentions of a name",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
list_licenses — List my licenses
Advertised by the server during the last successful anonymous check.
Advertised read-only

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]

list_licenses input schema
{
  "type": "object",
  "properties": {
    "page": {
      "type": "integer",
      "default": 1,
      "minimum": 1
    },
    "per_page": {
      "type": "integer",
      "default": 20,
      "maximum": 100,
      "minimum": 1
    }
  },
  "additionalProperties": false
}
list_licenses annotations
{
  "title": "List my licenses",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_license — Get my license
Advertised by the server during the last successful anonymous check.
Advertised read-only

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]

get_license input schema
{
  "type": "object",
  "required": [
    "external_id"
  ],
  "properties": {
    "external_id": {
      "type": "string",
      "description": "Public external_id of the license."
    }
  },
  "additionalProperties": false
}
get_license annotations
{
  "title": "Get my license",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
list_license_mentions — List detected mentions
Advertised by the server during the last successful anonymous check.
Advertised read-only

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]

list_license_mentions input schema
{
  "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_license_mentions annotations
{
  "title": "List detected mentions",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}

Prompts

Not advertised

No prompt definitions available.

Resources

Not advertised

No resource definitions available.

90-day uptime

A lightweight connection check about every six hours, sampled on hosts with many listings. It shows the server answered, not that its tools work.

Too few checks for a percentage yet (4 of 4 answered).

  1. 2026-11-09: 2 of 2 checks answered
  2. 2026-11-10: 2 of 2 checks answered

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
4451 ms
95th percentile latency
4451 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 4451 ms · metadata changed · 10 tool(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http weir-ai-mcp https://wapi.weir.ai/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add weir-ai-mcp --url https://wapi.weir.ai/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable weir-ai-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "weir-ai-mcp": {
      "url": "https://wapi.weir.ai/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "weir-ai-mcp": {
      "type": "streamableHttp",
      "url": "https://wapi.weir.ai/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start weir-ai-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "weir-ai-mcp": {
      "type": "http",
      "url": "https://wapi.weir.ai/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http weir-ai-mcp https://wapi.weir.ai/mcp

Claude Desktop

Open Claude Settings > Connectors > Add custom connector, enter this server URL and enable it for the conversation. This is a manual remote-connector handoff, not a desktop JSON configuration.
Claude Desktop configuration
https://wapi.weir.ai/mcp

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "weir-ai-mcp": {
      "serverUrl": "https://wapi.weir.ai/mcp"
    }
  }
}

Let your agent find its tools

Find servers like WEIR AI MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.

Do you run WEIR AI MCP?

Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.

Claim this listing