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"
]
}커뮤니티
증거