Build on Shruwd

MCP server

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-mcp npm package, with an API key.

The same install and configuration are published as JSON at /.well-known/mcp.json.

Hosted

URLhttps://shruwd.io/mcp
TransportStreamable HTTP
Sign-inShruwd 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

bash
claude mcp add --transport http shruwd https://shruwd.io/mcp

Then run /mcp in Claude Code and sign in. To use a key instead:

bash
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:

json
{
  "mcpServers": {
    "shruwd": {
      "command": "npx",
      "args": ["-y", "shruwd-mcp"],
      "env": { "SHRUWD_API_KEY": "sh_live_…" }
    }
  }
}

Claude Code

bash
claude mcp add shruwd -e SHRUWD_API_KEY=sh_live_… -- npx -y shruwd-mcp

Cursor

In .cursor/mcp.json:

json
{
  "mcpServers": {
    "shruwd": {
      "command": "npx",
      "args": ["-y", "shruwd-mcp"],
      "env": { "SHRUWD_API_KEY": "sh_live_…" }
    }
  }
}

Environment

Variable
SHRUWD_API_KEYRequired
SHRUWD_API_URLOptional. Defaults to https://shruwd.io/api/v1

Tools

ToolDoes
shruwd_get_workspacePlan, entitlements, usage, brands. Start here
shruwd_list_brands · shruwd_get_brand · shruwd_create_brand · shruwd_update_brand · shruwd_archive_brandBrands. 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_promptThe questions asked of each engine every cycle
shruwd_list_entities · shruwd_add_competitor · shruwd_set_entity · shruwd_remove_entityThe brand and its competitors, with the exact aliases that count
shruwd_run_measurement · shruwd_list_cyclesMeasure now; watch the cycle
shruwd_get_visibility · shruwd_get_visibility_series · shruwd_get_crawlersMention rate and share of voice with intervals, and verified crawler activity
shruwd_list_crawler_pathsWhich paths each crawler fetched and what it got: where a bot's errors came from
shruwd_list_sourcesWhich sites and pages the answers cite, and whose they are, for every question or one
shruwd_list_answersThe latest individual answers, for one prompt or engine if you ask. Evidence, not a metric
shruwd_list_suggestions · shruwd_accept_suggestion · shruwd_dismiss_suggestionCompetitors the answers named that you do not track
shruwd_suggest_setupDrafts prompts and competitors from your homepage. Nothing is saved
shruwd_list_findings · shruwd_get_finding · shruwd_transition_findingDiagnoses with a specific fix; mark one applied to start the recheck. Capped plans count the rest in locked
shruwd_create_ingest_tokenThe 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 explicit insufficient_data — which the tool descriptions tell the agent not to read as zero.
  • No tool can mark a finding resolved. resolved and not_moved belong to the recheck. An agent can acknowledge, apply or dismiss; it cannot declare success.
  • Nothing is saved without you. shruwd_suggest_setup drafts 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_findings returns those and counts the rest in locked by severity, so the agent is told they exist rather than reporting a short list as the whole set. Fetching a locked one is 403 not_entitled.

Next steps