订阅者分析工具

一个分析订阅者CSV数据的工具,提供域名统计、分类细分、行业垂直分析、受众智能和可分享的HTML报告。

  • by chris-short
  • TypeScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 chris-short/subscriber-analyzer-mcp

使用说明

用户分析器

一个分析订户CSV导出的MCP(模型上下文协议)服务器,为您提供即时的域情报:谁在阅读红帽、谷歌、国防部和麻省理工学院的文章,哪些读者通过RSS桥路由,哪些地址暗示了职位或重要角色。

专为 按下按钮 首先导出,但适用于任何有电子邮件列的CSV。


它做什么

将其指向订户CSV,它会给你:

  • 域名计数 --从最常见到最不常见进行排名
  • 分类细分 --消费者(Gmail、iCloud等)、企业、政府、教育、RSS阅读器/聚合器
  • 垂直行业 --按细分市场(云和基础设施、DevOps和可观察性、金融科技、咨询等)分组的企业用户
  • 受众智能 --电子邮件地址、专业领域份额、组织深度和赞助商格式的复杂度指标中的角色/头衔信号
  • 显著的用户检测 --政府机构、大学、知名科技公司以及带有角色/头衔提示的地址(cto, sre, devops, architect等等)
  • 样式化HTML报告 --从实时数据生成的独立、可共享的赞助商报告

通过MCP暴露的工具

工具 它做什么
analyze_subscribers 完整分析--返回JSON、纯文本或样式化的HTML报告
list_domains 按类别筛选的域列表(corporate, government, education等等)
find_notable_emails 按类型筛选的显著地址(notable-org, government, role-title等等)

快速开始

1.安装

git clone https://github.com/chrisshort/subscriber-analyzer.git
cd subscriber-analyzer
npm install
npm run build

2.添加到克劳德桌面

编辑 ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "subscriber-analyzer": {
      "command": "node",
      "args": ["/absolute/path/to/subscriber-analyzer/dist/index.js"]
    }
  }
}

重新启动克劳德桌面。这三个工具将自动显示。

3.使用它

问克劳德一些自然的问题:

“在~/Downloads/subscribers.CSV上分析我的订户CSV,并告诉我哪些公司域拥有最多的读者。”

“从~/Downloads/subscribers.csv生成赞助商报告,并将其保存到~/Desktop/report.html”

“在~/subscribers.csv中查找所有政府电子邮件地址”

“我的订阅者中有多少百分比使用消费者电子邮件提供商?”


生成HTML赞助商报告

这 analyze_subscribers 工具支持 html 该格式可生成风格完整、自包含的报告——深色主题,有图表、领域表、行业垂直线、角色/头衔信号,以及针对赞助商的受众情报部分。

通过MCP(克劳德桌面)

问克劳德:

“从~/Downloads/subscribers.csv生成标题为“我的时事通讯”的HTML订阅者报告,并将其保存到~/Desktop/report.HTML”

该工具接受以下参数:

参数 默认值 说明
csv_path (必填) CSV订阅者的绝对路径
format json json, text,或 html
title Subscriber Analysis HTML中显示的报告标题
output_path (内联) 将HTML写入此文件路径
top_n 50 要包含的顶级域名数量

PDF格式(用于通过电子邮件发送给赞助商)

HTML报告旨在干净打印。要生成PDF:

  1. 打开已保存的 .html 归档 铬 或 游猎
  2. 按 Cmd+P (macOS)或 Ctrl+P (Windows/Linux)
  3. 集 目的地 “另存为PDF”
  4. 在...之下 更多设置,启用 背景图形
  5. 保存

这比基于Puppeter的自动PDF渲染产生了更清晰的结果,因为浏览器本机处理分页符和深色主题背景。


CSV格式支持

按下按钮(自动检测)

该工具通过检查Buttondown的特征列集来识别其导出格式(id, secondary_id, email, subscriber_type, creation_date).无需配置。

通用的

任何CSV email 柱作品。如果没有按字面意思命名的列 email,该工具扫描列标题并选择样本值包含的第一个列标题 @.


自定义检测

所有分类数据都存在于 src/detectors.ts。编辑它以根据受众调整报告,然后使用重新构建 npm run build.

// Personal mail providers (excluded from "corporate" count)
export const CONSUMER_DOMAINS = new Set([
  "gmail.com", "hotmail.com", /* ... */
]);

// Newsletter aggregators / RSS bridges
export const RSS_READER_DOMAINS = new Set([
  "kill-the-newsletter.com", "newsletters.feedbin.com", /* ... */
]);

// Org keywords that flag a domain as a notable corporate subscriber
export const NOTABLE_ORG_KEYWORDS = [
  "redhat", "microsoft", "amazon", /* ... */
];

// Role/title keywords scanned in email local parts
export const TITLE_KEYWORDS = [
  "cto", "ceo", "sre", "devops", /* ... */
];

// Domains consolidated under a parent (e.g. us.ibm.com → ibm.com)
export const DOMAIN_CONSOLIDATION: Record<string, string> = {
  "us.ibm.com": "ibm.com",
  /* ... */
};

// Domains that look corporate (2+ subscribers) but are actually personal services
export const NON_CORPORATE_DOMAINS = new Set([
  "iki.fi", "linux.com", "pobox.com", /* ... */
]);

// Industry vertical definitions used in the HTML report
export const INDUSTRY_VERTICALS: Record<string, string[]> = {
  "Cloud & Infrastructure": ["redhat", "microsoft", "amazon", /* ... */],
  "DevOps & Observability": ["datadoghq", "pagerduty", /* ... */],
  /* ... */
};

项目结构

subscriber-analyzer/
├── src/
│   ├── index.ts        # MCP server entry point + tool handlers
│   ├── analyzer.ts     # Core analysis logic + plain-text formatter
│   ├── html-report.ts  # Styled HTML report generator
│   ├── detectors.ts    # Domain/email classification data and helpers
│   └── types.ts        # TypeScript interfaces
├── package.json
├── tsconfig.json
└── LICENSE

贡献

欢迎拉取请求。关于良好的首次贡献的几个想法:

  • 添加更多RSS阅读器/时事通讯聚合器域 detectors.ts
  • 支持 转换器套件 和 邮件猩猩 导出格式
  • 扩展 INDUSTRY_VERTICALS 和 DOMAIN_CONSOLIDATION 为您的观众
  • 编写测试(jest或vitest)

许可证

麻省理工学院——见 许可证.


用于分析 DevOps语 用户列表。