waikay-mcp
An MCP (Model Context Protocol) server for the Waikay brand visibility API. Gives Claude and other MCP-compatible AI assistants full interactive access to your Waikay account — query brand visibility across AI models, manage tracked prompts, and analyse citations, all in conversation.
Built by Dixon Jones.
What you can do
- "List my Waikay projects"
- "How many times was Dixon Jones mentioned by ChatGPT this week?"
- "Show me the share of voice for dixonjones.com vs competitors"
- "Which URLs are being cited for my brand in Gemini?"
- "Create a new prompt tracking 'best SEO consultants' across ChatGPT and Claude, running daily"
- "Pause the prompt about entity-based SEO"
- "Add Copilot scraped to all my active prompts"
Requirements
- Python 3.10+
- A Waikay account on Level 2 or above ($69.95/month)
- Your Waikay API key (from account settings)
Installation
pip install waikay-mcp
Configuration
Claude Desktop app
Add to %APPDATA%\Claude\claude_desktop_config.json (Windows) or ~/Library/Application Support/Claude/claude_desktop_config.json (Mac):
{
"mcpServers": {
"waikay": {
"command": "python",
"args": ["-m", "waikay_mcp"],
"env": {
"WAIKAY_API_KEY": "your_api_key_here"
}
}
}
}
Claude Code (CLI)
Add to ~/.claude/settings.json:
{
"mcpServers": {
"waikay": {
"command": "python",
"args": ["-m", "waikay_mcp"],
"env": {
"WAIKAY_API_KEY": "your_api_key_here"
}
}
}
}
After editing the config, fully quit and relaunch the app — MCP servers load at startup.
Available tools
list_projects
Returns all projects in your Waikay account with their IDs and URLs.
list_projects()
get_overview
Brand mention counts by AI model over the current and previous 7-day window, with a delta.
get_overview(project_id, prompt_id?)
| Parameter | Type | Required | Description |
|---|---|---|---|
project_id |
int | Yes | From list_projects |
prompt_id |
int | No | Omit for project-wide totals; supply for a single prompt |
get_rankings
Share of voice and competitive positioning over a 30-day rolling window.
get_rankings(project_id, prompt_id?)
| Parameter | Type | Required | Description |
|---|---|---|---|
project_id |
int | Yes | From list_projects |
prompt_id |
int | No | Omit for project-wide; supply for a single prompt |
get_sources
Citation and URL analysis — which domains and pages AI models reference when mentioning your brand.
get_sources(project_id, prompt_id?)
| Parameter | Type | Required | Description |
|---|---|---|---|
project_id |
int | Yes | From list_projects |
prompt_id |
int | No | Omit for project-wide; supply for a single prompt |
get_scores
AI knowledge scores by model and date over a 365-day window. Project level only.
get_scores(project_id)
list_prompts
List all tracked prompts for a project, with their models, frequency, and active status.
list_prompts(project_id, include_inactive?, include_deleted?)
| Parameter | Type | Default | Description |
|---|---|---|---|
project_id |
int | — | From list_projects |
include_inactive |
bool | true |
Include paused prompts |
include_deleted |
bool | false |
Include deleted prompts |
create_prompt
Create a new tracked prompt for a project.
create_prompt(project_id, prompt_string, models, frequency, audience?)
| Parameter | Type | Required | Description |
|---|---|---|---|
project_id |
int | Yes | From list_projects |
prompt_string |
str | Yes | Max 500 characters; cannot be changed after creation |
models |
list[int] | Yes | Model IDs to track — see table below |
frequency |
int | Yes | 1=daily, 2=twice weekly, 7=weekly |
audience |
int | No | Audience identifier (default 0) |
Returns the new prompt_id, or a 402 error if your account has insufficient credits.
update_prompt
Update an existing prompt. The prompt_string cannot be changed after creation.
update_prompt(project_id, prompt_id, models?, frequency?, audience?, active?)
| Parameter | Type | Required | Description |
|---|---|---|---|
project_id |
int | Yes | From list_projects |
prompt_id |
int | Yes | From list_prompts |
models |
list[int] | No | Replace the tracked model list |
frequency |
int | No | 1=daily, 2=twice weekly, 7=weekly |
audience |
int | No | Update audience identifier |
active |
int | No | 1=running, 0=paused, 2=deleted |
delete_prompt
Soft-delete a tracked prompt. Idempotent.
delete_prompt(project_id, prompt_id)
Model IDs
| ID | Model |
|---|---|
1 |
Sonar (Perplexity) API |
3 |
ChatGPT API |
5 |
Claude API |
100 |
Gemini API |
101 |
AI Mode — scraped |
102 |
ChatGPT — scraped |
103 |
Gemini — scraped |
104 |
Copilot — scraped |
License
GPL-3.0
Metadata
Release files for waikay-mcp 0.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| waikay_mcp-0.3.0.tar.gz | 16.6 kB | Without provenance | Details for waikay_mcp-0.3.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| waikay_mcp-0.3.0-py3-none-any.whl | Python 3 | none | any | Details for waikay_mcp-0.3.0-py3-none-any.whl |
Total release size: 34.2 kB
Release files / waikay_mcp-0.3.0.tar.gz
| Download URL | waikay_mcp-0.3.0.tar.gz |
|---|---|
| Size | 16.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
755fa0d07b59084aa6d3b0531dd675b9c5df4ce2477c4841b046157b7f74ebbd
|
|
BLAKE2b-256 checksum How to use checksums |
4f8c5e8d3ba645691939e9bf998622b2607e549d91d81044500a393b1276bfa8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.1
|
Release files / waikay_mcp-0.3.0-py3-none-any.whl
| Download URL | waikay_mcp-0.3.0-py3-none-any.whl |
|---|---|
| Size | 17.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
4b2ddb6e2c1458f452cd6fe81adf1a10c13ee9e985500c63cc101482c3b0abec
|
|
BLAKE2b-256 checksum How to use checksums |
58cc4cfa3211e0420730be1b230d918c8fc0a7a3414b6ab9a14f977cf41b79da
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.1
|
Security for waikay-mcp 0.3.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.