Serveur MCP

citation-tracker

co.pixelcove/citation-tracker
Marketing et publicité Recherche et exploration Public et accessible MCP 2025-11-25

Ce que fait ce MCP

Checks whether AI search assistants cite specified domains for prompts and supports recurring citation monitoring and web-search visibility tests.

citation_tracker_check
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.
Schéma d’entrée
{'type': 'object', 'required': ['prompt', 'engines', 'targets'], 'properties': {'prompt': {'type': 'string', 'maxLength': 4000, 'minLength': 1, 'description': 'The prompt to send to the search assistant(s), verbatim. 1 to 4000 characters.'}, 'engines': {'type': 'array', 'items': {'enum': ['perplexity', 'openai', 'anthropic', 'gemini'], 'type': 'string'}, 'maxItems': 4, 'minItems': 1, 'description': '1 to 4 distinct engines to check, from perplexity, openai, anthropic, gemini.', 'uniqueItems': True}, 'targets': {'type': 'array', 'items': {'type': 'string', 'pattern': '^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\\.)+[a-z]{2,63}$', 'maxLength': 253, 'minLength': 1, 'description': 'A normalized domain, e.g. example.com (no scheme, no path, no whitespace, lowercase).'}, 'maxItems': 10, 'minItems': 1, 'description': '1 to 10 target domains to check for a citation.'}}, 'additionalProperties': False}
citation_tracker_check_one
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.
Schéma d’entrée
{'type': 'object', 'required': ['prompt', 'engines', 'targets'], 'properties': {'prompt': {'type': 'string', 'maxLength': 4000, 'minLength': 1, 'description': 'The prompt to send to the search assistant(s), verbatim. 1 to 4000 characters.'}, 'engines': {'type': 'array', 'items': {'enum': ['perplexity', 'openai', 'gemini'], 'type': 'string'}, 'maxItems': 1, 'minItems': 1, 'description': 'Exactly one engine: perplexity, openai, or gemini.'}, 'targets': {'type': 'array', 'items': {'type': 'string', 'pattern': '^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\\.)+[a-z]{2,63}$', 'maxLength': 253, 'minLength': 1, 'description': 'A normalized domain, e.g. example.com (no scheme, no path, no whitespace, lowercase).'}, 'maxItems': 10, 'minItems': 1, 'description': '1 to 10 target domains to check for a citation.'}}, 'additionalProperties': False}
citation_tracker_check_perplexity
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.
Schéma d’entrée
{'type': 'object', 'required': ['prompt', 'targets'], 'properties': {'prompt': {'type': 'string', 'maxLength': 4000, 'minLength': 1, 'description': 'The prompt to send to the search assistant(s), verbatim. 1 to 4000 characters.'}, 'targets': {'type': 'array', 'items': {'type': 'string', 'pattern': '^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\\.)+[a-z]{2,63}$', 'maxLength': 253, 'minLength': 1, 'description': 'A normalized domain, e.g. example.com (no scheme, no path, no whitespace, lowercase).'}, 'maxItems': 10, 'minItems': 1, 'description': '1 to 10 target domains to check for a citation.'}}, 'additionalProperties': False}
citation_tracker_monitor_30
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.
Schéma d’entrée
{'type': 'object', 'required': ['prompt', 'targets', 'engines', 'cadence'], 'properties': {'prompt': {'type': 'string', 'maxLength': 4000, 'minLength': 1, 'description': 'The prompt to send to the search assistant(s), verbatim. 1 to 4000 characters.'}, 'cadence': {'enum': ['daily', 'weekly'], 'type': 'string', 'description': 'How often to re-run the check.'}, 'engines': {'type': 'array', 'items': {'enum': ['perplexity', 'openai', 'anthropic', 'gemini'], 'type': 'string'}, 'maxItems': 4, 'minItems': 1, 'description': '1 to 4 search assistants to run on every check.', 'uniqueItems': True}, 'targets': {'type': 'array', 'items': {'type': 'string', 'pattern': '^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\\.)+[a-z]{2,63}$', 'maxLength': 253, 'minLength': 1, 'description': 'A normalized domain, e.g. example.com (no scheme, no path, no whitespace, lowercase).'}, 'maxItems': 10, 'minItems': 1, 'description': '1 to 10 target domains to check for a citation.'}}, 'additionalProperties': False}
citation_tracker_monitor_7
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.
Schéma d’entrée
{'type': 'object', 'required': ['prompt', 'targets', 'engines', 'cadence'], 'properties': {'prompt': {'type': 'string', 'maxLength': 4000, 'minLength': 1, 'description': 'The prompt to send to the search assistant(s), verbatim. 1 to 4000 characters.'}, 'cadence': {'enum': ['daily', 'weekly'], 'type': 'string', 'description': 'How often to re-run the check.'}, 'engines': {'type': 'array', 'items': {'enum': ['perplexity', 'openai', 'anthropic', 'gemini'], 'type': 'string'}, 'maxItems': 4, 'minItems': 1, 'description': '1 to 4 search assistants to run on every check.', 'uniqueItems': True}, 'targets': {'type': 'array', 'items': {'type': 'string', 'pattern': '^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\\.)+[a-z]{2,63}$', 'maxLength': 253, 'minLength': 1, 'description': 'A normalized domain, e.g. example.com (no scheme, no path, no whitespace, lowercase).'}, 'maxItems': 10, 'minItems': 1, 'description': '1 to 10 target domains to check for a citation.'}}, 'additionalProperties': False}
citation_tracker_monitor_cancel
Stops a monitor and deletes its prompt, domains and results. Unused runs are not refunded. Free. Needs the monitor_id.
Schéma d’entrée
{'type': 'object', 'required': ['monitor_id'], 'properties': {'monitor_id': {'type': 'string', 'pattern': '^ctm_[A-Za-z0-9_-]+$', 'maxLength': 64, 'minLength': 8, 'description': 'The monitor id returned by citation_tracker_monitor_7 or _30. It is the only credential; keep it.'}}, 'additionalProperties': False}
citation_tracker_monitor_status
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.
Schéma d’entrée
{'type': 'object', 'required': ['monitor_id'], 'properties': {'monitor_id': {'type': 'string', 'pattern': '^ctm_[A-Za-z0-9_-]+$', 'maxLength': 64, 'minLength': 8, 'description': 'The monitor id returned by citation_tracker_monitor_7 or _30. It is the only credential; keep it.'}}, 'additionalProperties': False}
citation_tracker_shortlist_gate
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.
Schéma d’entrée
{'type': 'object', 'required': ['prompt', 'brand_terms'], 'properties': {'prompt': {'type': 'string', 'maxLength': 4000, 'minLength': 1, 'description': 'The prompt to send to the search assistant(s), verbatim. 1 to 4000 characters.'}, 'brand_terms': {'type': 'array', 'items': {'type': 'string', 'maxLength': 100, 'minLength': 1}, 'maxItems': 20, 'minItems': 1, 'description': '1 to 20 brand terms to look for in the first search query.'}, 'product_terms': {'type': 'array', 'items': {'type': 'string', 'maxLength': 100, 'minLength': 1}, 'default': [], 'maxItems': 50, 'minItems': 0, 'description': '0 to 50 product terms to look for in the first search query.'}}, 'additionalProperties': False}
Ajouté
citation_tracker_check_one
27 September 2026 02:42
Ajouté
citation_tracker_monitor_cancel
17 September 2026 12:38
Ajouté
citation_tracker_monitor_status
17 September 2026 12:38
Ajouté
citation_tracker_monitor_30
17 September 2026 12:38
Ajouté
citation_tracker_monitor_7
17 September 2026 12:38
Ajouté
citation_tracker_shortlist_gate
17 September 2026 12:38
Ajouté
citation_tracker_check_perplexity
17 September 2026 12:38
Ajouté
citation_tracker_check
17 September 2026 12:38