Figma Context MCP
Give your coding agent access to your Figma data. Implement designs in any framework in one-shot.
作者による説明(英語の原文)
Unofficial MCP server for Tistory blogs: publish, edit, drafts, images. Private by default.
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
使っているAIアプリを選んで、設定をコピーしてください。
TISTORY_MCP_SESSION_STORE, TISTORY_MCP_MIN_INTERVAL_SEC, TISTORY_MCP_DAILY_CAP, TISTORY_MCP_ALLOW_ANY_HOST必要なもの
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます
{
"mcpServers": {
"tistory": {
"command": "uvx",
"args": [
"tistory-mcp"
],
"env": {
"TISTORY_MCP_SESSION_STORE": "your-value",
"TISTORY_MCP_MIN_INTERVAL_SEC": "your-value",
"TISTORY_MCP_DAILY_CAP": "your-value",
"TISTORY_MCP_ALLOW_ANY_HOST": "your-value"
}
}
}
}ターミナルでこれを実行します
claude mcp add tistory --env TISTORY_MCP_SESSION_STORE=your-value --env TISTORY_MCP_MIN_INTERVAL_SEC=your-value --env TISTORY_MCP_DAILY_CAP=your-value --env TISTORY_MCP_ALLOW_ANY_HOST=your-value -- uvx tistory-mcp動かす前に、空欄の値を入力してください。
プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"tistory": {
"command": "uvx",
"args": [
"tistory-mcp"
],
"env": {
"TISTORY_MCP_SESSION_STORE": "your-value",
"TISTORY_MCP_MIN_INTERVAL_SEC": "your-value",
"TISTORY_MCP_DAILY_CAP": "your-value",
"TISTORY_MCP_ALLOW_ANY_HOST": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"tistory": {
"type": "stdio",
"command": "uvx",
"args": [
"tistory-mcp"
],
"env": {
"TISTORY_MCP_SESSION_STORE": "your-value",
"TISTORY_MCP_MIN_INTERVAL_SEC": "your-value",
"TISTORY_MCP_DAILY_CAP": "your-value",
"TISTORY_MCP_ALLOW_ANY_HOST": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
TISTORY_MCP_SESSION_STORE envTISTORY_MCP_MIN_INTERVAL_SEC envTISTORY_MCP_DAILY_CAP envTISTORY_MCP_ALLOW_ANY_HOST envこの設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月8日にチェック
レジストリ名は、リポジトリを所有するGitHubアカウント jangsejong で確認済みです
このリポジトリはまだGitHubから読み取っていません
このリポジトリはまだGitHubから読み取っていません
これはパソコンで動くため、インターネット上のエンドポイントはありません
パソコンで動き、代わりにローカルの設定を使います
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
GitHubリポジトリの最終更新は–、最新バージョン(0.2.0)がレジストリに届いたのは11 日前です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにPython (uv)も必要です。
同じカテゴリには:Figma Context MCP, Claude Real Video, Figma MCP Server
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:↓ 週あたりのダウンロードi★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i
Give your coding agent access to your Figma data. Implement designs in any framework in one-shot.
Let any LLM watch a video locally — and search everything it has ever watched.
The Figma MCP server brings Figma design context directly into your AI workflow.
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
tistory-mcp
티스토리(Tistory) 블로그를 위한 AI 글쓰기 보조 MCP 서버 — Claude Code·Cursor 같은 MCP 클라이언트에서 내 블로그 글을 읽고, 쓰고, 다듬습니다. 공개 여부는 사람이 결정합니다. An unofficial MCP server for Tistory blogs — an AI writing assistant where a human reviews before anything goes public. English README
비공식 · 카카오/티스토리와 무관. 티스토리 Open API 는 2024년 2월에 종료되었습니다. 이 프로젝트는 브라우저에서 카카오 로그인을 한 번 마친 뒤 내 PC 에 저장한 쿠키로, 티스토리 관리자 화면이 쓰는 내부 JSON API 를 호출합니다. 카카오·티스토리와 아무 관계가 없고, 티스토리 내부가 바뀌면 언제든 멈출 수 있습니다. 엔드포인트 지식은 MIT 라이선스로 공개된 kim-se-hee/tistory-mcp 의 실측 문서를 따릅니다 — 그 프로젝트는 npm 에
tistory-mcp로 배포되는 별개의 TypeScript 프로젝트입니다. `npx tistory-mcp` 와 `uvx tistory-mcp` 는 서로 다른 프로젝트이며, 이 저장소는 Python/PyPI 쪽입니다.
data-ke-* 속성)이 붙은 HTML 변환. 제목·표·인용·목록·이미지가 에디터로 쓴 글처럼 보입니다(코드 블록은 일반 로 나갑니다).login / status / logout) — MCP 클라이언트의 도구 타임아웃을 피해 터미널에서 로그인.| 항목 | 기본 동작 | 바꾸려면 |
|---|---|---|
| 발행 공개 범위 | 비공개(private) | 도구 호출에 visibility="public" 명시 |
| 삭제 | confirm=true 가 없으면 거부. MCP destructiveHint 표시 | — |
| 발행·수정 속도 | 60초 간격, 하루 20회(프로세스 안 스레드 락) | TISTORY_MCP_MIN_INTERVAL_SEC, TISTORY_MCP_DAILY_CAP (0 = 해제) |
| 발행 재시도 | 자동 재시도 없음 — publish 는 호출할 때마다 새 글을 만듭니다 | — |
| 대상 호스트 | *.tistory.com 만 허용 | TISTORY_MCP_ALLOW_ANY_HOST=1 |
| 브라우저 CDP 주소 | loopback(127.0.0.1/localhost)만 허용 | TISTORY_MCP_ALLOW_REMOTE_CDP=1 |
| 본문 HTML | nh3 로 정화 — script·on* 제거, 링크 스킴은 http/https/mailto/tel 만 | — |
| 이미지 치환자 | tistory_upload_image 가 돌려준 형식과 정확히 일치해야 통과 | — |
uv 가 있으면 uvx 가 패키지를 받아 실행합니다.
# macOS / Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
로그인 창을 띄울 브라우저가 필요합니다. Chrome 또는 Edge 가 설치돼 있으면 이 단계는 건너뛰어도 됩니다 (로그인은 번들 Chromium → Chrome → Edge 순으로 시도).
uvx tistory-mcp install-browser # Playwright Chromium 다운로드, 최초 1회 약 300MB
pipx / pip 로 설치
pipx install tistory-mcp # 또는 가상환경에서 pip install tistory-mcp
tistory-mcp --version
이 경우 클라이언트 설정의 command 는 uvx 대신 tistory-mcp 로, args 는 빈 배열로 둡니다.
소스에서 (개발용)
git clone https://github.com/jangsejong/tistory-mcp.git
cd tistory-mcp bash scripts/setup.sh # venv + 의존성 + Chromium + ruff/pytest (--no-browser 로 Chromium 생략) claude mcp add tistory -- "$PWD/.venv/bin/tistory-mcp"
개발 보조 스크립트:
python scripts/mcp_probe.py .venv/bin/tistory-mcp # initialize + tools/list 핸드셰이크
python scripts/mcp_call.py .venv/bin/tistory-mcp -- tistory_fetch_public_posts '{"blog_url":"example.tistory.com","limit":3}' python scripts/mcp_call.py .venv/bin/tistory-mcp -- tistory_publish_post @args.json # 긴 본문은 @파일
Claude Code 예시(다른 클라이언트는 아래):
claude mcp add tistory --scope user -- uvx tistory-mcp
새 세션을 열고 AI 에게 말합니다.
내 티스토리 블로그 myblog.tistory.com 연결해줘
브라우저 창이 뜨면 카카오 로그인 → 카카오톡 푸시 승인을 직접 마칩니다. 쿠키가 저장되면 끝입니다. 이후에는 세션이 만료될 때까지 브라우저 없이 동작합니다. 세션 수명은 일정하지 않습니다 — 실측(2026-10-27)에서 어떤 세션은 로그인 뒤 한 시간 남짓 만에 만료됐고, 다른 세션은 90분 동안 호출이 없어도 다섯 시간 가까이 유지됐다가 여섯 시간 쉬는 사이에 만료됐습니다. 만료되면 도구가 알려 주므로 다시 로그인하면 됩니다.
바로 써 볼 만한 요청:
./post.md를 '개발' 카테고리에 비공개로 올려줘. 태그는 python, mcp.
대부분의 클라이언트는 아래 한 줄이면 됩니다. 환경변수는 각 클라이언트의 env 항목으로 넘깁니다.
{"mcpServers":{"tistory":{"command":"uvx","args":["tistory-mcp"]}}}
Claude Code
claude mcp add tistory --scope user -- uvx tistory-mcp
claude mcp list # 확인 claude mcp remove tistory
--scope user 는 모든 프로젝트에서, 생략(local)하면 현재 프로젝트에서만 보입니다. 프로젝트에 .mcp.json 을 두는 project 범위도 있습니다(이 저장소의 .mcp.json.example 참고).
플러그인으로 설치할 수도 있습니다(같은 uvx tistory-mcp 를 등록):
/plugin marketplace add jangsejong/tistory-mcp
/plugin install tistory@tistory-mcp
Claude Desktop
설정 파일(Claude 메뉴 → Settings → Developer → Edit Config):
~/Library/Application Support/Claude/claude_desktop_config.json%APPDATA%\Claude\claude_desktop_config.json{
"mcpServers": { "tistory": { "command": "uvx", "args": ["tistory-mcp"] } } }
저장 후 Claude Desktop 을 완전히 종료했다가 다시 엽니다. macOS 의 GUI 앱은 셸의 PATH(~/.local/bin 등)를 못 볼 수 있으니 서버가 뜨지 않으면 command 에 which uvx 결과(절대경로)를 넣으세요.
Cursor
전역 ~/.cursor/mcp.json 또는 프로젝트 .cursor/mcp.json:
{
"mcpServers": { "tistory": { "command": "uvx", "args": ["tistory-mcp"] } } }
위의 "Install in Cursor" 버튼을 눌러도 같은 설정이 들어갑니다.
VS Code (Copilot)
워크스페이스 .vscode/mcp.json (VS Code 는 mcpServers 가 아니라 servers 키를 씁니다):
{
"servers": { "tistory": { "type": "stdio", "command": "uvx", "args": ["tistory-mcp"] } } }
사용자 프로필에 두려면 명령 팔레트에서 MCP: Open User Configuration 으로 mcp.json 을 열어 같은 내용을 넣거나, 터미널에서 code --add-mcp '{"name":"tistory","type":"stdio","command":"uvx","args":["tistory-mcp"]}' 를 실행합니다. 위의 "Install in VS Code" 버튼도 같은 일을 합니다.
Codex CLI
codex mcp add tistory -- uvx tistory-mcp
또는 ~/.codex/config.toml:
[mcp_servers.tistory]
command = "uvx" args = ["tistory-mcp"]
Codex 의 도구 호출 제한(tool_timeout_sec)은 기본 60초라 브라우저 로그인이 그 안에 끝나기 어렵습니다. 같은 테이블에 tool_timeout_sec = 600 을 두거나, 터미널에서 tistory-mcp login myblog.tistory.com 으로 먼저 로그인해 두세요.
Gemini CLI
gemini mcp add -s user tistory uvx tistory-mcp
또는 ~/.gemini/settings.json (프로젝트는 .gemini/settings.json):
{
"mcpServers": { "tistory": { "command": "uvx", "args": ["tistory-mcp"] } } }
그 밖의 클라이언트는 위의 공통 JSON(mcpServers 형식)을 해당 클라이언트의 MCP 설정 파일에 넣으면 됩니다.
tistory_session_init 도구(또는 AI 에게 "블로그 연결해줘")가 브라우저 창을 띄웁니다. 카카오 로그인과 카카오톡 푸시 승인은 사용자가 직접 합니다 — 이 2단계 인증은 자동화할 수 없고, 그래서 완전 무인 운영은 설계상 불가능합니다. 로그인이 끝나면 쿠키만 저장되고 창은 닫힙니다.
창이 안 뜨거나 클라이언트가 기다려 주지 않을 때의 대안 세 가지:
1) 터미널에서 로그인(권장) — MCP 클라이언트의 도구 타임아웃과 무관하게 최대 5분(--timeout)을 기다립니다.
tistory-mcp login myblog.tistory.com # uvx 사용 시: uvx tistory-mcp login myblog.tistory.com
tistory-mcp status myblog.tistory.com # 저장된 세션과 유효 여부 tistory-mcp logout myblog.tistory.com # 세션 삭제
2) 이미 떠 있는 브라우저에 붙기 (WSL · SSH · 컨테이너 등 화면이 없는 환경) — 화면이 있는 쪽(예: Windows 데스크톱)에서 원격 디버깅 포트를 열고 브라우저를 띄운 뒤, 서버에는 그 주소만 알려 줍니다.
:: Windows 데스크톱 — Edge 또는 Chrome
msedge --remote-debugging-port=9222 --user-data-dir=%TEMP%\tistory-login chrome --remote-debugging-port=9222 --user-data-dir=%TEMP%\tistory-login
# WSL 등 서버 쪽
tistory-mcp login myblog.tistory.com --cdp-url http://127.0.0.1:9222
붙은 브라우저의 쿠키를 읽어 오므로, 평소 쓰는 프로필 대신 전용 `--user-data-dir` 를 쓰는 것을 권합니다. CDP 주소는 기본적으로 loopback 만 허용됩니다.
3) 원격 서버 — 로컬 PC 에서 2) 처럼 브라우저를 띄운 뒤, 로컬 PC 에서 서버로 접속하면서 서버 쪽 포트를 내 브라우저로 역방향 포워딩합니다. 서버에서는 여전히 127.0.0.1:9222 로 보이므로 원격 허용 설정이 필요 없습니다.
ssh -R 9222:127.0.0.1:9222 user@server # 로컬 PC 에서 실행 — 서버의 127.0.0.1:9222 → 내 브라우저
| 도구 | 종류 | 설명 | 로그인 |
|---|---|---|---|
tistory_session_init | 쓰기 | 브라우저를 열어 카카오 로그인 → 쿠키 저장. cdp_url 을 주면 --remote-debugging-port=9222 로 떠 있는 브라우저에 붙음(WSL·SSH·컨테이너용) | 이 도구가 로그인 |
tistory_session_status | 읽기 | 저장된 세션 유무·저장 시각·만료 예정, 그리고 지금 유효한지(관리자 API 1회 호출) | 불필요 |
tistory_get_categories | 읽기 | 카테고리 트리(정수 id). 발행·수정의 category 는 이름이 아니라 이 id | 필요 |
tistory_list_posts | 읽기 | 관리자 글 목록(비공개·보호 글 포함). 키워드·검색 범위·공개 범위·카테고리·페이지 | 필요 |
tistory_get_post | 읽기 | 글 메타 + 스킨으로 렌더된 본문 HTML. 비공개 글도 읽음 | 필요 |
tistory_fetch_public_posts | 읽기 | 아무 블로그의 공개 글 RSS(최대 50건, 본문 포함 옵션) | 불필요 |
tistory_publish_post | 쓰기 | 새 글 발행. 마크다운 → 에디터 서식 HTML. 기본 비공개. 속도 제한. 오류 뒤 자동 재시도 금지(항상 새 글이 생김) | 필요 |
tistory_update_post | 쓰기 | 본문 전체 교체. 제목·카테고리·공개 범위·슬러그·태그는 생략하면 유지. content_format 기본 html(마크다운이면 명시) | 필요 |
tistory_delete_post | 파괴적 | 영구 삭제. confirm=true 필수 | 필요 |
tistory_upload_image | 쓰기 | 이미지(png/jpg/gif/webp, 20MB) 업로드 → substitution(본문에 그대로 붙여넣기) + attachment_ref(attachments 에 전달하지 않으면 약 15일 뒤 이미지가 깨짐) | 필요 |
tistory_save_draft | 쓰기 | 에디터 자동저장 슬롯(1개) 에 초안 기록 — 다음에 글쓰기를 열면 "이어서 작성"으로 복원. "임시저장 N개" 목록이 아니며 다시 저장하면 덮어씀 | 필요 |
도구 설명은 영문과 한국어를 병기해 어느 언어로 대화해도 같은 안내를 받습니다.
myblog.tistory.com 카테고리 보여줘
./post.md 를 '개발' 카테고리에 비공개로 올려줘. 태그는 python, mcp
./diagram.png 올려서 두 번째 문단 뒤에 넣고, 비공개로 발행해줘
검토했어. 방금 올린 글 공개로 바꿔줘
제목에 '회고' 들어간 글 찾아서 오타만 고쳐줘. 공개 상태는 그대로
example.tistory.com 최근 글 5개 요약해줘 (남의 블로그 공개 글 — 로그인 불필요)
이 내용은 초안으로만 저장해 둬. 발행은 하지 말고
내 블로그 세션 아직 살아 있어?
AI 가 쓰고 사람이 검토한 뒤 공개하는 기본 흐름입니다.
tistory_get_categories — 카테고리 id 를 얻습니다(이름은 받지 않음).tistory_upload_image — 이미지마다 호출해 substitution 은 본문에, attachment_ref 는 attachments 목록에 넣습니다.tistory_publish_post — 마크다운 본문으로 비공개 발행. 응답의 글 번호를 기억합니다.tistory_update_post 로 본문을 다시 보냅니다(마크다운이면 content_format="markdown").tistory_update_post 에 visibility="public" — 이때 비로소 공개됩니다.발행이 오류나 타임아웃으로 끝났다면 바로 다시 호출하지 말고 tistory_list_posts 로 글이 생겼는지 먼저 확인하세요. 서버는 호출마다 새 글을 만듭니다.
| 변수 | 기본값 | 설명 |
|---|---|---|
TISTORY_MCP_HOME | ~/.config/tistory-mcp | 세션·속도 제한 상태 파일 위치. XDG_CONFIG_HOME 을 따름 |
TISTORY_MCP_SESSION_STORE | file | file(0600 JSON) 또는 keyring(OS 자격증명 저장소). keyring 은 pip install "tistory-mcp[keyring]" 필요, Linux 는 Secret Service 필요, Windows 는 미지원 |
| `TI
冒頭だけを表示しています。続きはリポジトリで読めます