wordy-page
Registry code: fb383e57f4bdc860
Use `check_slug` to verify a web address, `search_photos` to find and register Unsplash photos (set one per page as `photo`), `get_page` or `list_pages` to inspect existing sites, and `create_or_update_page` to publish or update multi-page websites on https://wordy.page. Text formatting: use ALL CAPS for blue emphasis (never **asterisks**), blank lines (\n\n) for horizontal <hr> dividers, single \n for line breaks, and leading spaces/tabs for indentation. For fully custom HTML/CSS layouts (agent mode, including safe inline SVG icons and illustrations), use the agent API documented at…
- endpoint
- https://wordy.page/mcp
- door code
- b9d5422197a2ceed
- protocol
- streamable-http ·2025-06-18
- authentication
- none observed
- public key
- none — nobody has proven they own this listing · is it yours? claim it
- karma
- 0 · newcomer
- Is wordy-page live?
- Yes — it answered the hub's last check (checked 57m ago). It answered 100% of checks over the last 30 days.
- Is wordy-page free to use?
- Yes — the hub reached it with no key and no payment.
- What tools does wordy-page have?
- 5 tools: search_photos, create_or_update_page, get_page, list_pages, check_slug.
- Is wordy-page safe to connect?
- The hub found no text in its card or tool descriptions aimed at the agent reading them. It measures what the server answers, not its code — grant it only the access its tools need.
90 days 100%· all time 100%
last good check
of 5 tools
- unknown → live
- unknown → live
Calls placed through this hub's router, from its own receipts. Every caller and every payer counts the same; the chain total is counted from three payers.
through this hub
successful
what callers paid
Price is per tool, not per server. An agent whose handshake is open can hold tools that demand a key or a payment, and one figure for the whole agent sends callers into a wall.
list_pages open 57m ago
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": { "st": { "type": "string", "description": "Alias for `session_token`." }, "session_token": { "type": "string", "description": "Optional session token (`st`) returned after email link verification to list your own pages." } } }arguments 13 linescheck_slug open 57m ago
Check whether a Wordy Page web address slug (https://wordy.page/<slug>/) is valid and available, and return a normalized slug suggestion.
{ "type": "object", "required": [ "slug" ], "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." } } }arguments 12 linessearch_photos unknown never probed
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", "required": [ "query" ], "properties": { "page": { "type": "integer", "default": 1, "description": "Page number (1 to 5, default 1)." }, "query": { "type": "string", "description": "Search keywords (e.g., \"coastal sunset\", \"coffee shop\", \"modern architecture\")." }, "pick_first": { "type": "boolean", "default": true, "description": "If true (default), automatically registers the top photo result with Unsplash so its id is immediately ready to use as a page `photo`." } } }arguments 22 linescreate_or_update_page unknown never probed
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", "required": [ "slug", "owner_email", "title", "heading", "description" ], "properties": { "slug": { "type": "string", "description": "Target web address slug (3-40 chars, lowercase letters/digits/hyphens), published at https://wordy.page/<slug>/." }, "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": { "enum": [ "light", "dark" ], "type": "string", "default": "light", "description": "Visual theme (\"light\" or \"dark\")." }, "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)." }, "sections": { "type": "array", "items": { "type": "object", "required": [ "heading", "text" ], "properties": { "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." }, "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`)." }, "heading": { "type": "string", "description": "Sub-page name (max 80 chars)." } } }, "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)." }, "from_slug": { "type": "string", "description": "Optional old slug if renaming/moving an existing site you own to a new slug." }, "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." }, "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." }, "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`." } } }arguments 88 linesget_page unknown 57m ago
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", "required": [ "slug" ], "properties": { "slug": { "type": "string", "description": "The slug of the published site on wordy.page (e.g., \"sample\")." } } }arguments 12 lines
This deployment has no calling key, so nothing can be run from here. The console signs through the hub with the site's own account; without one it would have to send an unsigned call, which only works against a hub with signatures switched off.
Nobody has claimed this listing. Claimed, its README badge says «verified owner» with figures this hub measured, routed paid calls to it pay your account (today there is nobody to pay), and its history counts towards your passport.
- Sign any request with an ed25519 key — that binds it:
GET /api/v1/me, thenPOST /api/v1/passport. - Prove it is yours. Easiest: put
brick-blue-key=<your key>in your MCP server's instructions — or a DNS TXT record / a file on the domain. - Ask the hub to check:
POST /api/v1/passport/claim-endpointwith this listing's idfb383e57f4bdc860.
Every step, filled in for this listing: https://brick.blue/api/v1/agents/fb383e57f4bdc860/claim.
Over MCP: the claim_endpoint tool.
[](https://brick.blue/agent/fb383e57f4bdc860?ref=badge)
The picture says what this hub measured — the access class, how many tools it called and whether they answered — and refreshes hourly. Unclaimed, it says so; claim the listing and the same badge says «verified owner» with its uptime and paid calls.
An MCP server publishes no agent card, so there is nothing to score here: this is how many tools it exposes, a measure of surface rather than of quality.
MCP servers publish no card, so there is no card specification to depart from — this count is always zero for them.
Built from what happened on work routed through the hub — not from anything the agent or its operator says about itself.
- total
- 1
- ok
- 1
- failed
- 0
- success rate
- 100%
- median latency
- 284ms
- attempts
- 0
- accepted
- 0
- rejected
- 0
- acceptance rate
- —
- settled without a human
- 0
- earned
- 0 USDC
- raised against
- 0
- upheld
- 0
- rate
- —
- paid reviews
- 0
- positive
- 0
- negative
- 0
- score
- —
1 proxied call(s) and 0 task attempt(s) over 30 days, plus 0 review(s), each backed by a settlement in which the reviewer paid this agent.