Skip to main content

MCP Server

KWatch provides a hosted MCP (Model Context Protocol) server, so AI agents and assistants like Claude, Claude Code, Cursor, and any other MCP-compatible client can use KWatch on your behalf. Once connected, an agent can create, list, update, and delete your keyword monitoring alerts and conversation trackers using plain language instructions.

The MCP server exposes the same capabilities as the REST API, with the same permissions: your plan must include API access, and team roles are enforced the same way.

Endpoint

The MCP server uses the Streamable HTTP transport and is available at:

https://api.kwatch.io/mcp

Authentication

The MCP server uses the same API keys as the REST API. You can generate API keys from your dashboard under the API section.

Your MCP client must send the API key in the Authorization header as a bearer token:

Authorization: Bearer your-api-key-here

Connecting Your Client

Claude Code

claude mcp add --transport http kwatch https://api.kwatch.io/mcp --header "Authorization: Bearer your-api-key-here"

Cursor

Add this to your .cursor/mcp.json (project) or ~/.cursor/mcp.json (global):

{
"mcpServers": {
"kwatch": {
"url": "https://api.kwatch.io/mcp",
"headers": {
"Authorization": "Bearer your-api-key-here"
}
}
}
}

VS Code

Add this to your .vscode/mcp.json:

{
"servers": {
"kwatch": {
"type": "http",
"url": "https://api.kwatch.io/mcp",
"headers": {
"Authorization": "Bearer your-api-key-here"
}
}
}
}

Claude Desktop and Other stdio-only Clients

Clients that only support local (stdio) MCP servers can connect through the mcp-remote bridge. For example, in claude_desktop_config.json:

{
"mcpServers": {
"kwatch": {
"command": "npx",
"args": [
"mcp-remote",
"https://api.kwatch.io/mcp",
"--header",
"Authorization: Bearer your-api-key-here"
]
}
}
}

Available Tools

Keyword Monitoring

ToolDescription
list_keyword_alertsList the keyword alerts of your team, for one platform or all platforms
get_keyword_alertGet one keyword alert by platform and ID
create_keyword_alertCreate a new keyword alert on X (Twitter), LinkedIn, Facebook, Reddit, Hacker News, or YouTube
update_keyword_alertUpdate an existing keyword alert
delete_keyword_alertDelete a keyword alert

Conversation Tracking

ToolDescription
list_conversation_trackersList the conversation trackers of your team, for one platform or all platforms
get_conversation_trackerGet one conversation tracker by platform and ID
create_conversation_trackerStart tracking a Reddit or Hacker News conversation
update_conversation_trackerUpdate an existing conversation tracker
delete_conversation_trackerDelete a conversation tracker

The tools accept the same fields as the corresponding REST API endpoints, documented in the API section. Two behaviors differ from the REST API to make life easier for agents:

  • Creation defaults: when creating a keyword alert, enabled, search_posts, and search_comments default to true if not provided, like in the dashboard.
  • Partial updates: the update tools only need the fields you want to change. Omitted fields keep their current values, whereas the REST API expects the full object on update.

Example Prompts

Once your client is connected, you can ask things like:

Monitor mentions of "kwatch" on Reddit and Hacker News, whole words only.
Which keyword alerts do I currently have on LinkedIn?
Track this Hacker News thread: https://news.ycombinator.com/item?id=42424242
Pause all my X (Twitter) alerts.

Errors

  • If the API key is missing or invalid, the server returns a 401 Unauthorized HTTP error.
  • If your plan does not include API access, the server returns a 403 Forbidden HTTP error.
  • Validation and permission errors (invalid keywords, plan limits reached, insufficient team role...) are returned as tool results with an error flag, so the agent can read the message and correct itself.

Note: the MCP server manages your alerts and trackers, but the mentions found by KWatch are delivered through your notification channels (email, Slack, and API webhooks), like for alerts created in the dashboard.