The Shruwd MCP server: hosted at https://shruwd.io/mcp for Claude, ChatGPT and Grok, or local over npx for Claude Desktop, Claude Code and Cursor.
The Shruwd MCP server gives an AI assistant tools to set up a brand, add prompts and competitors, read how the brand appears in AI answers, and act on findings. It runs two ways, with the same tools:
- Hosted at
https://shruwd.io/mcp. Add it to Claude, ChatGPT or Grok and sign in with your Shruwd account. No key. - Local, as the
shruwd-mcpnpm package, with an API key.
The same install and configuration are published as JSON at
/.well-known/mcp.json.
Hosted
| URL | https://shruwd.io/mcp |
| Transport | Streamable HTTP |
| Sign-in | Shruwd sign-in (OAuth), or an API key as Authorization: Bearer sh_live_… |
Signing in connects the app to one workspace. It reaches your brands there, with your role on each and the access you choose: read only, or read and write. Disconnect it any time under Account → Connected apps.
Step by step: Claude · ChatGPT · Grok.
Claude Code
claude mcp add --transport http shruwd https://shruwd.io/mcp
Then run /mcp in Claude Code and sign in. To use a key instead:
claude mcp add --transport http shruwd https://shruwd.io/mcp --header "Authorization: Bearer sh_live_…"
Local
shruwd-mcp runs on your machine over stdio and talks to the API with your key.
Prerequisites
An API key from Account → API keys. A key is bound to one workspace and reaches your
brands in it, with your role on each: reads need viewer, writes editor, minting an
ingest token admin, and creating or archiving a brand the owner. To work across several
workspaces, mint a key in each and add one server entry per workspace. See
Roles.
Claude Desktop
In claude_desktop_config.json:
{
"mcpServers": {
"shruwd": {
"command": "npx",
"args": ["-y", "shruwd-mcp"],
"env": { "SHRUWD_API_KEY": "sh_live_…" }
}
}
}
Claude Code
claude mcp add shruwd -e SHRUWD_API_KEY=sh_live_… -- npx -y shruwd-mcp
Cursor
In .cursor/mcp.json:
{
"mcpServers": {
"shruwd": {
"command": "npx",
"args": ["-y", "shruwd-mcp"],
"env": { "SHRUWD_API_KEY": "sh_live_…" }
}
}
}
Environment
| Variable | |
|---|---|
SHRUWD_API_KEY | Required |
SHRUWD_API_URL | Optional. Defaults to https://shruwd.io/api/v1 |
Tools
| Tool | Does |
|---|---|
shruwd_get_workspace | Plan, entitlements, usage, brands. Start here |
shruwd_list_brands · shruwd_get_brand · shruwd_create_brand · shruwd_update_brand · shruwd_archive_brand | Brands. Creating one also creates its self entity and first measurement. Creating and archiving need owner |
shruwd_list_prompts · shruwd_add_prompts · shruwd_update_prompt · shruwd_remove_prompt | The questions asked of each engine every cycle |
shruwd_list_entities · shruwd_add_competitor · shruwd_set_entity · shruwd_remove_entity | The brand and its competitors, with the exact aliases that count |
shruwd_run_measurement · shruwd_list_cycles | Measure now; watch the cycle |
shruwd_get_visibility · shruwd_get_visibility_series · shruwd_get_crawlers | Mention rate and share of voice with intervals, and verified crawler activity |
shruwd_list_crawler_paths | Which paths each crawler fetched and what it got: where a bot's errors came from |
shruwd_list_sources | Which sites and pages the answers cite, and whose they are, for every question or one |
shruwd_list_answers | The latest individual answers, for one prompt or engine if you ask. Evidence, not a metric |
shruwd_list_suggestions · shruwd_accept_suggestion · shruwd_dismiss_suggestion | Competitors the answers named that you do not track |
shruwd_suggest_setup | Drafts prompts and competitors from your homepage. Nothing is saved |
shruwd_list_findings · shruwd_get_finding · shruwd_transition_finding | Diagnoses with a specific fix; mark one applied to start the recheck. Capped plans count the rest in locked |
shruwd_create_ingest_token | The token and endpoint for shipping server logs. Needs admin |
Tools that change something are marked so, and the ones that remove something as destructive, so an app can ask you before it calls them. Archiving a brand and removing a prompt or competitor never delete history.
What the tools will not do
No tool computes anything the API does not return. The server is a transport, and every guarantee the API keeps, it keeps:
- A metric is never a bare number. Each carries its 95% interval and
n, or an explicitinsufficient_data— which the tool descriptions tell the agent not to read as zero. - No tool can mark a finding resolved.
resolvedandnot_movedbelong to the recheck. An agent can acknowledge, apply or dismiss; it cannot declare success. - Nothing is saved without you.
shruwd_suggest_setupdrafts prompts and competitors and saves none of them — they go in through the normal tools, with the same checks as adding them by hand. - A capped plan hides nothing silently. Where your plan shows only its top findings,
shruwd_list_findingsreturns those and counts the rest inlockedby severity, so the agent is told they exist rather than reporting a short list as the whole set. Fetching a locked one is403 not_entitled.
Next steps
- Use Shruwd in Claude, ChatGPT or Grok
- For AI agents — the docs themselves, machine-readable
- TypeScript SDK — the client underneath these tools

