Figma Context MCP
Give your coding agent access to your Figma data. Implement designs in any framework in one-shot.
Description from the maker (original English)
Unofficial MCP server for Tistory blogs: publish, edit, drafts, images. Private by default.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
TISTORY_MCP_SESSION_STORE, TISTORY_MCP_MIN_INTERVAL_SEC, TISTORY_MCP_DAILY_CAP, TISTORY_MCP_ALLOW_ANY_HOSTYou need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into 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"
}
}
}
}Run this in your terminal
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-mcpFill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.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"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"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"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
TISTORY_MCP_SESSION_STORE envTISTORY_MCP_MIN_INTERVAL_SEC envTISTORY_MCP_DAILY_CAP envTISTORY_MCP_ALLOW_ANY_HOST envThese settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 9, 2026
The registry name was verified with the GitHub account jangsejong, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
The registry does not list a required key, though some servers ask you to sign in on first use.
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (0.2.0) reached the registry 12 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Python (uv) on your computer.
In the same category: Figma Context MCP, Claude Real Video, Figma MCP Server
Servers in the same category from other makers, sorted by stars.
Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
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.
Figma’s official server gives AI your design data so it can turn designs into code or describe them accurately. Connects to Figma’s cloud.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
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
Only the beginning is shown; read the rest in the repo