Catch breaking X topics
Three jobs for X signals, each with the MCP call that does it
X signals are MCP tools. These calls send JSON-RPC to the MCP server with a key that holds x:signals:read (and x:signals:write to watch keywords). Agents connected with OAuth call the same tools by name. Each read costs $0.001 per call. See X signals.
See which topics are breaking now
curl -s https://app.makesmores.com/api/v1/mcp \
-H "Authorization: Bearer $SMORE_API_KEY" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc": "2.0", "id": 1, "method": "tools/call",
"params": {"name": "smore_get_x_waves", "arguments": {"flagged_only": true, "limit": 10}}}' \
| sed -n -e 's/^data: //' -e '/^{/p' \
| jq '.result.structuredContent.waves[]? | {term, stage, p_still_rising, growth_2h_ratio}'
Find fresh posts worth a reply
curl -s https://app.makesmores.com/api/v1/mcp \
-H "Authorization: Bearer $SMORE_API_KEY" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc": "2.0", "id": 1, "method": "tools/call",
"params": {"name": "smore_find_x_posts", "arguments": {"max_age_min": 30, "worth_reply_only": true, "limit": 5}}}' \
| sed -n -e 's/^data: //' -e '/^{/p' \
| jq '.result.structuredContent.posts[]? | {url, age_min, views_per_min, replies, badges}'
Watch a keyword of your own
curl -s https://app.makesmores.com/api/v1/mcp \
-H "Authorization: Bearer $SMORE_API_KEY" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc": "2.0", "id": 1, "method": "tools/call",
"params": {"name": "smore_watch_x_keywords", "arguments": {"add": [{"keyword": "agent memory"}], "idempotency_key": "watch-agent-memory-01"}}}' \
| sed -n -e 's/^data: //' -e '/^{/p' \
| jq '.result.structuredContent.watches[]? | {keyword, query, status, effective_counts}'
Calling smore_watch_x_keywords with no arguments lists your watches.