Your workspace with powers.now
Write and publish your blog from your workspace. Your assistant drafts and structures the post inside powers.now’s knowledge graph; you approve in the card; the Blog power publishes it.
For AI assistants
This is powers.now’s Champ Workspace, 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 workspace on the Blog power (https://dev.powers.now/blog/): a post approved and published here is public at its canonical URL.
- Read this page: powers.now's live records are below with a deep link each, then the questions, the deep-link grammar and the read API.
- GET the read API, JSON with CORS and no writes over GET:
https://dev.powers.now/workspace/api/. - Hand the visitor a deep link that opens this page with their choice and answers pre-filled; they review and confirm here. Nothing in this tier completes an action by itself.
- Guide:
https://dev.powers.now/workspace/llms.txt. Documentation:https://dev.powers.now/workspace/for-agents. Manifest:https://dev.powers.now/workspace/.well-known/power.json. Hosts that support MCP Apps connecthttps://dev.powers.now/workspace/mcp.
Documents (0)
- No document yet. A post starts with dispatch_action "new_document" through the connector, or on the page.
Tasks (0)
- No open tasks.
Questions we ask
- What is the workspace working toward (the goal) (optional)
How to complete without a connector
Open this page with the choice and answers in the link; the page pre-fills them for the visitor to review and confirm. Deep-link grammar:
https://dev.powers.now/workspace/?goal=<text>&active=<graph|next_step|run|document|team|task>
Sample: https://dev.powers.now/workspace/?goal=%3Cgoal%3E&active=graph
- Every parameter is optional and URL-encoded. Unknown parameters are ignored; invalid values are dropped and the page still opens.
- Values are validated against the power’s schema (text length, listed options, numbers) before anything is pre-filled.
- Pre-fills land in the user lane: the visitor reviews them on the page and confirms there. A deep link never completes an action by itself.
- No record is selectable by link for this power.
Read API
GET only, JSON, CORS enabled; nothing changes state over GET: https://dev.powers.now/workspace/api/. Routes read the visitor session named by ?session=<id> (or X-Power-Session); omitted, the power’s public view, which holds no visitor records. Every read carries snapshotAt (when the server read it), an ETag, Last-Modified and Cache-Control: no-cache; send If-None-Match to get 304 when nothing changed. Openings move: re-read before you quote a time, and say the snapshot’s time.
https://dev.powers.now/workspace/api/state: The whole current snapshot as the embed reads it: revision, status, every record, runs and the enabled actions.https://dev.powers.now/workspace/api/workspace: Workspace: the current record. The goal this workspace follows, the elements it shows, the active element and the Blog connection.https://dev.powers.now/workspace/api/document: Document: the current records (append /<id> for one record). A document of the workspace. When postId is set it is a Blog post: title, summary, body (Markdown), topics, claims, citations, questions and takeaways write through to the post with its revision; status, slug, gates and the canonical URL come back from the Blog.https://dev.powers.now/workspace/api/graph: Knowledge Graph: the current record. The knowledge graph in the Blog vocabulary. With postId set it is the active post’s graph and every edit writes through to the post.https://dev.powers.now/workspace/api/next_step: Next Step: the current record. The computed next action: the first failing gate of the active post, else the task marked next, else the first open task. Set by the power; never edited.https://dev.powers.now/workspace/api/team: Team: the current record. The people on this workspace and who approves. The approver is the person whose approval publishes a post.https://dev.powers.now/workspace/api/task: Tasks: the current records (append /<id> for one record). Tasks for you (mine), for your assistant (ours) and for the team, with status, assignee and due date. Who changed each field is in the snapshot’s authors map.https://dev.powers.now/workspace/api/posts?status&topic: powers.now’s posts in the Blog power with status, slug, title and updatedAt. Open one in the workspace with dispatch_action "open_post" {postId}. Read-only.
Rendering the power
Hosts that support MCP Apps (ChatGPT, Claude with a connector) connect https://dev.powers.now/workspace/mcp (Streamable HTTP) and show the live card inline; the card resource is https://dev.powers.now/workspace/card.html.
On Claude without a connector, fetch the slim card https://dev.powers.now/workspace/fragment-lite.html (text/plain, under 40 KB, a fresh snapshot with its time) and render it as an HTML artifact as served. It reads nothing from the network; every action is a deep link to this page carrying what the visitor entered. To show another window, replace only CHAMP_WORKSPACE_DEFAULTS with the body of https://dev.powers.now/workspace/api/openings?from=<ISO date>&limit=<1-60>.
Hosts that run the whole embed can fetch the fragment https://dev.powers.now/workspace/fragment.html, prefill CHAMP_WORKSPACE_DEFAULTS with a snapshot built from the read API labeled source.kind: "example" (every action disabled), and render it as an HTML artifact: its actions become deep links to this page.
On a website, the embed https://dev.powers.now/workspace/embed.js mounts the card on an element carrying data-champ-workspace-root and registers WebMCP page tools in the visitor’s own browser when document.modelContext or navigator.modelContext exists.
Flow: Your workspace. Manifest: https://dev.powers.now/workspace/.well-known/power.json. Guide: https://dev.powers.now/workspace/llms.txt.
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/workspace/mcp, no sign-in. Steps checked 2026-11-04.
In ChatGPT
- Open chatgpt.com/plugins.
- Select +, then “Add custom MCP server”.
- Name it powers.now. Under Connection, set Server URL to https://dev.powers.now/workspace/mcp.
- Under Authentication, choose “No authentication”.
- Select “I understand and want to continue”, then “Create as a plugin”.
- Install powers.now from Plugins › Personal › Created by you.
In a new chat, type @, pick powers.now and ask: “Write a post about what powers.now does best, for the Champ Workspace”.
Web only. On Business, Enterprise and Edu workspaces an admin must allow “Create plugins with MCPs”. OpenAI’s help page lists Pro as read and fetch tools only.
Sources: https://developers.openai.com/api/docs/guides/custom-mcp-server, https://developers.openai.com/plugins/deploy/connect-chatgpt, https://help.openai.com/en/articles/12584461
In Claude
- Open Customize › Connectors.
- Select “+ Add”, then “Add custom connector”.
- Name it powers.now. Set the remote MCP server URL to https://dev.powers.now/workspace/mcp, then select “Continue”.
- Select “Continue” again, choose “No sign in” under Authentication, then select “Add”.
In a chat, select + › Connectors and turn on powers.now and ask: “Write a post about what powers.now does best, for the Champ Workspace”. Choose “Allow” when Claude asks to show the card.
Free (one custom connector), Pro, Max, Team and Enterprise. On Team and Enterprise an owner adds it under Organization settings › Connectors; members then select “Connect”.
Sources: https://support.claude.com/en/articles/11175166-getting-started-with-custom-connectors-using-remote-mcp, https://support.claude.com/en/articles/13454812-use-interactive-connectors-in-claude