Wordy Page
Server Details
Publish free web pages and multi-page sites at wordy.page/your-name, with library photos by ID.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-03-26
- URL
TDQS
Scored across 5 tools
Each tool has a clearly distinct role: slug validation, site creation/update, site retrieval, site listing, and photo search. There is little risk of confusing one tool for another, even though create_or_update_page is a compound write operation.
All tool names use consistent snake_case with a verb-first pattern (check_slug, create_or_update_page, get_page, list_pages, search_photos). The compound verb in create_or_update_page is still readable and follows the same convention.
Five tools is a well-scoped surface for a page-builder service, with each tool covering a meaningful operation. No tool appears redundant or out of place.
The set covers slug validation, creation/update, retrieval, listing, and photo search, but there is no delete or unpublish operation for sites. That is a notable lifecycle gap for a website builder, though core authoring workflows are supported.
Available Tools
5 toolscheck_slugCheck Web Address AvailabilityARead-onlyIdempotentInspect
Check whether a Wordy Page web address slug (https://wordy.page//) is valid and available, and return a normalized slug suggestion.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Desired web address slug (3-40 lowercase letters, numbers, or single hyphens) or a site name to normalize into a slug. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive behavior, so the safety profile is covered. The description adds value by disclosing the return behavior ('return a normalized slug suggestion'), which matters because there is no output schema. It stops at 4 because it doesn't say what an unavailable/invalid result looks like.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler; the availability check comes before the secondary normalization behavior. Slightly dense with a parenthetical URL template, but nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter read-only tool with no output schema, the description covers purpose, URL format, and the fact that a normalized suggestion is returned. The remaining gap is failure/taken-slug semantics, which would make it fully self-sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the parameter's format (3-40 lowercase letters, numbers, or single hyphens) and the 'site name to normalize' input mode are already documented in the schema. The description restates the same idea rather than adding new semantics, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('check whether a Wordy Page web address slug ... is valid and available') with the URL pattern shown, plus a secondary behavior (returns a normalized slug suggestion). It does not name or distinguish itself from siblings such as create_or_update_page, so it stops short of 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied — an agent can infer this is a pre-flight check before create_or_update_page, but the description never says when to use it, when not to, or that it is the alternative to a creation attempt. No explicit routing to siblings is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_or_update_pageCreate or Update a Multi-Page WebsiteADestructiveInspect
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 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").
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Target web address slug (3-40 chars, lowercase letters/digits/hyphens), published at https://wordy.page/<slug>/. | |
| photo | No | 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 | No | Visual theme ("light" or "dark"). | light |
| title | Yes | 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 | Yes | Home page heading (H1, max 80 characters). | |
| sections | No | 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). | |
| from_slug | No | Optional old slug if renaming/moving an existing site you own to a new slug. | |
| description | Yes | 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. | |
| login_token | No | Optional 32-character one-time token from an emailed `https://wordy.page/pages?login=<token>` link to redeem and authenticate right away. | |
| owner_email | Yes | Owner email address (receives the one-tap verification link and any contact form messages; never displayed publicly). | |
| session_token | No | Optional 30-day session token (`st`) if already authenticated for `owner_email`. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, openWorldHint=true, idempotentHint=false, and readOnlyHint=false. The description adds useful behavior beyond that: page limits, formatting/escaping/linking rules, contact-form delivery, and the immediate-publish versus email-verification flow; it still does not clarify whether updating overwrites existing pages/content, which matters for a destructive mutation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose and key constraints are front-loaded, but the body is a single dense paragraph with many parenthetical formatting rules. Much of that detail duplicates the rich schema, so trimming or splitting would improve scanability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 11-parameter mutation tool with rich schema and annotations but no output schema, the description covers purpose, limits, formatting, contact forms, authentication, and publish status well. It still lacks explicit return/error behavior and precise update-overwrite semantics.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents slug, theme, photo, sections, owner_email, session_token, and other fields. The description repeats several field constraints such as theme, photo, cf, and formatting, but adds little parameter-level meaning beyond the schema and omits explicit discussion of from_slug and login_token.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: creating a new single-page or multi-page website or updating an existing site. It also states the 10-page scope and clearly distinguishes this mutation tool from sibling read/search tools such as get_page, list_pages, check_slug, and search_photos.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It clearly states the creation-versus-update use case and explains the authentication-dependent publish path. However, it does not direct the agent to check_slug first or explain when to use get_page, list_pages, or search_photos instead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_pageGet Published Site Content & MetadataARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | The slug of the published site on wordy.page (e.g., "sample"). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and closed-world scope, so safety is covered. The description adds that the payload is structured JSON with specific fields and that it targets only published sites, but says nothing about behavior when the slug is missing or invalid.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One front-loaded sentence with the verb and resource stated first. The parenthetical field list is dense but every item conveys real return-value information; only slight trimming would improve it.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description usefully enumerates the returned fields, and the single required parameter is fully covered by the schema plus annotations. Minor gaps remain: no error/not-found behavior and no note on whether unpublished or draft content is excluded.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single slug parameter is fully documented in the schema with an example. The description only restates that the slug identifies an existing published site, adding little beyond the schema; baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (read) and resource (structured JSON metadata/content of a published site) and enumerates the concrete fields returned, so the agent knows exactly what it gets. It does not explicitly contrast itself with siblings like list_pages or check_slug, so differentiation is only implicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by 'existing published site' plus a required slug, which tells the agent this is a single-site fetch. However, there is no guidance on when to prefer it over list_pages, or whether to call check_slug first if the slug may not exist.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_pagesList Owned or Showcase SitesARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| st | No | Alias for `session_token`. | |
| session_token | No | Optional session token (`st`) returned after email link verification to list your own pages. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds important behavioral context beyond annotations: the result set depends on whether a session token or Authorization header is supplied, yielding owned sites or public sample sites. It does not mention pagination or result ordering, but given the annotation coverage this is useful disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single compact sentence that front-loads the primary behavior and then states the conditional alternative. No redundant phrasing or unnecessary detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only listing tool with no required parameters and no output schema, the description gives the essential auth-dependent scope. It is nearly complete, though it could mention pagination or whether all sites are returned in one call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description adds value by noting that `st` and Authorization/X-PQ-Session can also carry the session, and by explaining the effect of providing a session: listing your own pages rather than public sample sites.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb (list) and resource (sites/pages), and clearly splits the two result sets: owned sites versus official public sample sites. It does not explicitly contrast itself with siblings like get_page or search_photos, but the listing purpose is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explains the condition that selects the authenticated-owned mode versus the public showcase mode, which is useful. However, it does not state when to use this tool rather than alternatives such as get_page or check_slug, nor any exclusions or prerequisites beyond the token presence.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_photosSearch Curated Unsplash PhotosARead-onlyIdempotentInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (1 to 5, default 1). | |
| query | Yes | Search keywords (e.g., "coastal sunset", "coffee shop", "modern architecture"). | |
| pick_first | No | If true (default), automatically registers the top photo result with Unsplash so its id is immediately ready to use as a page `photo`. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint/idempotentHint/openWorldHint, but they do not capture the non-obvious side effect: this tool registers a photo with Unsplash as part of the search. The description surfaces that registration and explains the resulting id is immediately usable, which is exactly the kind of context annotations can't convey. It stops short of explaining what registration entails or any rate/auth concerns.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence that leads with the action and then qualifies the output usage; the parenthetical field references are dense but earned. Slightly overloaded sentence, but no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should characterize what comes back. It implies the top result gets registered and that ids feed `create_or_update_page`, but says nothing about whether the response is a list of photos, ids, URLs, or thumbnails, or how paging interacts with results. Adequate but leaves a real gap for a tool an agent must chain into page creation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so `page`, `query`, and `pick_first` are already documented, and the description adds cross-tool meaning for the registered photo id. However, "optionally register a chosen photo ID" reads as an opt-in manual choice, while the schema says `pick_first` defaults to true and auto-registers the top hit — a discrepancy that could mislead an agent about default behavior.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ("Search Unsplash photos via Wordy Page") and ties the result to a concrete downstream use (`photo` / `sections[].photo` in `create_or_update_page`), which clearly separates it from the page-management siblings. The secondary clause about "optionally register a chosen photo ID" is slightly fuzzy about who chooses, but the core action is unmistakable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear context for when to reach for this tool — sourcing a page header image — and names the consuming tool and the "one image per page" constraint. It does not state exclusions or alternatives, but no sibling tool performs photo search, so the routing value is still strong.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
5 tool updates
- First observed
check_slug - First observed
create_or_update_page - First observed
get_page - First observed
list_pages - First observed
search_photos
Related MCP Connectors
Build, edit and publish websites on PageHub: pages, blocks, themes, collections, domains.
Publish, update, read, rename, and share single-URL web pages from any AI agent.
- RunCabinOAuthcom.runcabin
Publish and update websites from your AI app: free HTTPS address, your own domain, forms, photos.
Put the page your AI made online at yourname.nsd.sg. Publish, update, list and remove sites.
Related MCP Servers
- AlicenseAqualityCmaintenanceSimple and free publishing of content on the web for AI Agents28,431 npmMIT
- AlicenseNot gradedqualityDmaintenancePublish and manage shareable HTML/Markdown pages with access control and comments via MCP clients.MIT
- AlicenseAqualityDmaintenancePublish Markdown or HTML to a shareable link from your AI assistant, then list, inspect, update or delete your pages. Six tools cover publishing, page management and account usage. Connect through hosted Streamable HTTP with OAuth, or use an API key for headless clients.61MIT
- AlicenseNot gradedqualityDmaintenanceAI agent website builder, starting with link-in-bio sites. Create and publish via MCP server or REST API.2MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.