Claude Code plugin that turns any AI coding agent into a full marketing team. 25+ skills, 7 AI agents, 6 slash commands, and 37 MCP tools — all wired to the Marketing Manager server and 10x.in link platform.
# Install globally
npm i -g 10x-marketing-manager
# Scaffold into your project
cd your-project
10x-mm init
# Open Claude Code and configure
claude
/setup
# Verify connection
/health
# Start building
"Build me a landing page for my SaaS product"- Node.js 18+
- Claude Code (or compatible AI coding agent)
- 10x.in account — Sign up at 10x.in and manage your profile at profile.10x.in
| Tier | What You Need | What Works |
|---|---|---|
| Full | Valid PAT from 10x.in | Everything — all 37 MCP tools + all local skills |
| Local | Your own AI key (BYOK) | Local skills only — content generation, design, build, local audits |
| None | Nothing configured | Nothing. Run /setup first |
- PAT (Personal Access Token): Get this from profile.10x.in
- BYOK (Bring Your Own Key): Anthropic, OpenRouter, or OpenAI API key for local-only mode
Check your current tier anytime:
10x-mm auth| Category | Tools |
|---|---|
| Agent (9) | agent_create_proposal, agent_generate_strategy, agent_list_proposals, agent_approve_proposal, agent_reject_proposal, agent_start_run, agent_get_run_status, agent_rollback_run, agent_discover |
| Analytics (3) | analytics_get, analytics_campaign_health, analytics_export |
| Forms (2) | forms_feedback_record, forms_schema_get |
| Links (5) | links_upsert, links_list, links_form_submit, links_health_check, links_route_preview |
| Routing (4) | routing_list_context_origins, routing_update_context_origins, routing_prefetch_decisions, routing_read_chain_session |
| System (3) | system_health, system_audit_events, system_usage_meters |
| Tracking (7) | tracking_list_templates, tracking_upsert_template, tracking_list_personalization_rules, tracking_upsert_personalization_rule, tracking_resolve_chain, tracking_resolve_context, tracking_write_signal |
| Webhooks (4) | webhooks_create, webhooks_list, webhooks_delete, webhooks_test |
Content Generation
landing-page— Full landing page: discovery, copy, design, build, QA, launchlp-copy— Headlines, CTA, body copy optimizationlp-design— Visual design system, colors, typography, layoutlp-content— Content strategy, testimonial frameworks, social prooflp-seo— SEO metadata, schema markup, Open Graphlp-speed— Core Web Vitals, performance optimization
Analytics & Testing
lp-analytics— GA4, Meta Pixel, event tracking, UTM strategylp-abtest— A/B test design, variants, hypothesis trackinglp-optimize— CRO analysis, friction reduction, conversion improvementslp-funnel— Multi-step funnels, email sequences, upsell flowslp-audit— 7-point page audit (copy, design, SEO, a11y, perf, CRO, mobile)
Marketing Operations
lp-leads— Lead capture forms, popups, exit-intent, sticky barslp-inject— JavaScript injection (chat widgets, heatmaps, tracking pixels)lp-competitor— Competitor page teardown and counter-positioningmarketer-dashboard— Live metrics, strategies, links overviewmarketer-github— GitHub-based publishing workflowmarketer-sync— Sync live platform data locally
Build Blocks
build/create_landing_page— Scaffold a new landing pagebuild/add_form_block— Add lead capture formbuild/add_section_block— Add content sectionsbuild/add_tracking_events— Add analytics eventsbuild/create_funnel_spec— Define funnel structurebuild/scaffold_funnel_routes— Create funnel page routes
Audit Checks
audit/audit_build— Build validationaudit/audit_links— Link integrity checkaudit/audit_lint— Code lintingaudit/audit_typescript— TypeScript checkaudit/audit_env_dns— Env/DNS validationaudit/audit_identifier_lock— ID stability checkaudit/audit_runtime_smoke— Runtime smoke test
Release
release/create_strategy_branch— Create isolated strategy branchrelease/generate_preview— Generate preview URLrelease/open_pr_review— Open PR for reviewrelease/publish_release— Publish to liverelease/rollback_release— Rollback a release
| Agent | Role |
|---|---|
| Agency Director | Orchestrates multi-agent campaigns |
| Campaign Manager | Campaign lifecycle and scheduling |
| Creative Director | Design, copy, and brand direction |
| Growth Strategist | CRO, funnel optimization, analytics |
| Technical Lead | Build, deploy, infrastructure |
| Testing Agent | QA, audits, validation |
| QA Director | Final approval and release sign-off |
| Command | Purpose |
|---|---|
/setup |
Configure environment and credentials |
/deploy |
Deploy to your live {handle}.10x.in page |
/test |
Run server-side quality tests |
/health |
Check all service connections |
/history |
Browse past sessions and summaries |
/feedback |
Visual annotation mode for precise edits |
The 10x.in platform supports three ways to deploy content. Page hosting uses the direct API (not MCP).
| Mode | When to Use | How | Auth |
|---|---|---|---|
| Site Deployment (inline) | Simple pages with inline CSS/JS | POST /v2/handles/{handle}/site-deployments with inlineHtml → returns 201 |
JWT |
| Site Deployment (multi-file) | Pages with separate CSS + JS, build output | POST /v2/handles/{handle}/site-deployments with files array → S3 upload → returns 201 |
JWT |
| Redirect Link | Campaign tracking URLs, short links | links_upsert via MCP (creates 302 redirect, NOT page hosting) |
PAT |
Important:
- Site deployment returns
201 Createdwith adeploymentId. Verify viaGET /v2/handles/{handle}/site-deployments/{deploymentId}/preview(returns signedpreviewUrl). - Multi-file deployments must include a root
index.html— without it, activation fails withmissing_entrypoint. - Use
PUT /v2/handles/{handle}/site-modeto change site display mode (requires owner JWT). - Never use raw S3 bucket URLs for previews — the bucket is origin-private behind CloudFront.
links_upsertcreates redirect links only — it does not host HTML pages.
Your Machine 10x.in Platform
──────────── ──────────────────
Claude Code CLI
+ 10x-marketing-manager
+ .mcp.json → server
┌─── MCP (Bearer USER_PAT) ────────► {handle}.mcp.10x.in
│ Links, tracking, analytics, MCP endpoint (37 tools)
│ webhooks, agent workflow Alt: api.10x.in/mcp/{handle}/mcp
│
├─── Direct API (JWT) ─────────────► api.10x.in
│ Site deployments (HTML hosting), /v2/handles/{handle}/...
│ pages, profile, campaigns, QA
│
└─── Live site ────────────────────► {handle}.10x.in
Deployed pages served here
Your local Claude Code generates content. Two paths to the platform:
- MCP (PAT auth): Links (redirects), tracking, analytics, webhooks, agent workflow. Has ~1KB payload limit. PAT scope families:
tracking.templates.*,analytics.*,webhooks.*,system.*. - Direct API (JWT auth): Site deployments (HTML page hosting), pages, profile, campaigns, QA. No payload limit.
Nothing goes live without passing the server quality gate.
Connect any MCP-compatible client to your 37 Link Platform tools:
{
"mcpServers": {
"marketing-manager-mcp": {
"type": "http",
"url": "https://{handle}.mcp.10x.in/mcp",
"headers": {
"Authorization": "Bearer {YOUR_PAT}",
"Accept": "application/json, text/event-stream"
}
}
}
}Works with: Claude Code (.mcp.json), Cursor (.cursor/mcp.json), Windsurf (.windsurf/mcp.json), Claude Desktop (claude_desktop_config.json).
Alternative URL via resource host: https://api.10x.in/mcp/{handle}/mcp
10x-mm init # Scaffold plugin into current directory
10x-mm update # Update skill files (preserves .env and .mcp.json)
10x-mm doctor # Check environment, auth, and connectivity
10x-mm auth # Show current access tier and PAT status
10x-mm history # Show past session summaries
10x-mm clear # Delete session logs (keeps context.json)
10x-mm version # Show version
10x-mm help # Show usageEvery MCP tool call is logged locally in .mm/ for cross-session continuity. When you start a new conversation, Claude automatically loads context from your last session so it knows what you were working on.
After running /setup, your .env will contain:
USER_PAT=patv1_your_pat_here # PAT (long-lived) for MCP auth
LINK_PLATFORM_PAT=your_jwt_here # JWT (1h expiry) for direct API auth
LINK_PLATFORM_HANDLE=your_handle # Your 10x.in handle
- USER_PAT: Personal Access Token (
patv1_*). Long-lived. For MCP server auth (links, tracking, analytics). Get from profile.10x.in. - LINK_PLATFORM_PAT: JWT from Cognito. Expires every 1 hour. For direct API (site-deployments, pages). Get from profile.10x.in.
- LINK_PLATFORM_HANDLE: Your 10x.in handle (e.g.,
acmedeploys toacme.10x.in)
The landing page skill supports 12 domain categories with tailored section templates:
- SaaS / Software Product
- Ecommerce / Product Page
- Portfolio / Personal Brand
- IT Support / Tech Services
- Event / Webinar / Conference
- Demo / Product Demo
- Lead Magnet / Resource Download
- Agency / Professional Services
- App Download / Mobile App
- Coming Soon / Waitlist
- Nonprofit / Cause
- Real Estate / Property
Each category auto-invokes the right specialist skills (SEO, analytics, lead capture, etc.) based on domain best practices.
| Code | Meaning | Action |
|---|---|---|
401 token_expired |
JWT expired (1h lifetime) | Refresh from profile.10x.in |
401 invalid_token |
Bad PAT/JWT format | Check token in .env |
403 insufficient_scope |
PAT missing required scope | Check PAT permissions |
400 missing_entrypoint |
No index.html in deployment |
Add root index.html |
413 payload_too_large |
Content too large for MCP | Use Direct API instead |
429 rate_limited |
Too many requests | Retry with backoff |
- Platform: 10x.in
- Profile & Tokens: profile.10x.in
- Issues: GitHub Issues
MIT