Wordy Page
Publish free web pages and multi-page sites at wordy.page/your-name, with library photos by ID.
¿Debería usar esto?
Calidad y seguridad
Hallazgos (2)
- HIGH
- MEDIUMen check_slug
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"wordy-page": {
"url": "https://wordy.page/mcp/auth"
}
}
}Puntos de conexión remotos
https://wordy.page/mcp/authstreamable-httphttps://wordy.page/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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).
Esquema de entrada
{
"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"`).
Esquema de entrada
{
"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"
]
}Comunidad
Evidencia