Engagemii Citation Watch

Brands ChatGPT names for real buyer questions, updated every 30 minutes, with AI visibility scores.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
85%
Naming quality
82%
Poisoning risk
80%
Permission match
100%
Protocol compliance
100%

Findings (2)

  • HIGHTool poisoning patterns detected
  • MEDIUMTool description contains URL to non-standard domainin data_signup

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~2,373Tokens (tool definitions)
~763 BTypical response size
Moderate attention impact (1.85% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "citation-watch": {
      "url": "https://api.engagemii.com/api/mcp"
    }
  }
}

Remote endpoints

https://api.engagemii.com/api/mcpstreamable-http

What it can do

Tool inventory

Tools (13)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢aeo_score(domain)

Get the Engagemii AEO score (0-10) for any company domain, with the six on-page sub-scores, seven off-page authority signals, and the llms.txt audit verdict. Drawn from the Engagemii index of more than 70 million companies. Free, no auth.

Input Schema

{
  "type": "object",
  "properties": {
    "domain": {
      "type": "string",
      "description": "Company domain or URL, e.g. example.com"
    }
  },
  "required": [
    "domain"
  ]
}
🟢aeo_audit(domain)

Run a LIVE AEO audit of a site right now: fresh fetch of the homepage, robots.txt, sitemap, llms.txt, and about page, scored on the six on-page categories with concrete recommendations. Differs from aeo_score, which returns the stored score from the index; that score updates when Engagemii next reads the site. Free, no auth, up to 5 live audits per hour.

Input Schema

{
  "type": "object",
  "properties": {
    "domain": {
      "type": "string",
      "description": "Company domain or URL, e.g. example.com"
    }
  },
  "required": [
    "domain"
  ]
}
🟢brand_profile(domain)

Full public profile for a scored company: score breakdown, category, geography, detected platform, social profiles, AI-crawler visit counts. Free, no auth.

Input Schema

{
  "type": "object",
  "properties": {
    "domain": {
      "type": "string"
    }
  },
  "required": [
    "domain"
  ]
}
🟢dataset_sample

15 random live rows from the Engagemii dataset in exactly the shape a purchased file delivers (same columns, same cleaning). Free, no auth.

Input Schema

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
🟢citation_watch(category, limit)

What ChatGPT is recommending right now. Every 30 minutes Engagemii puts a real, non-branded buyer question to ChatGPT with live web search and records which brands it names, alongside each brand's standing AI visibility score (computed before the question was asked). Returns the last 48 hours. Free, no auth. Answers questions such as which brands AI recommends in a category, and whether an AI visibility score relates to being recommended.

Input Schema

{
  "type": "object",
  "properties": {
    "category": {
      "type": "string",
      "description": "Optional filter, e.g. Legal, Finance & Insurance, Fashion & Apparel. Case-insensitive substring match."
    },
    "limit": {
      "type": "number",
      "description": "How many checks to return, 1 to 50. Default 20."
    }
  },
  "additionalProperties": false
}
🟢ai_readstream(days)

Which AI engines are reading the business web right now. Server-side, IP-verified crawler logs across one of the largest networks of business pages online. Returns per-engine reads over the last ten minutes, the last 24 hours and all time, plus a daily series. Free, no auth. Answers questions such as which AI crawler is most active, how two engines compare, and whether AI reading is rising.

Input Schema

{
  "type": "object",
  "properties": {
    "days": {
      "type": "number",
      "description": "How many days of the daily series to return, 0 to 30. Default 7."
    }
  },
  "additionalProperties": false
}
🟢free_kit(domain, email, owner_confirmed)

Request the FREE Customized Fix Kit for a domain. There is one kit and it is free: eight fix files written from the site's ACTUAL content (Organization and FAQ JSON-LD, meta description, llms.txt, robots patch, Wikidata guide, Google Business checklist, README) plus a full PDF audit. Flow: pass the owner's email; Engagemii emails a verification link; after the owner clicks it the kit is built and the download link is emailed automatically. Kits are queued, so delivery is by email rather than in-chat. One kit per domain; repeat requests resend the stored kit.

Input Schema

{
  "type": "object",
  "properties": {
    "domain": {
      "type": "string",
      "description": "The site, e.g. example.com"
    },
    "email": {
      "type": "string",
      "description": "The site owner's email (the verification link and the kit go there)"
    },
    "owner_confirmed": {
      "type": "boolean",
      "description": "Confirm with the user that this is their own brand. Agencies working on client sites should use the data portal (engagemii.com/aeo/data) instead."
    }
  },
  "required": [
    "domain",
    "email",
    "owner_confirmed"
  ]
}
🟡connect_tracker(domain, email, platform)

