# Promptwatch MCP connector

The Promptwatch connector brings brand visibility, citations, competitor heatmaps, content gaps, crawler activity and monitors into Claude, ChatGPT, Cursor and other MCP clients, so each person can ask about AI search performance inside their own Promptwatch access.

Source: https://elaichi.ai/connectors/promptwatch/

## Facts

| | |
| --- | --- |
| Application | Promptwatch |
| Category | Analytics |
| AI tools | 69 |
| Authentication | Connects with an API key |
| Needs your own OAuth app | No |
| MCP endpoint | https://api.elaichi.ai/mcp |
| Works with | Claude, ChatGPT, Cursor, any MCP client, and the Elaichi Agent |
| Tools advertised by name | No. 69 tools is past the 30-tool threshold, so clients use `search_tools` and `execute_tool` |

## What you can ask once Promptwatch is connected

- Which domains cite our brand most across LLM sources this month
- Compare our citation rank against competitors in the heatmap
- Show brand visibility over time and top cited pages

## Connect Promptwatch in Elaichi

This happens once for the organization, before any client is involved.

1. Open Connections, choose Add connection, and pick Promptwatch.
2. Optionally set Share with, then press Connect.
3. Paste a Promptwatch API key. One person generates a token in Promptwatch and pastes it once. Everyone else works through Share with, and never sees it.

Credentials are vaulted and nobody, including the AI, reads them back. The connection becomes a toolbox immediately, so you can curate which Promptwatch tools are exposed, rename them, or freeze arguments before anyone points a client at it.

## Connect Promptwatch to Claude

Endpoint: https://api.elaichi.ai/mcp

1. Open Customize, then Connectors.
2. Press Add.
3. Name it, paste the MCP server URL, then Continue.
4. Sign in and approve.

On Team and Enterprise, an Owner adds it once. Everyone else turns it on for themselves.

## Connect Promptwatch to ChatGPT

Endpoint: https://api.elaichi.ai/mcp

1. Open Plugins, then press the + button.
2. Name it and paste the endpoint into Server URL.
3. Leave Authentication on OAuth, then tick the risk acknowledgement.
4. Press Create, then sign in and approve.

Works on the web today. The plugin directory lives at chatgpt.com/plugins.

## Connect Promptwatch to Cursor

Endpoint: https://api.elaichi.ai/mcp

1. Open `~/.cursor/mcp.json`.
2. Add the endpoint under `mcpServers`.
3. Reload Cursor, then sign in and approve.

Set up per machine, so repeat it on each computer you work from.

## Connect Promptwatch to any MCP client

Endpoint: https://api.elaichi.ai/mcp

1. Add the endpoint as a remote MCP server.
2. Sign in and approve.

The Elaichi Agent already has these tools, with nothing to set up.

## What the consent screen decides

Only Read is granted by default, which is not enough to call a Promptwatch tool. Over MCP there is no trusted place to confirm a write in the moment, so the consent screen is the standing approval rather than a formality. Grant Read and Run tools. Think hard before granting Delete, which reaches into connected apps and cannot be undone.

## What teams do with Promptwatch through Elaichi

### Check how the brand shows up in AI answers

Marketing. Ask how often the brand is mentioned across ChatGPT, Claude, Gemini and other models this month, and how that visibility has moved since last quarter.

### Find out which pages AI models cite

SEO. Pull the top cited pages and domains for each model, see where the brand's own site is cited and where competitors take the spot instead.

### Turn content gaps into a writing plan

Content. Review the questions where the brand has no answer being cited, then draft a content brief in Promptwatch to close the gap.

### Set up monitors for new product lines

Brand. Add a brand or a fresh set of monitored prompts when a launch goes out, and keep existing brand records up to date as names and domains change.

### Compare the brand against rivals by model

Competitive intelligence. Read the competitor heatmap to see which rival wins in which model and on which topics, then summarize the standouts for the team meeting.

### See which AI crawlers are visiting the site

Web. Check crawler events and trends to learn which AI bots are hitting the site, how often, and which pages they read most.

## Frequently asked questions

### How do I connect Promptwatch to Claude?

First connect Promptwatch in Elaichi by pasting in the API key from your Promptwatch account, which takes about a minute. Then in Claude open Customize, then Connectors, then Add, and paste https://api.elaichi.ai/mcp as the endpoint. There is no OAuth application to register in Promptwatch and no client ID or secret to generate.

### Does Promptwatch work with ChatGPT and Cursor as well as Claude?

Yes. Once Promptwatch is connected in Elaichi, the same endpoint, https://api.elaichi.ai/mcp, works in Claude, ChatGPT, Cursor, any other MCP client and the Elaichi Agent. You connect Promptwatch once and every client you use picks it up.

### What can an AI agent actually do with my Promptwatch data?

With Promptwatch connected, an agent can report brand visibility over time, list which domains and pages each AI model cites, read competitor heatmaps and content gap stats, and show which AI crawlers are hitting your site. It can also create brands, monitors and content pieces, and update brand details. Because Promptwatch exposes many capabilities, short concrete asks like "top cited domains for our brand in Claude this month" work better than long sentences.

