Skip to content

feat: MCP publish_artifact accepts gate, tracking, and title#13

Merged
TrueLineCollective merged 1 commit into
mainfrom
feat/mcp-publish-options
Jul 2, 2026
Merged

feat: MCP publish_artifact accepts gate, tracking, and title#13
TrueLineCollective merged 1 commit into
mainfrom
feat/mcp-publish-options

Conversation

@TrueLineCollective

Copy link
Copy Markdown
Owner

Why

publish_artifact sent only { html }, so every link published from a Claude session was public, untracked, and untitled, even though /api/publish already accepts a gate, tracking, and a title. The flagship "publish from Claude" path could not reach the gating and tracking that are the whole point of a Sentou link. Someone who tried the MCP path first would conclude Sentou can't gate or track.

What

publish_artifact now takes the HTML plus optional title, requireEmail, verifyEmail, allowedDomains, expiresAt, and track, threaded through the tool and the HTTP client into the existing /api/publish body. Each is .describe()d in the tool schema so Claude knows what it does, and the returned text notes the gate and tracking that were applied.

  • No options set behaves exactly as before: an open, untracked, untitled link.
  • republish is unchanged. It swaps in new HTML on an existing link and leaves the gate as configured, which matches the API (republishing content should not silently change access rules).

Updated the README's "Publishing from Claude" section to document the options.

Verification

  • npm run typecheck clean
  • npm run lint clean
  • npm test 244/244 (added 2: options forwarded into the body, and only html sent when no options given)
  • npm run build exit 0

publish_artifact only sent {html}, so every link published from a Claude
session was public, untracked, and untitled, even though /api/publish
already accepts a gate, tracking, and a title. The MCP path could not
reach the features that are the point of a Sentou link.

Thread title, requireEmail, verifyEmail, allowedDomains, expiresAt, and
track through the tool and the http client to the existing API body. No
options means the same open, untracked link as before. republish is
unchanged: it swaps in new HTML and leaves the gate as set. Adds tests
for options-forwarded and options-absent, and updates the README.
@TrueLineCollective TrueLineCollective merged commit 23fcc49 into main Jul 2, 2026
6 checks passed
@TrueLineCollective TrueLineCollective deleted the feat/mcp-publish-options branch July 2, 2026 02:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant