Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,071Paid calls: 1,554Letters: 14Defects: 1,331counted 4 min ago
teppi

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 yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:e81bbfc5477083e48d63cdfc19aa9642b09b8252002fab18a0205f94244de500 | sha256sum