Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
TISTORY_MCP_HOMENo세션·속도 제한 상태 파일 위치. `XDG_CONFIG_HOME` 을 따름 (Location of session and rate-limit state files; follows XDG_CONFIG_HOME)~/.config/tistory-mcp
TISTORY_MCP_CDP_URLNo`cdp_url` 인자를 생략했을 때 쓸 브라우저 CDP 주소 (Browser CDP address used when the cdp_url argument is omitted)
TISTORY_MCP_DAILY_CAPNo하루 발행·수정 상한. `0` = 해제 (Daily cap on publish/update calls; 0 disables)20
TISTORY_MCP_LOG_LEVELNostderr 로그 레벨 (stderr log level)INFO
TISTORY_MCP_SESSION_STORENo`file`(0600 JSON) 또는 `keyring`(OS 자격증명 저장소). keyring 은 `pip install "tistory-mcp[keyring]"` 필요, Linux 는 Secret Service 필요, Windows 는 미지원 (file = 0600 JSON, or keyring = OS credential store)file
TISTORY_MCP_ALLOW_ANY_HOSTNo`1` 이면 `*.tistory.com` 외 호스트(커스텀 도메인) 허용 (Set to 1 to allow hosts other than *.tistory.com, e.g. custom domains)
TISTORY_MCP_ALLOW_REMOTE_CDPNo`1` 이면 loopback 이 아닌 CDP 주소 허용 (Set to 1 to allow non-loopback CDP addresses)
TISTORY_MCP_MIN_INTERVAL_SECNo발행·수정 사이 최소 간격(초). `0` = 해제 (Minimum interval in seconds between publish/update calls; 0 disables)60

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}

Tools

Functions exposed to the LLM to take actions

NameDescription
tistory_session_initA

Open a browser for the Kakao login (카카오 로그인 + 카카오톡 승인) and save the cookies.

Blocks until the user finishes or timeout_sec passes — tell the user to look for the browser window and approve the KakaoTalk push before calling. The KakaoTalk 2-factor approval cannot be automated. Once saved, other tools work without a browser until the session expires (it can be as short as an hour or so); call again when a tool reports an expired session.

tistory_session_statusA

Report whether a saved session exists, when it was saved and when it expires.

Also makes one admin API call to tell whether it is live right now (valid/expired).

tistory_get_categoriesA

Return the category tree flattened to id / name / parent id.

Use the integer id here as category when publishing or updating (names are not accepted).

tistory_list_postsA

List posts from the admin side (includes private and protected posts), one page at a time.

Bodies are not included — use tistory_get_post for the body.

tistory_get_postA

Return one post's metadata (from the admin list) and its body HTML (from the post page).

Works for private posts with the saved session. The body is the skin-rendered HTML, not the original markdown (Tistory keeps no markdown). To edit, write the new body yourself and send it with tistory_update_post rather than echoing content_html back.

tistory_fetch_public_postsA

Fetch the latest public posts of any Tistory blog from its RSS feed. No login needed.

tistory_publish_postA

Create a NEW post. Every call creates a new post — this is not a draft and not an update.

Do not retry after an error or timeout without checking tistory_list_posts first, or the post may be duplicated. Defaults to private so the user can review it before switching to public with tistory_update_post. Rate-limited (default 60 s apart, 20 per day).

tistory_update_postA

Update an existing post. The body must be sent in full (the server does not merge).

Title, category, visibility and slug keep their current values when omitted; tags are kept by reading them from the post page (pass [] to clear). Rate-limited together with publish.

tistory_delete_postA

Permanently delete a post. Cannot be undone.

Ask the user to confirm in chat, then call with confirm=true.

tistory_upload_imageA

Upload an image and return substitution (paste into the body) and attachment_ref.

Put substitution verbatim where the image goes, and pass attachment_ref in attachments when publishing/updating — otherwise the image is garbage-collected after about 15 days. Do not put the returned URL into the body directly.

tistory_save_draftA

Write a draft into the editor's single autosave slot. No post is created.

The next time the user opens the editor it offers to restore this draft. There is only one slot, so saving again overwrites the previous draft. For several reviewable drafts, publish with visibility='private' instead.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4.1/5.0

Scored across 11 tools

Disambiguation4/5

Most tools target clearly distinct actions, and descriptions go out of their way to separate look-alikes (list_posts vs get_post vs fetch_public_posts, publish_post vs save_draft). The only mild overlaps are draft-save vs publish-as-private and admin list vs RSS fetch, but the descriptions disambiguate those well.

Naming Consistency4/5

All tools share a tistory_ prefix and snake_case, with a mostly verb_noun pattern (get_categories, list_posts, publish_post, update_post, delete_post, upload_image). Minor deviations are session_init/session_status, which are noun-based rather than verb-based.

Tool Count5/5

Eleven tools is well within the sweet spot and each maps to a meaningful operation in the Tistory workflow. Nothing feels redundant or padded, and no core action appears to be missing a slot.

Completeness4/5

Full post lifecycle (list/get/publish/update/delete), session management, image upload, and draft handling are all covered, plus an unauthenticated RSS reader. Minor gaps exist around comment management and category creation, though these are limited by Tistory's API surface.

Maintenance

ActivityMaintained
ResponsivenessNo issues