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

@itapi-core/mcp-tistory

v1.4.1

Published

티스토리 블로그 자동화 MCP 서버 (ID/PW 자동 로그인, 글 작성/수정/임시저장, 카테고리) | MCP server for Tistory blog automation (auto login with ID/PW, post write/modify/draft, categories)

Readme

@itapi-core/mcp-tistory

MCP server for Tistory blog automation — auto login with ID/PW, post write/modify/draft, image upload, categories.

티스토리 공개 API(OAuth)는 카카오가 종료했습니다. 이 서버는 카카오 계정 ID/PW로 자동 로그인 후 내부 관리 API를 사용합니다.

Tools

인증 & 설정 (Auth & Setup)

| Tool | viruagent | Description | |------|-----------|-------------| | tistory_auth_status | /login | 현재 세션 상태 확인 | | tistory_session_logout | /logout | 세션 파일 삭제 및 로그아웃 | | tistory_blog_set_name | - | 블로그 이름(서브도메인) 수동 설정 | | tistory_set_defaults | /set category /set visibility | 기본 카테고리/공개설정 변경 |

블로그 & 포스트 (Blog & Post)

| Tool | viruagent | Description | |------|-----------|-------------| | tistory_blog_get_info | - | 블로그 목록 조회 | | tistory_post_list | /list | 글 목록 조회 | | tistory_post_get | /preview | 특정 글 내용 조회 | | tistory_post_write | /publish | 새 글 작성 및 발행 | | tistory_post_modify | /edit | 기존 글 수정 | | tistory_post_draft | /draft | 글 임시저장 (작성 또는 draftSequence로 수정) | | tistory_post_attach | - | 이미지 업로드 | | tistory_post_delete | - | 글 삭제 |

임시저장 글 (Drafts)

| Tool | Description | |------|-------------| | tistory_draft_list | 임시저장 글 목록 조회 | | tistory_draft_get | 특정 임시저장 글의 상세 내용 조회 | | tistory_draft_delete | 특정 임시저장 글 삭제 |

카테고리 (Category)

| Tool | viruagent | Description | |------|-----------|-------------| | tistory_category_list | /categories | 카테고리 목록 조회 ({ "카테고리명": id }) |

Setup

1. 설치 및 빌드

npm install
npx playwright install chromium   # 자동 로그인에 필요
npm run build

2. MCP Client Configuration

TISTORY_IDTISTORY_PW를 설정하면 세션이 없을 때 자동으로 로그인합니다.
세션은 ~/.tistory-mcp/session.json에 저장되어 재사용됩니다.

{
  "mcpServers": {
    "tistory": {
      "command": "npx",
      "args": ["-y", "@itapi-core/mcp-tistory"],
      "env": {
        "TISTORY_ID": "your_kakao_email",
        "TISTORY_PW": "your_kakao_password",
        "TISTORY_BLOG_NAME": "myblog"
      }
    }
  }
}

Environment Variables

| Variable | Required | Description | |----------|----------|-------------| | TISTORY_ID | ✅ | 카카오 계정 이메일 또는 전화번호 | | TISTORY_PW | ✅ | 카카오 계정 비밀번호 | | TISTORY_BLOG_NAME | ❌ | 기본 블로그 서브도메인 (미설정 시 대표 블로그 자동 감지) | | TISTORY_SESSION_FILE | ❌ | 세션 파일 경로 (기본: ~/.tistory-mcp/session.json) | | TISTORY_COOKIES | ❌ | 쿠키 문자열 직접 입력 (ID/PW 대신 사용) | | PORT | ❌ | HTTP 포트 (기본: 3000) | | TRANSPORT | ❌ | stdio | http |

동작 방식

MCP Tool 호출
  └─ 세션 파일 확인 (~/.tistory-mcp/session.json)
       ├─ 있으면 → 쿠키로 API 호출
       │            └─ 응답이 "세션 만료"로 판단되면(401/403 또는 비-JSON 응답)
       │               기존 세션 폐기 → TISTORY_ID/PW로 재로그인 → 세션 저장 → 1회 재시도
       └─ 없으면 → TISTORY_ID/PW로 Playwright headless 자동 로그인
                   → 세션 저장 → API 호출

세션이 중간에 만료되더라도(예: 장시간 미사용, 외부에서 로그아웃 등) 별도의 수동 재로그인 없이 자동으로 재로그인 후 요청을 이어갑니다. 재로그인까지 실패한 경우에만 오류가 반환됩니다.

Docker

.env 파일에 계정 정보를 설정한 뒤 실행합니다:

# .env
TISTORY_ID=your_kakao_email
TISTORY_PW=your_kakao_password
TISTORY_BLOG_NAME=myblog   # 선택사항
docker-compose up -d
  • 세션은 Docker volume tistory-session에 저장되어 컨테이너 재시작 후에도 유지됩니다.
  • 카카오 2단계 인증이 설정된 계정은 첫 실행 시 tistory_auth_status 도구로 세션 상태를 확인하세요.
  • HTTP 엔드포인트: http://localhost:3000/mcp

Visibility 값

| 값 | 설명 | |----|------| | 0 | 비공개 | | 15 | 보호 (비밀번호) | | 20 | 공개 (기본값) |