Set up free Engagemii AI-crawler monitoring for a site, entirely from here. It provisions the owner's free account and tracker key and returns a small install snippet (Node/Express, Next.js, PHP, or Cloudflare Worker) with the key already in it. Once the snippet for the site's stack is installed, AI-bot visits start reporting, and the owner sees them per bot and per day at the dashboard link. Requires the owner's email. Terms of the free service: Engagemii licenses the AI-crawler activity data the tracker collects, in aggregated form and, unless the owner opts out in portal settings, identified by their domain. The tracker records bot visits only, never human visitors.

Input Schema

{
  "type": "object",
  "properties": {
    "domain": {
      "type": "string",
      "description": "The site, e.g. example.com"
    },
    "email": {
      "type": "string",
      "description": "The site owner's email (required)"
    },
    "platform": {
      "type": "string",
      "enum": [
        "node",
        "nextjs",
        "php",
        "cloudflare"
      ],
      "description": "The site's stack, if known. Omit to get all four snippets."
    }
  },
  "required": [
    "domain",
    "email"
  ]
}
🟢search_companies(industries, states, scoreMin, scoreMax, scope, ...)

Query the scored dataset with filters (industries, states, score range, scope us|all). Returns up to 100 light rows. Requires an Engagemii data API key.

Input Schema

{
  "type": "object",
  "properties": {
    "industries": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Business categories, e.g. Technology, Healthcare"
    },
    "states": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "scoreMin": {
      "type": "number"
    },
    "scoreMax": {
      "type": "number"
    },
    "scope": {
      "type": "string",
      "enum": [
        "us",
        "all"
      ],
      "description": "us = verified US companies; all = worldwide"
    },
    "limit": {
      "type": "number",
      "description": "max 100"
    },
    "api_key": {
      "type": "string",
      "description": "Your Engagemii data API key (edk_...). Only needed when the key is not already sent as a request header."
    }
  }
}
🟡data_signup(email, password, company_name, license_accepted)

Create a free Engagemii data account. We email a verification link to the address; the account's API key (edk_...) stays inactive until the user clicks it, then the key appears in the portal and unlocks search_companies and data_records. Requires the user's email, a password of their choosing (8+ characters), their company name, and the user's acceptance of the data license at https://engagemii.com/aeo/data/license.

Input Schema

{
  "type": "object",
  "properties": {
    "email": {
      "type": "string"
    },
    "password": {
      "type": "string",
      "description": "8+ characters, chosen by the user"
    },
    "company_name": {
      "type": "string"
    },
    "license_accepted": {
      "type": "boolean",
      "description": "Whether the user has explicitly accepted the data license"
    }
  },
  "required": [
    "email",
    "password",
    "company_name",
    "license_accepted"
  ]
}
⚪data_records(industries, states, scoreMin, scoreMax, scope, ...)

Pull full licensed records from the Engagemii dataset (all columns, fingerprinted, the same shape a purchased file delivers). Metered: every record returned uses one unit of the account's purchased API quota. Returns 25 records by default and at most 100 per call. Larger pulls are available through the REST API at https://api.engagemii.com/api/v1/data/records with the same key. Requires an Engagemii data API key.

Input Schema

{
  "type": "object",
  "properties": {
    "industries": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "states": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "scoreMin": {
      "type": "number"
    },
    "scoreMax": {
      "type": "number"
    },
    "scope": {
      "type": "string",
      "enum": [
        "us",
        "all"
      ]
    },
    "limit": {
      "type": "number",
      "description": "records to draw (each costs 1 quota). Default 25, max 100 in-chat."
    },
    "api_key": {
      "type": "string",
      "description": "Your Engagemii data API key (edk_...). Only needed when the key is not already sent as a request header."
    }
  }
}
🟢kit_checkout(domain)

Retired. The Customized Fix Kit is now free and is requested through free_kit, so this tool no longer starts a checkout. It returns a short notice saying so.

Input Schema

{
  "type": "object",
  "properties": {
    "domain": {
      "type": "string",
      "description": "The site, e.g. example.com"
    }
  }
}
🟢kit_download(session_id)

After a paid kit_checkout, receive all eight Customized Fix Kit files plus the badge embed as plain text. Requires the Stripe session id (cs_...) from the checkout success URL.

Input Schema

{
  "type": "object",
  "properties": {
    "session_id": {
      "type": "string"
    }
  },
  "required": [
    "session_id"
  ]
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded13 tools
verifiedversion not recorded13 tools