Server definition
- Hash
- sha256:e81bbfc5477083e48d63cdfc19aa9642b09b8252002fab18a0205f94244de500
- What it is
- What a remote MCP server returned when asked what it offers: 8 tools
The blob, as servednamed by its sha256
{
"instructions": "Checks whether current AI search assistants (Perplexity, ChatGPT, Claude, Gemini) cite your target domains for a prompt, and whether ChatGPT's first search names your brand. A GEO/AEO visibility check, not a rank tracker.",
"tools": [
{
"description": "Sends one prompt to 1 to 4 search assistants (Perplexity, OpenAI, Anthropic, Gemini) and reports whether each cites your target domains: cited status, citation count, cited domains, model, and a structured error per engine. Started concurrently; a failed engine returns `cited: null` and does not block the others (PD7). Paid, $0.75/call; read-only and safe to retry.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"engines": {
"description": "1 to 4 distinct engines to check, from perplexity, openai, anthropic, gemini.",
"items": {
"enum": [
"perplexity",
"openai",
"anthropic",
"gemini"
],
"type": "string"
},
"maxItems": 4,
"minItems": 1,
"type": "array",
"uniqueItems": true
},
"prompt": {
"description": "The prompt to send to the search assistant(s), verbatim. 1 to 4000 characters.",
"maxLength": 4000,
"minLength": 1,
"type": "string"
},
"targets": {
"description": "1 to 10 target domains to check for a citation.",
"items": {
"description": "A normalized domain, e.g. example.com (no scheme, no path, no whitespace, lowercase).",
"maxLength": 253,
"minLength": 1,
"pattern": "^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\\.)+[a-z]{2,63}$",
"type": "string"
},
"maxItems": 10,
"minItems": 1,
"type": "array"
}
},
"required": [
"prompt",
"engines",
"targets"
],
"type": "object"
},
"name": "citation_tracker_check",
"outputSchema": null
},
{
"description": "Sends one prompt to one search assistant (Perplexity, OpenAI or Gemini) and reports whether it cites your target domains: cited status, citation count, cited domains, model, and a structured error. For Claude, or several engines in one call, use citation_tracker_check. Paid, $0.15/call; read-only and safe to retry.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"engines": {
"description": "Exactly one engine: perplexity, openai, or gemini.",
"items": {
"enum": [
"perplexity",
"openai",
"gemini"
],
"type": "string"
},
"maxItems": 1,
"minItems": 1,
"type": "array"
},
"prompt": {
"description": "The prompt to send to the search assistant(s), verbatim. 1 to 4000 characters.",
"maxLength": 4000,
"minLength": 1,
"type": "string"
},
"targets": {
"description": "1 to 10 target domains to check for a citation.",
"items": {
"description": "A normalized domain, e.g. example.com (no scheme, no path, no whitespace, lowercase).",
"maxLength": 253,
"minLength": 1,
"pattern": "^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\\.)+[a-z]{2,63}$",
"type": "string"
},
"maxItems": 10,
"minItems": 1,
"type": "array"
}
},
"required": [
"prompt",
"engines",
"targets"
],
"type": "object"
},
"name": "citation_tracker_check_one",
"outputSchema": null
},
{
"description": "Sends one prompt to Perplexity (sonar) and reports whether it cites your target domains, with citation count and cited domains. Free: one call per caller and 100 calls total per UTC day; both limits fail closed. A real live evaluation before you pay for citation_tracker_check.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"prompt": {
"description": "The prompt to send to the search assistant(s), verbatim. 1 to 4000 characters.",
"maxLength": 4000,
"minLength": 1,
"type": "string"
},
"targets": {
"description": "1 to 10 target domains to check for a citation.",
"items": {
"description": "A normalized domain, e.g. example.com (no scheme, no path, no whitespace, lowercase).",
"maxLength": 253,
"minLength": 1,
"pattern": "^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\\.)+[a-z]{2,63}$",
"type": "string"
},
"maxItems": 10,
"minItems": 1,
"type": "array"
}
},
"required": [
"prompt",
"targets"
],
"type": "object"
},
"name": "citation_tracker_check_perplexity",
"outputSchema": null
},
{
"description": "Buys a monitor: 30 recurring runs of citation_tracker_check for one prompt and 1 to 10 target domains, daily or weekly. The first run happens now and is returned. Later runs are read with citation_tracker_monitor_status using the returned monitor_id (the only credential; it is not recoverable). Each run flags which target domains changed since the last run. Paid once, $18 for the term ($0.6/check); no refund of unused runs; cancel any time with citation_tracker_monitor_cancel. Retains the prompt, domains and results until 30 days after the last run or until cancelled.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cadence": {
"description": "How often to re-run the check.",
"enum": [
"daily",
"weekly"
],
"type": "string"
},
"engines": {
"description": "1 to 4 search assistants to run on every check.",
"items": {
"enum": [
"perplexity",
"openai",
"anthropic",
"gemini"
],
"type": "string"
},
"maxItems": 4,
"minItems": 1,
"type": "array",
"uniqueItems": true
},
"prompt": {
"description": "The prompt to send to the search assistant(s), verbatim. 1 to 4000 characters.",
"maxLength": 4000,
"minLength": 1,
"type": "string"
},
"targets": {
"description": "1 to 10 target domains to check for a citation.",
"items": {
"description": "A normalized domain, e.g. example.com (no scheme, no path, no whitespace, lowercase).",
"maxLength": 253,
"minLength": 1,
"pattern": "^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\\.)+[a-z]{2,63}$",
"type": "string"
},
"maxItems": 10,
"minItems": 1,
"type": "array"
}
},
"required": [
"prompt",
"targets",
"engines",
"cadence"
],
"type": "object"
},
"name": "citation_tracker_monitor_30",
"outputSchema": null
},
{
"description": "Buys a monitor: 7 recurring runs of citation_tracker_check for one prompt and 1 to 10 target domains, daily or weekly. The first run happens now and is returned. Later runs are read with citation_tracker_monitor_status using the returned monitor_id (the only credential; it is not recoverable). Each run flags which target domains changed since the last run. Paid once, $4.2 for the term ($0.6/check); no refund of unused runs; cancel any time with citation_tracker_monitor_cancel. Retains the prompt, domains and results until 30 days after the last run or until cancelled.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cadence": {
"description": "How often to re-run the check.",
"enum": [
"daily",
"weekly"
],
"type": "string"
},
"engines": {
"description": "1 to 4 search assistants to run on every check.",
"items": {
"enum": [
"perplexity",
"openai",
"anthropic",
"gemini"
],
"type": "string"
},
"maxItems": 4,
"minItems": 1,
"type": "array",
"uniqueItems": true
},
"prompt": {
"description": "The prompt to send to the search assistant(s), verbatim. 1 to 4000 characters.",
"maxLength": 4000,
"minLength": 1,
"type": "string"
},
"targets": {
"description": "1 to 10 target domains to check for a citation.",
"items": {
"description": "A normalized domain, e.g. example.com (no scheme, no path, no whitespace, lowercase).",
"maxLength": 253,
"minLength": 1,
"pattern": "^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\\.)+[a-z]{2,63}$",
"type": "string"
},
"maxItems": 10,
"minItems": 1,
"type": "array"
}
},
"required": [
"prompt",
"targets",
"engines",
"cadence"
],
"type": "object"
},
"name": "citation_tracker_monitor_7",
"outputSchema": null
},
{
"description": "Stops a monitor and deletes its prompt, domains and results. Unused runs are not refunded. Free. Needs the monitor_id.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"monitor_id": {
"description": "The monitor id returned by citation_tracker_monitor_7 or _30. It is the only credential; keep it.",
"maxLength": 64,
"minLength": 8,
"pattern": "^ctm_[A-Za-z0-9_-]+$",
"type": "string"
}
},
"required": [
"monitor_id"
],
"type": "object"
},
"name": "citation_tracker_monitor_cancel",
"outputSchema": null
},
{
"description": "Reads a monitor: remaining runs, next run time, and every run so far (most recent first) with the same per-engine rows as citation_tracker_check plus changed_since_last per target domain. Free. Needs the monitor_id.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"monitor_id": {
"description": "The monitor id returned by citation_tracker_monitor_7 or _30. It is the only credential; keep it.",
"maxLength": 64,
"minLength": 8,
"pattern": "^ctm_[A-Za-z0-9_-]+$",
"type": "string"
}
},
"required": [
"monitor_id"
],
"type": "object"
},
"name": "citation_tracker_monitor_status",
"outputSchema": null
},
{
"description": "Checks whether ChatGPT would search the web for one prompt and whether its first search query names any of your supplied brand or product terms (whole-word match). Use it to gate a prompt before spending on citation_tracker_check. Paid, $0.20/call; read-only and safe to retry.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"brand_terms": {
"description": "1 to 20 brand terms to look for in the first search query.",
"items": {
"maxLength": 100,
"minLength": 1,
"type": "string"
},
"maxItems": 20,
"minItems": 1,
"type": "array"
},
"product_terms": {
"default": [],
"description": "0 to 50 product terms to look for in the first search query.",
"items": {
"maxLength": 100,
"minLength": 1,
"type": "string"
},
"maxItems": 50,
"minItems": 0,
"type": "array"
},
"prompt": {
"description": "The prompt to send to the search assistant(s), verbatim. 1 to 4000 characters.",
"maxLength": 4000,
"minLength": 1,
"type": "string"
}
},
"required": [
"prompt",
"brand_terms"
],
"type": "object"
},
"name": "citation_tracker_shortlist_gate",
"outputSchema": null
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:e81bbfc5477083e48d63cdfc19aa9642b09b8252002fab18a0205f94244de500 | sha256sum