citation-tracker
Checks whether AI search engines cite your domain for a prompt. From $0.15/call via x402 or Stripe.
Sollte ich dies verwenden
Qualität und Sicherheit
Befunde (4)
- LOWin citation_tracker_check_perplexity
- LOWin citation_tracker_shortlist_gate
- LOWin citation_tracker_monitor_status
- LOWin citation_tracker_monitor_cancel
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.
Installieren
Installation mit einem Klick
Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:
{
"mcpServers": {
"citation-tracker": {
"url": "https://citation-tracker.pixelcove.co/mcp"
}
}
}Remote-Endpunkte
https://citation-tracker.pixelcove.co/mcpstreamable-httpWas es kann
Tool-Inventar
Tools (8)
🟢citation_tracker_check(prompt, engines, targets)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"prompt": {
"type": "string",
"minLength": 1,
"maxLength": 4000,
"description": "The prompt to send to the search assistant(s), verbatim. 1 to 4000 characters."
},
"engines": {
"type": "array",
"items": {
"type": "string",
"enum": [
"perplexity",
"openai",
"anthropic",
"gemini"
]
},
"minItems": 1,
"maxItems": 4,
"uniqueItems": true,
"description": "1 to 4 distinct engines to check, from perplexity, openai, anthropic, gemini."
},
"targets": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 253,
"pattern": "^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\\.)+[a-z]{2,63}$",
"description": "A normalized domain, e.g. example.com (no scheme, no path, no whitespace, lowercase)."
},
"minItems": 1,
"maxItems": 10,
"description": "1 to 10 target domains to check for a citation."
}
},
"required": [
"prompt",
"engines",
"targets"
],
"additionalProperties": false
}🟢citation_tracker_check_one(prompt, engines, targets)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"prompt": {
"type": "string",
"minLength": 1,
"maxLength": 4000,
"description": "The prompt to send to the search assistant(s), verbatim. 1 to 4000 characters."
},
"engines": {
"type": "array",
"items": {
"type": "string",
"enum": [
"perplexity",
"openai",
"gemini"
]
},
"minItems": 1,
"maxItems": 1,
"description": "Exactly one engine: perplexity, openai, or gemini."
},
"targets": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 253,
"pattern": "^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\\.)+[a-z]{2,63}$",
"description": "A normalized domain, e.g. example.com (no scheme, no path, no whitespace, lowercase)."
},
"minItems": 1,
"maxItems": 10,
"description": "1 to 10 target domains to check for a citation."
}
},
"required": [
"prompt",
"engines",
"targets"
],
"additionalProperties": false
}🟢citation_tracker_check_perplexity(prompt, targets)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"prompt": {
"type": "string",
"minLength": 1,
"maxLength": 4000,
"description": "The prompt to send to the search assistant(s), verbatim. 1 to 4000 characters."
},
"targets": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 253,
"pattern": "^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\\.)+[a-z]{2,63}$",
"description": "A normalized domain, e.g. example.com (no scheme, no path, no whitespace, lowercase)."
},
"minItems": 1,
"maxItems": 10,
"description": "1 to 10 target domains to check for a citation."
}
},
"required": [
"prompt",
"targets"
],
"additionalProperties": false
}🟢citation_tracker_shortlist_gate(prompt, brand_terms, product_terms)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"prompt": {
"type": "string",
"minLength": 1,
"maxLength": 4000,
"description": "The prompt to send to the search assistant(s), verbatim. 1 to 4000 characters."
},
"brand_terms": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"minItems": 1,
"maxItems": 20,
"description": "1 to 20 brand terms to look for in the first search query."
},
"product_terms": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"minItems": 0,
"maxItems": 50,
"default": [],
"description": "0 to 50 product terms to look for in the first search query."
}
},
"required": [
"prompt",
"brand_terms"
],
"additionalProperties": false
}🔴citation_tracker_monitor_7(prompt, targets, engines, cadence)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"prompt": {
"type": "string",
"minLength": 1,
"maxLength": 4000,
"description": "The prompt to send to the search assistant(s), verbatim. 1 to 4000 characters."
},
"targets": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 253,
"pattern": "^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\\.)+[a-z]{2,63}$",
"description": "A normalized domain, e.g. example.com (no scheme, no path, no whitespace, lowercase)."
},
"minItems": 1,
"maxItems": 10,
"description": "1 to 10 target domains to check for a citation."
},
"engines": {
"type": "array",
"items": {
"type": "string",
"enum": [
"perplexity",
"openai",
"anthropic",
"gemini"
]
},
"minItems": 1,
"maxItems": 4,
"uniqueItems": true,
"description": "1 to 4 search assistants to run on every check."
},
"cadence": {
"type": "string",
"enum": [
"daily",
"weekly"
],
"description": "How often to re-run the check."
}
},
"required": [
"prompt",
"targets",
"engines",
"cadence"
],
"additionalProperties": false
}🔴citation_tracker_monitor_30(prompt, targets, engines, cadence)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"prompt": {
"type": "string",
"minLength": 1,
"maxLength": 4000,
"description": "The prompt to send to the search assistant(s), verbatim. 1 to 4000 characters."
},
"targets": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 253,
"pattern": "^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\\.)+[a-z]{2,63}$",
"description": "A normalized domain, e.g. example.com (no scheme, no path, no whitespace, lowercase)."
},
"minItems": 1,
"maxItems": 10,
"description": "1 to 10 target domains to check for a citation."
},
"engines": {
"type": "array",
"items": {
"type": "string",
"enum": [
"perplexity",
"openai",
"anthropic",
"gemini"
]
},
"minItems": 1,
"maxItems": 4,
"uniqueItems": true,
"description": "1 to 4 search assistants to run on every check."
},
"cadence": {
"type": "string",
"enum": [
"daily",
"weekly"
],
"description": "How often to re-run the check."
}
},
"required": [
"prompt",
"targets",
"engines",
"cadence"
],
"additionalProperties": false
}🟢citation_tracker_monitor_status(monitor_id)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"monitor_id": {
"type": "string",
"minLength": 8,
"maxLength": 64,
"pattern": "^ctm_[A-Za-z0-9_-]+$",
"description": "The monitor id returned by citation_tracker_monitor_7 or _30. It is the only credential; keep it."
}
},
"required": [
"monitor_id"
],
"additionalProperties": false
}🔴citation_tracker_monitor_cancel(monitor_id)
Stops a monitor and deletes its prompt, domains and results. Unused runs are not refunded. Free. Needs the monitor_id.
Eingabe-Schema
{
"type": "object",
"properties": {
"monitor_id": {
"type": "string",
"minLength": 8,
"maxLength": 64,
"pattern": "^ctm_[A-Za-z0-9_-]+$",
"description": "The monitor id returned by citation_tracker_monitor_7 or _30. It is the only credential; keep it."
}
},
"required": [
"monitor_id"
],
"additionalProperties": false
}Community
Nachweis