Find products & standards using a patent - verified targets for licensing or enforcement.
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.
Generate an AI Hit Chart for a specific target (product or standard) from a previous search. A Hit Chart maps patent claim elements to product features element-by-element with evidence. SPENDS 1 CHART CREDIT and asks first: the initial call returns a quote naming the target it matched and runs nothing, and the chart is generated only when you call again with confirm: true after the user agrees. Use this when the user asks to chart, map claims, or analyse a specific target in detail.
The search ID from a previous claimhit_search
The exact name of the product or standard to chart e.g. "Samsung Galaxy S25" or "5G NR Release 17"
Set true only after showing the user the quote from the unconfirmed call and getting their agreement. Without it, nothing is run and nothing is charged.
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Generate an AI Hit Chart for a specific target (product or standard) from a previous search. A Hit Chart maps patent claim elements to product features element-by-element with evidence. SPENDS 1 CHART CREDIT and asks first: the initial call returns a quote naming the target it matched and runs nothing, and the chart is generated only when you call again with confirm: true after the user agrees. Use this when the user asks to chart, map claims, or analyse a specific target in detail.
| Argument | Type | Description |
|---|---|---|
| confirm | boolean | Set true only after showing the user the quote from the unconfirmed call and getting their agreement. Without it, nothing is run and nothing is charged. |
| search_id* | string | The search ID from a previous claimhit_search |
| target_name* | string | The exact name of the product or standard to chart e.g. "Samsung Galaxy S25" or "5G NR Release 17" |
{
"type": "object",
"required": [
"search_id",
"target_name"
],
"properties": {
"confirm": {
"type": "boolean",
"default": false,
"description": "Set true only after showing the user the quote from the unconfirmed call and getting their agreement. Without it, nothing is run and nothing is charged."
},
"search_id": {
"type": "string",
"description": "The search ID from a previous claimhit_search"
},
"target_name": {
"type": "string",
"description": "The exact name of the product or standard to chart e.g. \"Samsung Galaxy S25\" or \"5G NR Release 17\""
}
}
}Check how many search credits and chart credits the user has remaining.
No arguments.
{
"type": "object",
"required": [],
"properties": {}
}Get the user's recent patent scans. Returns patent numbers, dates, and top results from past searches.
| Argument | Type | Description |
|---|---|---|
| limit | number | Number of recent searches to return (default 5, max 20) |
{
"type": "object",
"required": [],
"properties": {
"limit": {
"type": "number",
"default": 5,
"description": "Number of recent searches to return (default 5, max 20)"
}
}
}Get results from a previous ClaimHit search by search ID, and narrow, sort and page through them. FREE and unlimited: every call is a view over results already paid for, so filter and re-read as much as the conversation needs. A search completes in phases: check the returned `status` field and call again if it is RUNNING, because background enrichment keeps finding additional implementers for several minutes after the first results appear. Only present results as final when status is COMPLETE. Results are paged — if the response carries a `more` field, there are further matches and you must not present the page you have as the complete list.
| Argument | Type | Description |
|---|---|---|
| risk | array | Risk bands to return. Omit for the default list (HIGH and MEDIUM, plus any target found via forward citations and any product the user named). Pass ["LOW"] to see the low-confidence leads, which are excluded by default. |
| sort | string | default = the same order the ClaimHit app shows (documented evidence coverage, then company size); score = Hit Score highest first; name = alphabetical. |
| limit | number | Targets per page (default 25, max 100). |
| query | string | Only return targets whose name, company or description contains this text, case-insensitive. Use for narrowing by technology or market words. |
| detail | string | full adds the per-element scores, the evidence source and the stored evidence passages for each target — use it when asked why something scored as it did. Reading evidence is free; a Hit Chart is the paid, element-by-element analysis. |
Look again at one target from a search. Given a vague or wrong target and what the user wants instead — a specific model ("the S25 Ultra"), a version ("the latest one"), or a capability or market ("one with hardware AV1 encode", "a Chinese vendor doing the same thing") — returns up to 5 real, current products with a reason for each, grounded in a live web search. FREE: no credit is taken. Use it before charting, to chart the right thing. It refines one row; to screen a whole market for a patent, use claimhit_search.
| Argument | Type | Description |
|---|---|---|
| search_id* | string | The search the target came from. Used for the patent context and so the options exclude what is already in the results. |
| instruction* | string | What the user wants instead, in their own words: a product name, a version ("the newest"), or a capability, constraint or market ("supports PCIe 5.0", "automotive-grade", "a European vendor"). |
| product_name | string | The target currently being looked at, e.g. "Samsung Galaxy" — the thing to refine away from. |
{
"type": "object",
"required": [
"search_id",
"instruction"
],
"properties": {
"search_id": {
"type": "string",
"description": "The search the target came from. Used for the patent context and so the options exclude what is already in the results."
},
"instruction": {
"type": "string",
"description": "What the user wants instead, in their own words: a product name, a version (\"the newest\"), or a capability, constraint or market (\"supports PCIe 5.0\", \"automotive-grade\", \"a European vendor\")."
},
"product_name": {
"type": "string",
"description": "The target currently being looked at, e.g. \"Samsung Galaxy\" — the thing to refine away from."
}
}
}Re-run a previous patent search to get fresh results, repeating the inputs that steered it — the company scope, the hint, named products, markets, company sizes and the named standard. Free within 6 months of the original search, 1 search credit after that. Asks first either way: the initial call returns a quote listing the inputs it will repeat and whether it is free, and runs nothing until you call again with confirm: true. To narrow or re-read the results you already have, use claimhit_get_result instead — that is free and does not start a new search.
| Argument | Type | Description |
|---|---|---|
| widen | boolean | Drop the original company scope and search the whole market. Default false, which repeats the original scope. Use when the first search was scoped to named companies and found too little. |
| confirm | boolean | Set true only after showing the user the quote from the unconfirmed call and getting their agreement. Without it, nothing is run and nothing is charged. |
| search_id* | string | The search ID of the previous search to re-run |
{
"type": "object",
"required": [
"search_id"
],
"properties": {
"widen": {
"type": "boolean",
"description": "Drop the original company scope and search the whole market. Default false, which repeats the original scope. Use when the first search was scoped to named companies and found too little."
},
"confirm": {
"type": "boolean",
"default": false,
"description": "Set true only after showing the user the quote from the unconfirmed call and getting their agreement. Without it, nothing is run and nothing is charged."
},
"search_id": {
"type": "string",
"description": "The search ID of the previous search to re-run"
}
}
}Search for products or technical standards that potentially infringe a given patent. Runs multiple AI models in parallel and returns ranked results with Hit Scores. Use this when asked to find infringers, check infringement, or screen a patent.
| Argument | Type | Description |
|---|---|---|
| mode | string | What to search: products (default), standards (SEP/FRAND analysis), or both |
| user_context | string | Optional: additional hints to guide the search. E.g. "focus on automotive camera systems", "look for semiconductor companies", "prioritise claim 3 which covers the image stabilization feature". Passed to all AI models in the ensemble. |
| patent_number* | string | Patent number with kind code. Example: US10123456B2 or EP3456789B1 or WO2020123456A1 |
| target_standard | string | Optional: specific standard to focus on e.g. "5G NR", "Wi-Fi 6", "HEVC" |
{
"type": "object",
"required": [
"patent_number"
],
"properties": {
"mode": {
"enum": [
"products",
"standards",
"both"
],
"type": "string",
"default": "products",
"description": "What to search: products (default), standards (SEP/FRAND analysis), or both"
},
"user_context": {
"type": "string",
"description": "Optional: additional hints to guide the search. E.g. \"focus on automotive camera systems\", \"look for semiconductor companies\", \"prioritise claim 3 which covers the image stabilization feature\". Passed to all AI models in the ensemble."
},
"patent_number": {
"type": "string",
"description": "Patent number with kind code. Example: US10123456B2 or EP3456789B1 or WO2020123456A1"
},
"target_standard": {
"type": "string",
"description": "Optional: specific standard to focus on e.g. \"5G NR\", \"Wi-Fi 6\", \"HEVC\""
}
}
}| offset | number | Skip this many matching targets. Use the offset the previous response's `more` field tells you, to page through the whole list. |
| company | string | Only return targets whose company (or standards body) contains this text, case-insensitive. E.g. "Bosch", "Samsung". |
| search_id* | string | The search ID returned from claimhit_search or claimhit_get_history |
| owner_practice | string | How to treat rows where the PATENT OWNER (or a company in its group) appears to practise its own claim — they are flagged `practised_by_the_owner` and are never counted as infringers. include (default) keeps them, exclude gives a third-party-only list, only answers "does the owner work this claim" on its own. |
| include_held_low | boolean | Also return candidates held back for re-verification (not findings yet, flagged held_low). Default false. |
{
"type": "object",
"required": [
"search_id"
],
"properties": {
"risk": {
"type": "array",
"items": {
"enum": [
"HIGH",
"MEDIUM",
"LOW"
],
"type": "string"
},
"description": "Risk bands to return. Omit for the default list (HIGH and MEDIUM, plus any target found via forward citations and any product the user named). Pass [\"LOW\"] to see the low-confidence leads, which are excluded by default."
},
"sort": {
"enum": [
"default",
"score",
"name"
],
"type": "string",
"default": "default",
"description": "default = the same order the ClaimHit app shows (documented evidence coverage, then company size); score = Hit Score highest first; name = alphabetical."
},
"limit": {
"type": "number",
"default": 25,
"description": "Targets per page (default 25, max 100)."
},
"query": {
"type": "string",
"description": "Only return targets whose name, company or description contains this text, case-insensitive. Use for narrowing by technology or market words."
},
"detail": {
"enum": [
"summary",
"full"
],
"type": "string",
"default": "summary",
"description": "full adds the per-element scores, the evidence source and the stored evidence passages for each target — use it when asked why something scored as it did. Reading evidence is free; a Hit Chart is the paid, element-by-element analysis."
},
"offset": {
"type": "number",
"default": 0,
"description": "Skip this many matching targets. Use the offset the previous response's `more` field tells you, to page through the whole list."
},
"company": {
"type": "string",
"description": "Only return targets whose company (or standards body) contains this text, case-insensitive. E.g. \"Bosch\", \"Samsung\"."
},
"search_id": {
"type": "string",
"description": "The search ID returned from claimhit_search or claimhit_get_history"
},
"owner_practice": {
"enum": [
"include",
"only",
"exclude"
],
"type": "string",
"default": "include",
"description": "How to treat rows where the PATENT OWNER (or a company in its group) appears to practise its own claim — they are flagged `practised_by_the_owner` and are never counted as infringers. include (default) keeps them, exclude gives a third-party-only list, only answers \"does the owner work this claim\" on its own."
},
"include_held_low": {
"type": "boolean",
"description": "Also return candidates held back for re-verification (not findings yet, flagged held_low). Default false."
}
}
}