npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@datasee/mailroom-cli

v0.3.0

Published

CLI and MCP server for mailroom, the self-hosted newsletter platform. Manage address books, write newsletters in Markdown, send, and read delivery stats — or let Claude do it.

Readme

@datasee/mailroom-cli

mailroom — 셀프호스트 뉴스레터 플랫폼 — 을 터미널에서 다루는 CLI. mailroom mcp 로 MCP 서버가 되어 Claude 같은 AI 도구가 주소록을 뒤지고, 뉴스레터를 쓰고, 성과를 읽을 수 있다.

npm i -g @datasee/mailroom-cli
mailroom login --url https://mailroom.example.com
mailroom doctor

login 은 사내 SSO 로 붙는다. 브라우저가 열리고 승인하면 끝이다 — 키를 복사해 붙일 일이 없다. 세션은 14일 유효하고 mailroom login --status 로 남은 기간을 볼 수 있다.

무인 실행(CI, 서버 연동)처럼 브라우저를 띄울 수 없는 곳에서는 API 키를 쓴다:

mailroom login --url https://mailroom.example.com --key mrk_...

doctor 는 연결·인증 방식·발신자 인증·발송 가능 여부를 한 번에 확인해 준다. 여기서 초록불이면 나머지도 다 된다.

자주 쓰는 것

mailroom lists ls                          # 주소록과 구독자 수
mailroom subs ls <listId> -q 대학교         # 이메일·이름·회사 어디든 검색
mailroom subs import <listId> people.csv   # CSV 로 일괄 추가
mailroom subs export <listId> out.csv

mailroom campaigns create --list <listId> --subject "9월 1주차" --markdown draft.md
mailroom campaigns check <id>              # 대상 인원과 빠진 것
mailroom campaigns test <id> -e [email protected]
mailroom campaigns send <id> --yes
mailroom campaigns stats <id>

mailroom templates ls
mailroom templates import newsletter.html -n "주간 템플릿"
mailroom auto ls
mailroom stats overview --from 2026-01-01 --interval month

--yes 없이 send 를 부르면 대상 인원만 보여주고 아무것도 보내지 않는다. 대부분의 명령에 --json 이 있다.

마크다운으로 뉴스레터 쓰기

블록 JSON 을 직접 조립하는 것보다 이쪽이 훨씬 쉽다.

| 쓰면 | 나오는 상자 | |---|---| | # 제목 | 텍스트(제목) | | 빈 줄로 나눈 문단 | 텍스트 | | - 항목 / 1. 항목 | 텍스트(목록) | | ![alt](url) | 이미지 | | [문구](url){.button} | 버튼 | | --- | 구분선 | | <!-- spacer:32 --> | 공백 |

$%name%$, $%company%$ 처럼 구독자 필드 key 를 쓰면 사람마다 치환된다. $%unsubscribe%$ 는 수신거부 링크가 된다.

mailroom campaigns create --list <listId> --subject "..." --markdown - < draft.md

MCP — AI에게 맡기기

mailroom login --url https://mailroom.example.com   # 먼저 로그인해 두고
claude mcp add mailroom -- mailroom mcp

MCP 서버는 CLI 설정을 그대로 쓰므로 SSO 로 로그인해 뒀다면 환경변수가 필요 없다. 다만 세션이 만료되면(14일) 다시 로그인해야 한다 — 계속 붙어 있어야 한다면 API 키를 쓴다:

{
  "mcpServers": {
    "mailroom": {
      "command": "mailroom",
      "args": ["mcp"],
      "env": {
        "MAILROOM_URL": "https://mailroom.example.com",
        "MAILROOM_API_KEY": "mrk_..."
      }
    }
  }
}

도구 24개가 붙는다 — 주소록 조회·구독자 검색/추가, 이메일 생성(마크다운)·수정· 대상 설정·미리보기·발송 전 점검·테스트 발송·발송·예약·취소, 템플릿, 자동 이메일, 캠페인별·기간별 통계.

되돌릴 수 없는 동작에는 잠금장치가 있다. 발송·예약·자동 이메일 켜기는 confirm: true 없이는 실행되지 않고, 대신 대상 인원과 점검 결과를 돌려주며 사람에게 확인받으라고 답한다. AI가 혼자 수만 명에게 메일을 쏘는 사고를 막기 위한 것이다.

설정

MAILROOM_URL / MAILROOM_API_KEY / MAILROOM_TOKEN 환경변수가 설정 파일보다 우선한다. 설정 파일은 ~/.config/mailroom/config.json 이고 토큰이 들어 있어 600 으로 저장된다. MAILROOM_CONFIG 로 위치를 바꿀 수 있다. mailroom logout 으로 지운다.

API 키는 mailroom 웹의 설정 → API 키에서 발급한다. 사람이 쓸 때는 SSO 가 낫다 — 키는 만료가 없어서 계정을 막아도 살아 있고, 셸 히스토리에도 남는다.

라이선스

MIT