### Does connecting Promptwatch give the AI everything in my workspace?

No. Every request to Promptwatch runs as the person who signed in, so the agent only sees the brands, monitors and reports that person can already see in Promptwatch. Elaichi can narrow that access further with restrictions, but it can never widen it beyond what the person already has.

### Can my team share one Promptwatch connection?

Yes. One person connects Promptwatch with their API key and shares the connection with a team in Elaichi, and nobody else on the team ever handles the key. Each person still signs in to Elaichi as themselves, so the audit log names who asked for which Promptwatch report or created which monitor.

### Can I stop an agent from changing things in Promptwatch?

Yes. In Elaichi you can restrict individual actions on the Promptwatch connection, for example allowing reports and citation analysis while blocking the creation of brands, monitors or content and any edits to brand records. A blocked action is never advertised to Claude, ChatGPT or Cursor, so no prompt can reach it.

### What happens to a Promptwatch connection when someone leaves?

When you offboard someone in Elaichi, their access to Promptwatch through the endpoint ends at once, across every client they used. A shared Promptwatch connection keeps working for everyone else on the team. If you ever want to remove Promptwatch entirely, disconnecting it once in Elaichi removes it from Claude, ChatGPT, Cursor and every other client at the same time.

## All 69 Promptwatch tools

Every tool below is callable through https://api.elaichi.ai/mcp once Promptwatch is connected, subject to the toolbox it is in and the restrictions on the caller.

- **List all Promptwatch auth validates** (List). Validate the API key and return associated project and organization details. For organization-level keys, optionally provide X-Project-Id header to validate access to a specific project.
- **List all Promptwatch brands** (List). Get all brands for the project.

