AttachPage

Publish webpages and documents, send private review links, and collect comments and approvals.

我该使用它吗

质量与安全性

A
描述质量
100%
模式完整度
73%
命名质量
98%
投毒风险
100%
权限匹配度
100%
协议合规性
100%

基于对工具定义和协议合规性的自动分析。

上下文开销

~1,454token 数(工具定义)
~717 B典型响应大小
对注意力有中等影响(占 128k 上下文窗口的 1.14%)

这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。

安装

一键安装

将以下内容添加到你的 `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"
  ]
}

社区

评价此服务器

证据

最近观测

已验证未记录版本11 个工具