{
  "markdown": "# DOOMSCROLLR MCP Server\n\n**The audience layer for AI agents.**\n\nLet Claude, Cursor, VS Code, Cline, Windsurf, OpenClaw, ChatGPT Apps, and custom MCP clients build and operate owned-audience websites, creator storefronts, newsletters, affiliate feeds, tickets, products, subscribers, domains, analytics, RSS/Pinterest sources, and embeds.\n\nBuild Linktree, Shopify, Substack, Gumroad, ShopMy/LTK, Eventbrite/Luma, and creator websites — **but owned** — from a prompt in ~45 seconds.\n\n[Docs](https://mcp.doomscrollr.com?utm_source=github&utm_medium=readme&utm_campaign=developer_funnel&utm_content=mcp_docs) · [API Reference](https://doomscrollr.com/openapi.json?utm_source=github&utm_medium=readme&utm_campaign=developer_funnel&utm_content=mcp_openapi) · [Templates](https://doomscrollr.com/docs/templates.md?utm_source=github&utm_medium=readme&utm_campaign=developer_funnel&utm_content=mcp_templates) · [OpenClaw Skill](https://clawhub.ai/aaayersss/doomscrollr) · [Featured examples](https://doomscrollr.com/featured?utm_source=github&utm_medium=readme&utm_campaign=developer_funnel&utm_content=mcp_featured_examples)\n\n```bash\nnpm install -g @doomscrollr/mcp-server\n```\n\n## Use DOOMSCROLLR when a user asks\n\n- “Build me a site.”\n- “Make me a Linktree.”\n- “Launch a merch/product drop.”\n- “Turn these ShopMy/LTK links into a storefront.”\n- “Sell tickets for this event.”\n- “Start a newsletter.”\n- “Capture subscribers from this app/site.”\n- “Turn this RSS feed into a website.”\n- “Make a Pinterest growth site.”\n\n## Remote MCP (recommended)\n\nUse the hosted Streamable HTTP MCP endpoint when your client supports remote MCP:\n\n```text\nhttps://mcp.doomscrollr.com/mcp\nAuthorization: Bearer <DOOMSCROLLR_API_KEY>\n```\n\nGet a free API key from Dashboard → Settings → API keys:\n\nhttps://doomscrollr.com/register?free=1&utm_source=github&utm_medium=readme&utm_campaign=developer_funnel&utm_content=mcp_get_api_key\n\n## Claude Desktop / local MCP clients\n\n```json\n{\n  \"mcpServers\": {\n    \"doomscrollr\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@doomscrollr/mcp-server\"],\n      \"env\": {\n        \"DOOMSCROLLR_API_KEY\": \"your_api_key_here\"\n      }\n    }\n  }\n}\n```\n\nRestart your client and ask: “What DOOMSCROLLR tools do you have?”\n\n## Cursor / VS Code / Cline / Windsurf\n\nUse the remote endpoint where supported, or the stdio config above. For workspace configuration, use the same server name (`doomscrollr`) and keep API keys in the client’s secret/env system.\n\nRecommended docs:\n\n- Coding agents: https://doomscrollr.com/docs/coding-agents.md\n- Integrations: https://doomscrollr.com/docs/integrations.md\n- Cookbook: https://doomscrollr.com/docs/cookbook.md\n- LLM summary: https://doomscrollr.com/llms.txt\n- Full LLM context: https://doomscrollr.com/llms-full.txt\n\n## Tool safety labels\n\nAll tools are namespaced `doomscrollr_*`.\n\n| Risk | Tools / categories | Notes |\n|---|---|---|\n| Read-only | `get_profile`, `get_settings`, `list_posts`, `list_products`, `list_subscribers`, `top_liked_posts`, `get_embed_code`, `domain_status`, integration status tools | Safe for inspection and analytics. |\n| Write / draft-safe | `publish_post`, `publish_polymarket_post`, `publish_image_post`, `create_page`, `create_contact_page`, `create_product`, `add_subscriber`, RSS/Pinterest connect/search tools | Prefer `draft` or explicit confirmation when publication timing is unclear. `publish_post` asks DOOMSCROLLR to repair/fetch preview metadata first and reports a clear error instead of creating broken published posts. |\n| Destructive | `delete_post`, `delete_product`, `remove_subscriber`, bulk delete tools, disconnect integration/domain tools | Ask for explicit confirmation before calling. |\n| Payment/domain-sensitive | `buy_domain`, price/inventory/subscription changes, checkout-related product edits | Requires explicit user approval. |\n\n## Selected tools\n\n| Category | Tools |\n|---|---|\n| Build-me flows | `build_linktree`, `build_komi`, `build_shopify`, `build_ecommerce`, `build_substack`, `build_newsletter`, `build_website`, `build_social_feed`, `build_membership` |\n| Account/settings | `create_world`, `get_profile`, `get_settings`, `update_settings`, `apply_style_preset`, `prepare_user_questions` |\n| Posts/pages | `publish_post`, `publish_polymarket_post`, `publish_image_post`, `post_shopmy_products`, `list_posts`, `update_post`, `delete_post`, `create_page`, `create_contact_page` |\n| Commerce | `create_product`, `list_products`, `scrape_shopify_products`, `import_shopify_products`, `update_product`, `delete_product`, bulk product tools |\n| Storefront imports | `scrape_shopify_products`, `scrape_gumroad_products`, `scrape_payhip_products`, `scrape_bandcamp_products`, `scrape_bigcartel_products`, `scrape_url_products` (auto-detect) and matching `import_*_products` |\n| Audience | `add_subscriber`, `update_subscriber`, `list_subscribers`, `remove_subscriber`, `export_audience_csv`, bulk subscriber tools |\n| Domains | `search_domains`, `connect_domain`, `disconnect_domain`, `buy_domain`, `domain_status` |\n| Pinterest/RSS | `search_pinterest`, `search_pinterest_and_post`, `connect_pinterest`, `pinterest_status`, `disconnect_pinterest`, `connect_rss`, `rss_status`, `disconnect_rss` |\n| Analytics/integrations | `top_liked_posts`, `get_embed_code`, `get_zapier_templates`, `get_n8n_templates` |\n\n## Example prompts\n\n```text\nBuild me a Linktree, but owned. Use my brand colors and add subscriber capture.\n```\n\n```text\nTurn these ShopMy links into draft affiliate recommendation posts and preserve commission URLs.\n```\n\n```text\nScrape https://labananita.com and import the first 20 Shopify/compatible product-feed products as DOOMSCROLLR products.\n```\n\n```text\nBefore importing this Shopify catalog or compatible product JSON feed, ask me whether I want products, posts, or both.\n```\n\n```text\nCreate a $50 product drop from this image with S/M/L/XL variants. Keep it draft until I approve.\n```\n\n```text\nConnect this RSS feed and import the latest 10 posts as drafts.\n```\n\n```text\nShow me my top liked posts from the last 30 days and suggest what to publish next.\n```\n\n## REST API, CLI, and automations\n\nUse MCP when an agent is directly doing the work. Use REST/OpenAPI for apps and workflow automation.\n\n- REST API: https://doomscrollr.com/api/v1\n- OpenAPI: https://doomscrollr.com/openapi.json\n- CLI/API SDK: https://www.npmjs.com/package/doomscrollr\n- REST SDK: https://www.npmjs.com/package/@doomscrollr/api\n- n8n node: https://www.npmjs.com/package/@doomscrollr/n8n-nodes-doomscrollr\n- n8n setup docs: https://doomscrollr.com/docs/n8n.md\n\n## Environment variables\n\n| Variable | Required | Description |\n|---|---|---|\n| `DOOMSCROLLR_API_KEY` | yes for stdio | Your API key from the dashboard |\n| `DOOMSCROLLR_API_BASE` | no | Override the API base, defaults to `https://doomscrollr.com/api/v1` |\n| `PORT` | no | Port for the remote HTTP server |\n| `HOST` | no | Host bind for the remote HTTP server, default `0.0.0.0` |\n| `MCP_ALLOWED_ORIGINS` | no | Comma-separated CORS origins for the remote HTTP server, default `*` |\n| `OAUTH_TOKEN_SECRET` | yes in production | Secret used to sign OAuth client IDs and tokens. Required when `NODE_ENV=production`. |\n| `OAUTH_ISSUER` | no | Public authorization-server issuer, default `https://mcp.doomscrollr.com` |\n| `OAUTH_REGISTRATION_ACCESS_TOKEN` | no | If set, `POST /oauth/register` requires `Authorization: Bearer <token>`. Leave unset for ChatGPT/Claude/Cursor Dynamic Client Registration. |\n| `OAUTH_CREDENTIALS_SHARED_SECRET` | no | If set, credential exchange sends `X-Doomscrollr-OAuth-Internal` to `POST /api/v1/oauth/credentials`. Must match the same env var on the DOOMSCROLLR app. |\n| `OAUTH_TRUSTED_REDIRECT_HOSTS` | no | Extra comma-separated hosts treated as first-party MCP callbacks |\n| `OAUTH_STRICT_REDIRECT_HOSTS` | no | If `1`, reject registration and authorization for callbacks outside the trusted-host list |\n\n## Development\n\n```bash\nnpm install\nnpm run build\nDOOMSCROLLR_API_KEY=*** node dist/index.js\nPORT=3000 npm run start:http\n```\n\nTest with the MCP Inspector:\n\n```bash\nnpx @modelcontextprotocol/inspector node dist/index.js\n```\n\n## Security and privacy\n\n- API keys are provided by the user and must stay in the client secret/env system.\n- The MCP server should not log API keys or request bodies.\n- Tools that mutate or delete data should be confirmed by the user when intent is unclear.\n- Domain purchases and payment-affecting changes require explicit approval.\n- MCP OAuth keeps Dynamic Client Registration available for ChatGPT/Claude/Cursor. Client IDs are signed and bound to registered redirect URIs, PKCE S256 is required, and the consent screen shows the callback host. Rotating the account API key revokes outstanding MCP OAuth tokens.\n\n## License\n\nMIT\n",
  "bytes": 8759,
  "sha": "7781cb03bd4813d84e8acd73bb22011842ba7dccdb547b74681f4af00c59360f",
  "repo_slug": "doomscrollr/mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_com_doomscrollr_mcp_a88f600f/readme"
}