1. Conduid
  2. Communication
  3. Seedlens
MCP server · Communication

Seedlens

Marketing automation MCP server — crawl pages, extract SEO data & contacts, send marketing emails.

Unclaimed last commit 7 months ago mcp-clientmcpcommsseo
54Fair

Scored yesterday · breakdown

About Seedlens

Seedlens is an MCP server published by caterpi11ar in the Communication category: marketing automation MCP server — crawl pages, extract SEO data & contacts, send marketing emails.

The repository has 1 stars and 0 forks, with the last commit 7 months ago. Six months or more without a commit doesn't mean the server is broken, but check the open issues before depending on it in production.

Install

From source
git clone https://github.com/caterpi11ar/seedlens

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Tools (4)

extract_contactsCrawl a URL and extract emails, phone numbers, social media links, and physical addresses

Parameters not published.

extract_seo_dataCrawl a URL and extract meta tags, Open Graph, headings, images, links, JSON-LD, robots.txt, sitemap

Parameters not published.

preview_marketing_emailRender an email HTML preview without sending

Parameters not published.

send_marketing_emailRender and send a marketing email via SMTP using a React Email template

Parameters not published.

Ask AI

✦

Ask AI about Seedlens

Powered by Claude · Grounded in docs

I know everything about Seedlens. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

  • ✓README presentThe repository ships documentation.
  • !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.

4 checks have not been run yet.

Releases

v1.0.0v1.0.0 · 28 Feb 2026SeedLens Website v1.0.0 Release Date:** 2026-02-28 Overview SeedLens 官网首个正式版本发布。包含完整的营销落地页,支持中英文双语,涵盖产品介绍、定价方案及联系入口。 Features Landing Page Hero 区域:品牌标语、产品描述及主要 CTA 按钮 Bento Grid:产品核心功能展示(Topic Void Detection、Demand Mapping、Knowledge…

README

中文版

SeedLens

Marketing automation MCP server — crawl pages, extract SEO data & contacts, send marketing emails.

Overview

SeedLens is a Model Context Protocol (MCP) server that turns any AI assistant (Claude, Cursor, VS Code Copilot, etc.) into a marketing automation tool. It provides 4 tools:

Tool Description
extract_contacts Crawl a URL and extract emails, phone numbers, social media links, and physical addresses
extract_seo_data Crawl a URL and extract meta tags, Open Graph, headings, images, links, JSON-LD, robots.txt, sitemap
send_marketing_email Render and send a marketing email via SMTP using a React Email template
preview_marketing_email Render an email HTML preview without sending

Tech Stack

  • TypeScript (ESM) + @modelcontextprotocol/sdk v2
  • Zod v4 — input/output schema validation for all tools
  • Playwright — headless Chromium browser for page crawling
  • Nodemailer — SMTP email delivery (QQ Mail, Gmail, etc.)
  • React Email — inline-styled HTML email templates
  • Vitest — testing framework

Quick Start

Prerequisites

  • Node.js >= 18
  • npm

Install

npm install
npx playwright install chromium

Configure

Copy the example env file and fill in your SMTP credentials:

cp .env.example .env

.env fields:

Variable Description Default
SMTP_HOST SMTP server hostname smtp.qq.com
SMTP_PORT SMTP server port 465
SMTP_USER Sender email address —
SMTP_PASSWORD SMTP authorization code —
BROWSER_HEADLESS Run browser headless true
BROWSER_TIMEOUT Page load timeout (ms) 30000

Build & Run

# Build
npm run build

# Run (stdio transport)
npm start

# Dev mode (no build needed)
npm run dev

Test

npm test

IDE Integration

Claude Code

The MCP server is auto-configured via .claude/settings.local.json. After building, restart Claude Code and the 4 tools will be available.

Cursor

Configured via .cursor/mcp.json. Set SMTP environment variables in your shell or .env before launching.

VS Code

Configured via .vscode/mcp.json with input prompts — you'll be asked for SMTP credentials on first run.

Project Structure

seedlens/
├── src/
│   ├── index.ts                       # Entry: register tools + stdio transport
│   ├── config/env.ts                  # Environment variable validation (Zod)
│   ├── i18n/strings.ts                # Email i18n strings + subject template resolver
│   ├── schemas/
│   │   ├── common.schema.ts           # URL, timestamp, ExtractionMeta
│   │   ├── contact.schema.ts          # Contact extraction input/output
│   │   ├── seo.schema.ts             # SEO data input/output
│   │   └── email.schema.ts           # Email tool input/output
│   ├── services/
│   │   ├── browser-manager.ts         # Playwright singleton + withPage()
│   │   ├── contact-extractor.ts       # Contact DOM extraction
│   │   ├── seo-extractor.ts          # SEO DOM extraction
│   │   └── email-service.ts          # Nodemailer + React Email rendering
│   ├── templates/
│   │   └── marketing-email.tsx        # React Email marketing template
│   └── tools/
│       ├── extract-contacts.ts        # extract_contacts tool registration
│       ├── extract-seo-data.ts        # extract_seo_data tool registration
│       ├── send-marketing-email.ts    # send_marketing_email tool registration
│       └── preview-marketing-email.ts # preview_marketing_email tool registration
├── tests/
│   ├── setup.ts                       # Vitest global setup/teardown
│   ├── extract-contacts.test.ts
│   ├── extract-seo-data.test.ts
│   ├── preview-marketing-email.test.ts
│   ├── resolve-subject.test.ts
│   └── send-marketing-email.test.ts
├── package.json
├── tsconfig.json
└── vitest.config.ts

Architecture

Browser Manager

A singleton Playwright browser instance is reused across requests to avoid the 1-3s cold start per launch. Each tool call gets an isolated BrowserContext via withPage(url, fn), ensuring no cookie/state leakage between requests. The browser is automatically cleaned up on process exit.

Single page.evaluate()

All DOM queries (contacts, SEO data) are executed in a single page.evaluate() call, minimizing IPC round-trips between Node.js and the browser for optimal performance.

Email Rendering

Marketing emails are built with React Email components using inline CSS styles for maximum email client compatibility. The renderEmail() function produces both HTML and plain text versions.

Schema Validation

Every tool uses Zod schemas for both inputSchema and outputSchema, providing type-safe validation and enabling MCP clients to understand the data structure.

Usage Examples

Once connected to an MCP client, you can use natural language:

"Extract contact information from https://example.com"

"Analyze the SEO of https://example.com"

"Analyze https://example.com, find the owner's email, and send them a marketing email about their SEO issues"

"Preview a marketing email for Bob about his website's missing meta descriptions"

License

MIT

README copy captured when this server was indexed; it may lag the repository. The original is authoritative.

Questions

About Seedlens

How do I install Seedlens?

No package has been published for this server, so install it from source: clone the repository and follow its README.

Is Seedlens safe to use with an AI agent?

Its trust score is 54 out of 100 (fair). It passes 1 of the 2 static security checks run so far; the failures are listed above. It has no ConduID identity yet, so agent calls to it are not receipted.

Is Seedlens still maintained?

The last commit was 7 months ago. That's long enough that you should check whether the maintainer is responding to issues before depending on it.