Install
Connect Claude Code, Cursor, or another MCP client to ViralQuery.
Use the remote Streamable HTTP endpoint:
https://viralquery.com/mcpSet your key in an environment variable before adding it to a client configuration:
export VIRALQUERY_API_KEY=sk_viralquery_...Never paste a live key into chat or commit it to source control.
Claude Code
claude mcp add --transport http --scope user viralquery https://viralquery.com/mcp \
--header "Authorization: Bearer ${VIRALQUERY_API_KEY}"Verify with claude mcp get viralquery, then ask Claude to set your workspace and rules before it
runs the first scroll.
Project configuration
Claude Code and other clients that support environment expansion can use:
{
"mcpServers": {
"viralquery": {
"type": "http",
"url": "https://viralquery.com/mcp",
"headers": {
"Authorization": "Bearer ${VIRALQUERY_API_KEY}"
}
}
}
}Cursor
Create or update .cursor/mcp.json:
{
"mcpServers": {
"viralquery": {
"url": "https://viralquery.com/mcp",
"headers": {
"Authorization": "Bearer ${env:VIRALQUERY_API_KEY}"
}
}
}
}Environment-variable syntax varies by client. If yours does not expand variables inside MCP headers, add the bearer header through that client's secure secrets UI.
Install the agent skill
The public ViralQuery skill adds the personalized research workflow:
npx skills add https://viralquery.com/skillsThe skill can call ViralQuery's HTTP API directly and does not contain or store your API key.
Test the connection
Connect, then ask the client to call getWorkspace. A missing or invalid key is rejected before
MCP initialization; a successful response confirms that the protected tenant tools are available.
401 unauthorized— the bearer header is missing or the key is invalid.402 subscription_required— the key exists but has no active subscription.429 scroll_limit_exceeded— all included scrolls for the current month are reserved or used.409 scroll_in_progress— wait for the current scroll to finish before starting another one.