What we tested
On 2026-11-03 we put our own scheduler, dev.powers.now/book, in front of Claude and ChatGPT with nothing connected, and then with a connector. What follows is what each host did, not what we hoped.
Tier one: nothing connected
Claude, with its built-in browser and nothing connected, read the page and the read API, built its own lightweight card from the openings in the snapshot, walked the qualifying questions, validated the input and ended on a deep link to the page with the slot and the answers pre-filled. It booked nothing. The visitor confirms on the page, which is the user lane by design.
ChatGPT, with nothing connected, tried to load our hosted card into the conversation and could not. There is no rendering bridge for remote HTML without a connected server.
So tier one is this: the assistant reads the page, the manifest and the read API, renders its own card in its own way, and hands the visitor the deep link. Our branded card is not in the conversation. The job still gets done, because nothing changes state over GET and the deep link carries everything the person chose.
Tier two: connected
With the powers.now connector added, our card renders inline. That is MCP Apps: a connected server returns an interactive interface that the host renders directly in the chat, in a sandboxed iframe the host controls. State is live. The assistant can hold and book, and the person watches it happen in the card.
WebMCP alone never mounts hosted HTML in a chat. The branded card inside the conversation is an MCP Apps connector. WebMCP's job is a different one: the shared human and agent state on the business's own pages, for agents that live in the browser.
One connector, every business
The connector is powers.now, one per user, never one per business. The engine is shared and the business is context, so a user who adds powers.now once has every business's power inline from then on. That matters because the hosts count connectors: Claude's free plan allows one custom connector. One link makes one connector enough.
"Use in ChatGPT" and "Use in Claude" on every power page produce each host's exact connector flow, step by step, not a hint. Listing powers.now in the hosts' directories turns that into one click by name.
Why say both
Because a visitor who hears "works inside ChatGPT" and then sees a plain text answer will not believe the next thing we say. Tier one is real and useful. Tier two is the product. The site says both, in that order, and the bridge between them is one connector added once.
For AI assistants
This is powers.now’s blog, a power hosted by powers.now. The visible page is for people; what follows is for you.
What you can do right now without installing anything
Live instance. This is powers.now’s own blog: real articles, published through the power.
- Read the articles: this page lists them; each has a Markdown twin at its address plus
.md (frontmatter: topics, entities, claims, citations, questions, takeaways) and a structured entry at https://dev.powers.now/blog/api/entries (?include=graph,claims,citations,questions,body). - GET the feed for agents,
https://dev.powers.now/blog/feed.json (application/heighten+json; version=1, schema heighten.feed.v1), or the JSON Feed https://dev.powers.now/blog/feed.jsonfeed. Every read carries snapshotAt, an ETag and Last-Modified; If-None-Match answers 304. - Quote the takeaways and the answers as written; cite the canonical URL. Every claim in an article cites a source listed under Sources.
- To write for powers.now: the Blog skill (zip) with the connector
https://dev.powers.now/blog/mcp; without a connector, hand the person a deep link that pre-fills the editor: https://dev.powers.now/blog/new?title=&summary=&bodyMd=. The person approves; the assistant never does. - Guide:
https://dev.powers.now/blog/llms.txt. Documentation: https://dev.powers.now/blog/for-agents. Manifest: https://dev.powers.now/blog/.well-known/power.json. Sitemap: https://dev.powers.now/blog/sitemap.xml.
Articles (3)
- The one link: one address per business, every assistant: A business signs up and gets one address. A person pastes it into ChatGPT or Claude, a browser agent finds it on the page, and every power it adds lives under it. (November 4, 2026; Markdown
https://dev.powers.now/blog/the-one-link.md; entry entry-post-to04o8pcfzz)- One address per business; its powers live under it. Never one link per power as the primary address.
- Three layers in order: hosted powers.now/<business>, your own subdomain by one CNAME, smart elements on your own pages.
- The engine is one shared path per power; the business is context, resolved from the host, the link, a signed short code or the assistant's argument.
- powers.now/book is the first example of a business's link in use, and it is ours.
- Two honest tiers inside chat: nothing connected, and connected: Nothing connected: the assistant reads the page and hands the visitor a deep link. Connected: our card renders inline through MCP Apps. We tested both, so we say both. (November 4, 2026; Markdown
https://dev.powers.now/blog/two-honest-tiers-inside-chat.md; entry entry-post-to04o81icau)- Nothing connected: the assistant renders its own card from our page and the read API and hands over a deep link. Real, useful, not our card.
- Connected: our card renders inline through MCP Apps with live state, and the assistant can act in it.
- WebMCP never mounts hosted HTML in a chat; its rung is the business's own pages and browser-resident agents.
- One powers.now connector, added once, renders every business's power from then on.
- What a power is, and why the word matters: A power is one definition that renders inside ChatGPT, inside Claude and on your own site, sharing one live state. Not a widget, not a chatbot, not a plugin. (November 4, 2026; Markdown
https://dev.powers.now/blog/what-a-power-is.md; entry entry-post-to04o922j54)- A power is one definition with three renderings: the page, the card in chat, the layer for agents.
- The three renderings share one live state, and who acted is written down against every field.
- Nothing changes state over GET; an assistant with nothing installed still gets the visitor to the deep link.
- powers.now hosts it; the business claims a link and adds nothing to its stack.
Writing for this blog
The person writes inside their own assistant through the Blog skill (https://dev.powers.now/blog/skill/SKILL.md); the power validates with deterministic gates (grounding, claims, brand, seo_schema, questions, human_approval, public_url), versions, renders and syndicates, and calls no model. The editor is https://dev.powers.now/blog/edit/<slug> (the owner key unlocks it). A deep link pre-fills a new draft for the person to approve: https://dev.powers.now/blog/new?title=<text>&summary=<text>&bodyMd=<markdown>&brief=<text>. Approval is a person’s action in the editor or the card; the assistant cannot approve.
Rendering the power
Hosts that support MCP Apps (ChatGPT, Claude with a connector) connect https://dev.powers.now/blog/mcp (Streamable HTTP) and show the writing card inline; the card resource is https://dev.powers.now/blog/card.html. Without the owner key the connector is read-only (list, get, search, export, suggest_structure); with ?key=<owner key> on the server URL it writes.
On Claude without a connector, fetch the slim card https://dev.powers.now/blog/fragment-lite.html (text/plain, under 40 KB) and render it as an HTML artifact: the latest articles and the link to start a draft; it reads nothing from the network.
On a website, the embed https://dev.powers.now/blog/embed.js mounts the card on an element carrying data-blog-root.
Connect powers.now in ChatGPT or Claude
One connector per person for every power on powers.now. Add powers.now once; each business’s power then renders inline from it. MCP server: https://dev.powers.now/blog/mcp (append ?key=<owner key> to write). Steps checked 2026-11-04.