AttachPage
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
Publish webpages and documents, send private review links, and collect comments and approvals.
| Author | com.attachpage |
|---|---|
| Access | remote |
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 2263 ms |
| Last measured | 2026-10-24 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"AttachPage": {
"url": "https://attachpage.com/mcp",
"transport": "streamable-http"
}
}
}
Measured tools (11)
publish_documentdestructivePublish a PDF, Word (.docx), PowerPoint (.pptx), Excel (.xlsx/.xls), or CSV file as a browser-viewable page, private by default. Accepts filename and base64 content, up to 4 MB decoded. Documents become readable PDFs, slides have presentation controls, and spreadsheets have searchable sheet tabs. Preserves the original for download. A siteId replaces the page at the same address. Does not send invitations.
Parameters:
filename(required) — string — Original file name with extension, e.g. proposal.docx.content(required) — string — Base64 file bytes, not a local path or URL.slug— string — Optional address label, 3-40 lowercase letters, digits or hyphens. Random when omitted.siteId— string — Replace this existing page at the same address.siteName— string — Name shown to the user and recipients, e.g. "Q3 report".visibility— string — private (invitation-only, default) or public (anyone with the link).
Hints: read-only no · destructive yes · idempotent not declared · open-world yes
get_profileread-onlyIdentify the AttachPage account connected to this agent.
Hints: read-only yes · destructive no · idempotent not declared · open-world no
publish_anonymous_pagePublish a public web page without an account or API key. It expires in 48 hours. Returns the page URL and a personal claimUrl; opening that link while signed in makes the page permanent.
Parameters:
files(required) — array — Files of the page. The complete resulting page includes index.html at the top level.slug— string — Optional address label, 3-40 lowercase letters, digits or hyphens. Random when omitted.siteName— string — Name shown to the user and recipients, e.g. "Q3 report".
Hints: read-only no · destructive no · idempotent not declared · open-world yes
publish_pagedestructivePublish a web page as the connected user. A siteId replaces an existing page at the same address. preserveFiles retains omitted assets and requires the baseDeploymentId of that version; stale edits are refused. Visibility is private (invitation-only, default) or public. Requires an authenticated AttachPage connection.
Parameters:
files(required) — array — Files of the page. The complete resulting page includes index.html at the top level.slug— string — Optional address label, 3-40 lowercase letters, digits or hyphens. Random when omitted.siteId— string — Replace this existing page at the same address.siteName— string — Name shown to the user and recipients, e.g. "Q3 report".visibility— string — private (invitation-only, default) or public (anyone with the link).preserveFiles— boolean — Retain files not included in this edit. Requires siteId and baseDeploymentId.baseDeploymentId— string — Expected current version. A changed page is refused rather than overwritten.
Hints: read-only no · destructive yes · idempotent not declared · open-world yes
send_pagedestructiveEmail personal invitations for a page to the specified recipient addresses, with an optional message and access expiry. Sends email immediately; sent email cannot be recalled.
Parameters:
siteId(required) — string — Page id (siteId) returned by a publish tool or list_pages.recipients(required) — array — Email addresses; each person gets their own personal link.message— string — Optional note included in the invitation email.expiresInDays— integer — Days the links work (default 7). 0 means they never expire.
Hints: read-only no · destructive yes · idempotent not declared · open-world yes
list_pagesread-onlyList the user's pages with recipient and open counts.
Hints: read-only yes · destructive no · idempotent not declared · open-world no
get_pageread-onlyDetails for one page: address, visibility, recipients and who opened it. Optional filePaths reads exact uploaded source files from that version, up to 20 files and 256 KB total, with text or base64 encoding. An empty filePaths array returns a bounded manifest without file contents.
Parameters:
siteId(required) — string — Page id (siteId) returned by a publish tool or list_pages.filePaths— array — Source files to read from the current version; [] returns only the file list.
Hints: read-only yes · destructive no · idempotent not declared · open-world no
update_pagedestructiveRename a page, change its address label (slug), or switch private/public.
Parameters:
siteId(required) — string — Page id (siteId) returned by a publish tool or list_pages.name— string — New page name.slug— string — New address label, 3-40 lowercase letters, digits or hyphens.visibility— string — private (invitation-only, default) or public (anyone with the link).
Hints: read-only no · destructive yes · idempotent not declared · open-world yes
get_feedbackread-onlyRead recipient comments, page paths, pointed-at elements (selector and visible text), and approval or change-request decisions. The status filter selects open, resolved, or all feedback.
Parameters:
siteId(required) — string — Page id (siteId) returned by a publish tool or list_pages.status— string — Which feedback to return (default all).
Hints: read-only yes · destructive no · idempotent not declared · open-world no
resolve_feedbackdestructiveMark recipient feedback as resolved, or reopen it with resolved: false. The recipient sees the updated resolution status.
Parameters:
feedbackId(required) — string — Feedback id from get_feedback.resolved— boolean — true (default) marks it resolved; false reopens it.
Hints: read-only no · destructive yes · idempotent not declared · open-world yes
notify_recipientsdestructiveEmail existing active recipients that a page has been updated, with an optional note. Each recipient receives a fresh personal link. Sends email immediately; sent email cannot be recalled.
Parameters:
siteId(required) — string — Page id (siteId) returned by a publish tool or list_pages.note— string — Optional note about what changed, up to 1,000 characters.
Hints: read-only no · destructive yes · idempotent not declared · open-world yes
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.