Wordy Page
Publish free web pages and multi-page sites at wordy.page/your-name, with library photos by ID.
사용해야 할까요
품질 및 안전성
발견 사항 (2)
- HIGH
- MEDIUMcheck_slug에서
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"wordy-page": {
"url": "https://wordy.page/mcp/auth"
}
}
}원격 엔드포인트
https://wordy.page/mcp/authstreamable-httphttps://wordy.page/mcpstreamable-http할 수 있는 일
도구 목록
도구 (5)
🟢check_slug(slug)
Check whether a Wordy Page web address slug (https://wordy.page/<slug>/) is valid and available, and return a normalized slug suggestion.
입력 스키마
{
"type": "object",
"properties": {
"slug": {
"type": "string",
"description": "Desired web address slug (3-40 lowercase letters, numbers, or single hyphens) or a site name to normalize into a slug."
}
},
"required": [
"slug"
]
}🟢get_page(slug)
Read the structured JSON metadata and content (site_name, theme, home page, sections/sub-pages with their header photos, updated timestamp, and live URLs) of an existing published site on wordy.page.
입력 스키마
{
"type": "object",
"properties": {
"slug": {
"type": "string",
"description": "The slug of the published site on wordy.page (e.g., \"sample\")."
}
},
"required": [
"slug"
]
}🟢list_pages(session_token, st)
List sites owned by the authenticated session (when session_token or `st` or Authorization/X-PQ-Session is provided), or list official public sample sites on wordy.page.
입력 스키마
{
"type": "object",
"properties": {
"session_token": {
"type": "string",
"description": "Optional session token (`st`) returned after email link verification to list your own pages."
},
"st": {
"type": "string",
"description": "Alias for `session_token`."
}
}
}🟢search_photos(query, page, pick_first)
Search Unsplash photos via Wordy Page and optionally register a chosen photo ID so you can use it as a page header image (`photo` / `sections[].photo` in `create_or_update_page`; one image per page).
입력 스키마
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Search keywords (e.g., \"coastal sunset\", \"coffee shop\", \"modern architecture\")."
},
"page": {
"type": "integer",
"description": "Page number (1 to 5, default 1).",
"default": 1
},
"pick_first": {
"type": "boolean",
"description": "If true (default), automatically registers the top photo result with Unsplash so its id is immediately ready to use as a page `photo`.",
"default": true
}
},
"required": [
"query"
]
}🔴create_or_update_page(slug, from_slug, owner_email, session_token, login_token, ...)
Create a new single-page or multi-page website or update an existing site on wordy.page. Supports up to 10 pages per site, simple Light or Dark mode (`theme`: "light" or "dark"), one Unsplash header image per page (`photo` on the home page and on each section, which also renders a 50%-opacity blurred full-viewport background), plain-text formatting limited to ALL CAPS blue light-bold highlights (do NOT use **bold** Markdown asterisks) and space/tab indentation (blank lines stay blank, no <hr> dividers), safe plain-text HTML/code escaping, automatic URL/email linking, and an optional contact form on any page (`cf: true` on the home page or a section; Email + Message only). If authenticated with a matching session_token, publishes immediately (`status: "live"`); otherwise emails a one-tap verification/publish link to `owner_email` (`status: "Verify email"`).
입력 스키마
{
"type": "object",
"properties": {
"slug": {
"type": "string",
"description": "Target web address slug (3-40 chars, lowercase letters/digits/hyphens), published at https://wordy.page/<slug>/."
},
"from_slug": {
"type": "string",
"description": "Optional old slug if renaming/moving an existing site you own to a new slug."
},
"owner_email": {
"type": "string",
"description": "Owner email address (receives the one-tap verification link and any contact form messages; never displayed publicly)."
},
"session_token": {
"type": "string",
"description": "Optional 30-day session token (`st`) if already authenticated for `owner_email`."
},
"login_token": {
"type": "string",
"description": "Optional 32-character one-time token from an emailed `https://wordy.page/pages?login=<token>` link to redeem and authenticate right away."
},
"title": {
"type": "string",
"description": "Site name displayed in the sticky top header bar (max 36 characters; stacks up to 2 lines on mobile without changing header height, and clicks back to the first home page)."
},
"heading": {
"type": "string",
"description": "Home page heading (H1, max 80 characters)."
},
"description": {
"type": "string",
"description": "Home page body text (max 20,000 chars). Formatting is plain text with ONLY two features: indentation (leading spaces/tabs are preserved) and ALL CAPS (contiguous sequences of 2+ uppercase letters render blue and lightly bold; do NOT use **bold** asterisks). Each \\n is a line break and blank lines (\\n\\n) simply stay blank lines (no <hr> dividers). Plain URLs, emails and [anchor](https://...) links are auto-linked; HTML is escaped. Images are NOT placed in text: give each page one header image with its `photo` field."
},
"photo": {
"type": "string",
"description": "Optional single header image for the home page: an Unsplash photo id from `search_photos`. Renders below the page name and above the text, with photographer credit. One image per page."
},
"theme": {
"type": "string",
"enum": [
"light",
"dark"
],
"default": "light",
"description": "Visual theme (\"light\" or \"dark\")."
},
"sections": {
"type": "array",
"maxItems": 9,
"description": "Optional additional sub-pages (up to 9 extra pages, home + 9 = 10 pages total, each given its own URL `/<slug>/<page-slug>/` and navigation menu item).",
"items": {
"type": "object",
"required": [
"heading",
"text"
],
"properties": {
"heading": {
"type": "string",
"description": "Sub-page name (max 80 chars)."
},
"text": {
"type": "string",
"description": "Sub-page body text (max 20,000 chars; same plain-text rules as `description`: only indentation and ALL CAPS formatting)."
},
"photo": {
"type": "string",
"description": "Optional single header image for this page (Unsplash photo id from `search_photos`)."
},
"cf": {
"type": "boolean",
"default": false,
"description": "Include a contact form (Email + Message only) at the bottom of this page; messages are emailed to the owner."
}
}
}
}
},
"required": [
"slug",
"owner_email",
"title",
"heading",
"description"
]
}커뮤니티
증거