Favicons are available from a separate public endpoint (not part of API v2).
See Brand icons.
- **Create a Promptwatch brand** (Create). Create or connect a brand to the project.
- **Update a Promptwatch brand by ID** (Update). Update brand relationship.
- **List all Promptwatch brands visibility over times** (List). Get brand visibility over time.
- **List all Promptwatch citations** (List). Get citation analytics including top cited domains, URLs, and authority metrics
- **Promptwatch citations list domains by llm** (List). Get domain citations grouped by LLM source
- **Promptwatch citations list domains over time** (List). Get domain citation frequency over time for top domains
- **Promptwatch citations list llm sources** (List). Get top LLM sources with citation statistics
- **Promptwatch citations list rank analysis** (List). Get citation rank analysis for your domain over time
- **Promptwatch citations list self frequency** (List). Get self-citation frequency over time (citations pointing to your own domain)
- **Promptwatch citations list top pages** (List). Get top cited pages with average rank
- **List all Promptwatch competitor heatmaps** (List). Get competitor visibility heatmap data showing visibility percentages across different models and competitors. Returns a structured matrix ready for heatmap visualization.
- **List all Promptwatch content gap stats** (List). Get aggregate content coverage statistics for the project
- **List all Promptwatch contents** (List). Paginated list of content documents for the project. Filter by mode (CREATE or OPTIMIZE) and/or status (PENDING, IN_PROGRESS, COMPLETED, FAILED, STOPPED) to narrow results. Each row includes status, mode, title, linked prompt id/text, and timestamps but omits the full markdown content body — use GET /content/:id for the complete document. Pagination uses size (page length) with total/page/totalPages in the response, matching other v2 list endpoints.
- **Get single Promptwatch content by ID** (Get). Returns the full detail of a content document including its current generation status, content body (when available), linked prompt, and timestamps. Use this endpoint to poll after POST /content/create. Status progresses as: PENDING (queued) → IN_PROGRESS (AI generating) → COMPLETED | FAILED | STOPPED. During IN_PROGRESS, title and content fields may be present but are incomplete — content streams in progressively and should not be treated as final. Both fields are null while PENDING and only fully reliable once status reaches COMPLETED. STOPPED documents may retain partial content. The failedAt/failedReason fields are populated when status is FAILED; stoppedAt is set when STOPPED.
- **Create a Promptwatch content** (Create). Starts asynchronous AI content generation in one of two modes: CREATE (generate new content from a prompt) or OPTIMIZE (rewrite an existing page URL for better AI visibility). Returns the document id and PENDING status immediately — the document then transitions through IN_PROGRESS while the AI generates content, and reaches a terminal state of COMPLETED (success), FAILED (error), or STOPPED (manually cancelled). Poll GET /content/:id to track progress. Requires project API key (or org key + X-Project-Id). Prerequisites: GET /prompts (promptId), GET /personas (personaId); optional recommendation ids from content-gap endpoints.
- **List all Promptwatch crawlers events** (List). List individual AI crawler HTTP requests (event log) for the project, with pagination and filters. Same data as the in-product crawler activity explorer.
- **List all Promptwatch crawlers top pages** (List). Get top pages requested by crawlers
- **List all Promptwatch crawlers trends** (List). Get crawler activity trends over time. If the crawlers query parameter is omitted, the response includes all known AI crawler types that have data in the selected range (the server queries the full set of allowed crawler keys).
- **List all Promptwatch models** (List). List all available LLM models supported by Promptwatch
- **List all Promptwatch monitors** (List). Get all active monitors for the current project with average visibility and response counts in a date range
- **Get single Promptwatch monitor by ID** (Get). Get a single monitor by ID with full details
- **Create a Promptwatch monitor** (Create). Create a new monitor
- **Delete a Promptwatch monitor by ID** (Delete). Soft-delete a monitor
- **Update a Promptwatch monitor by ID** (Update). Update an existing monitor
- **Create a Promptwatch persona** (Create). Create a new persona for the project
- **Get single Promptwatch persona by ID** (Get). Get a specific persona by ID
- **Update a Promptwatch persona by ID** (Update). Update an existing persona
- **List all Promptwatch personas** (List). List all personas for the project.
- **Delete a Promptwatch persona by ID** (Delete). Delete a persona by its ID.
- **List all Promptwatch projects** (List). List all projects for the organization.
- **Create a Promptwatch project** (Create). Create a new project (requires org-level API key, X-Project-Id header NOT required)
- **List all Promptwatch prompts** (List). Get paginated list of prompts with search and filtering options
- **Get single Promptwatch prompt by ID** (Get). Get a single prompt by ID
- **Update a Promptwatch prompt by ID** (Update). Update a prompt's type and intent
- **Delete a Promptwatch prompt by ID** (Delete). Soft-delete a prompt by ID
- **Promptwatch prompts bulk create** (Create). Create multiple prompts in a single request (max 100)
- **Promptwatch prompts bulk delete** (Delete). Soft-delete multiple prompts by IDs
- **Promptwatch prompts bulk activate** (Activate). Activate multiple prompts
- **Promptwatch prompts bulk deactivate** (Deactivate). Deactivate multiple prompts
- **Promptwatch prompts attach tag** (Action). Attach tags to a prompt (creates tags if they don't exist)
- **Promptwatch prompts bulk tags** (Action). Attach tags to multiple prompts (creates tags if they don't exist)
- **Create a Promptwatch prompt** (Create). Create a new prompt with specified text, type, and monitor association
- **List all Promptwatch query fanouts** (List). Get paginated list of prompts with extracted ChatGPT query fanout keywords
- **List all Promptwatch responses** (List). Get paginated list of responses with search and filtering options
- **Get single Promptwatch response by ID** (Get). Get a single response by ID with full citations
- **Promptwatch responses list competitors** (List). Get top competitor mentions from LLM responses
- **Promptwatch responses list mentions time series** (List). Get brand and competitor mentions over time
- **Promptwatch responses list sentiment distribution** (List). Get sentiment distribution of LLM responses
- **Promptwatch responses list sentiment time series** (List). Get sentiment changes over time for brand mentions
- **Promptwatch responses list summary** (List). Get response summary including total responses and brand mentions
- **List all Promptwatch sentiment time series** (List). Get brand sentiment time series data
- **List all Promptwatch sitemap progreses** (List). Get sitemap crawl progress with counts, percentage, HTTP status breakdown, and crawl health score.
- **List all Promptwatch tags** (List). Get all tags for the project with prompt counts
- **Create a Promptwatch tag** (Create). Create one or more tags for the project
- **Delete a Promptwatch tag by ID** (Delete). Delete a tag and remove it from all prompts
- **Update a Promptwatch tag by ID** (Update). Rename an existing tag
- **List all Promptwatch visibility time series** (List). Get brand visibility time series data
- **List all Promptwatch visitors referrer stats** (List). Get referrer comparison stats with period-over-period changes
- **List all Promptwatch visitors top browsers** (List). Get top browsers by visitor count
- **List all Promptwatch visitors top devices** (List). Get top devices by visitor count
- **List all Promptwatch visitors top locations** (List). Get top geographic locations by visitor count
- **List all Promptwatch visitors top pages** (List). Get top pages by visitor count
- **List all Promptwatch visitors top sources** (List). Get top referrer sources by visitor count
- **List all Promptwatch visitors totals** (List). Get total visitor counts over time
- **List all Promptwatch visitors trends** (List). Get visitor trends grouped by referrer
- **List all Promptwatch content gap prompts** (List). List content_gap_prompts in Promptwatch. Returns id, prompt, type, intent, languageCode, createdAt, responseCount, and latestContentGap with score, date, and sitemap details. Date range cannot exceed 60 days.
- **List all Promptwatch latest content coverage** (List). Get the latest content coverage for a prompt in Promptwatch. Requires prompt_id. Returns fields such as id, contentCoverageScore, explanation, report, sources, queryFanouts, sitemapTotalUrls, sitemapCrawledUrls, createdAt, and recommendations.
