AttachPage
Publish webpages and documents, send private review links, and collect comments and approvals.
使うべきか
品質と安全性
ツール定義とプロトコルへの準拠に関する自動分析に基づいています。
コンテキストコスト
これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。
インストール
ワンクリックインストール
これを `claude_desktop_config.json` ファイルに追加してください:
{
"mcpServers": {
"attachpage": {
"url": "https://attachpage.com/mcp"
}
}
}リモートエンドポイント
https://attachpage.com/mcpstreamable-httpできること
ツール一覧
ツール(11)
🔴publish_document(filename, content, siteId, siteName, slug, ...)
Publish 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.
入力スキーマ
{
"type": "object",
"properties": {
"filename": {
"type": "string"
},
"content": {
"type": "string",
"description": "Base64 file bytes, not a local path or URL."
},
"siteId": {
"type": "string"
},
"siteName": {
"type": "string"
},
"slug": {
"type": "string"
},
"visibility": {
"type": "string",
"enum": [
"private",
"public"
]
}
},
"required": [
"filename",
"content"
]
}🟢get_profile
Identify the AttachPage account connected to this agent.
入力スキーマ
{
"type": "object",
"properties": {}
}出力スキーマ
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"email": {
"type": "string"
}
},
"required": [
"id"
],
"additionalProperties": false
}🟡publish_anonymous_page(siteName, slug, files)
Publish 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.
入力スキーマ
{
"type": "object",
"properties": {
"siteName": {
"type": "string"
},
"slug": {
"type": "string"
},
"files": {
"type": "array",
"description": "Files of the page. The complete resulting page includes index.html at the top level.",
"items": {
"type": "object",
"required": [
"path",
"content"
],
"properties": {
"path": {
"type": "string"
},
"content": {
"type": "string"
},
"encoding": {
"type": "string",
"enum": [
"utf8",
"base64"
]
}
}
}
}
},
"required": [
"files"
]
}🔴publish_page(siteId, siteName, slug, visibility, files, ...)
Publish 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.
入力スキーマ
{
"type": "object",
"properties": {
"siteId": {
"type": "string"
},
"siteName": {
"type": "string"
},
"slug": {
"type": "string"
},
"visibility": {
"type": "string",
"enum": [
"private",
"public"
]
},
"files": {
"type": "array",
"description": "Files of the page. The complete resulting page includes index.html at the top level.",
"items": {
"type": "object",
"required": [
"path",
"content"
],
"properties": {
"path": {
"type": "string"
},
"content": {
"type": "string"
},
"encoding": {
"type": "string",
"enum": [
"utf8",
"base64"
]
}
}
}
},
"preserveFiles": {
"type": "boolean",
"description": "Retain files not included in this edit. Requires siteId and baseDeploymentId."
},
"baseDeploymentId": {
"type": "string",
"description": "Expected current version. A changed page is refused rather than overwritten."
}
},
"required": [
"files"
]
}🔴send_page(siteId, recipients, message, expiresInDays)
Email 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.
入力スキーマ
{
"type": "object",
"properties": {
"siteId": {
"type": "string"
},
"recipients": {
"type": "array",
"items": {
"type": "string"
}
},
"message": {
"type": "string"
},
"expiresInDays": {
"type": "integer"
}
},
"required": [
"siteId",
"recipients"
]
}🟢list_pages
List the user's pages with recipient and open counts.
入力スキーマ
{
"type": "object",
"properties": {}
}🟢get_page(siteId, filePaths)
Details 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.
入力スキーマ
{
"type": "object",
"properties": {
"siteId": {
"type": "string"
},
"filePaths": {
"type": "array",
"maxItems": 20,
"items": {
"type": "string"
}
}
},
"required": [
"siteId"
]
}🔴update_page(siteId, name, slug, visibility)
Rename a page, change its address label (slug), or switch private/public.
入力スキーマ
{
"type": "object",
"properties": {
"siteId": {
"type": "string"
},
"name": {
"type": "string"
},
"slug": {
"type": "string"
},
"visibility": {
"type": "string",
"enum": [
"private",
"public"
]
}
},
"required": [
"siteId"
]
}🟢get_feedback(siteId, status)
Read 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.
入力スキーマ
{
"type": "object",
"properties": {
"siteId": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"open",
"resolved",
"all"
]
}
},
"required": [
"siteId"
]
}🔴resolve_feedback(feedbackId, resolved)
Mark recipient feedback as resolved, or reopen it with resolved: false. The recipient sees the updated resolution status.
入力スキーマ
{
"type": "object",
"properties": {
"feedbackId": {
"type": "string"
},
"resolved": {
"type": "boolean"
}
},
"required": [
"feedbackId"
]
}🔴notify_recipients(siteId, note)
Email 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.
入力スキーマ
{
"type": "object",
"properties": {
"siteId": {
"type": "string"
},
"note": {
"type": "string"
}
},
"required": [
"siteId"
]
}コミュニティ
エビデンス