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.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 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月10日
注册名称已通过 GitHub 账户 jangsejong 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
它在你的电脑上运行,没有互联网端点
在你的电脑上运行,改用本地设置
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
GitHub 仓库最后更新于–,最新版本(0.2.0)于13天前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Python (uv)。
同一分类中有:Figma Context MCP, Claude Real Video, Figma MCP Server
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:↓ 每周下载量i★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况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
只显示了开头部分;其余内容请在仓库中阅读