MCP 整合
透過模型上下文協議 (MCP) 將 PreviewFile 與 AI 代理整合,實現自動化檔案上傳和預覽 URL 生成。
模型上下文協議 (MCP) 整合
PreviewFile.dev 提供 MCP 伺服器,使 AI 代理和助手能夠以程式化方式上傳附件並生成安全的預覽 URL。這允許與 Claude、Cursor、Cherry Studio、Windsurf、Chatbox AI 等 MCP 相容客戶端無縫整合。
什麼是 MCP? 模型上下文協議 是一個開放標準,使 AI 應用程式能夠透過統一介面安全地連接外部資料來源和工具。
快速開始
開始使用
您的 AI 代理現在可以透過自然語言提示上傳檔案並生成預覽 URL。
MCP 端點
https://previewfile.dev/api/v1/mcp傳輸協議: HTTP 串流傳輸 (MCP 規範修訂版 2025-06-18)
認證方式
所有 MCP 請求都需要使用 API 金鑰進行認證。您可以在 控制台設定 取得 API 金鑰。
支援的認證方式
| 方式 | 請求標頭格式 | 範例 |
|---|---|---|
| API 金鑰請求標頭 | x-api-key: <key> | x-api-key: apk_abc123... |
| API 金鑰請求標頭 (備選) | X-API-Key: <key> | X-API-Key: apk_abc123... |
| Bearer 權杖 | Authorization: Bearer <key> | Authorization: Bearer apk_abc123... |
設定範例
新增到您的 claude_desktop_config.json:
{
"mcpServers": {
"previewfile": {
"command": "npx",
"args": [
"-y",
"@anthropic-ai/mcp-client-http",
"https://previewfile.dev/api/v1/mcp"
],
"env": {
"MCP_BEARER_TOKEN": "your-api-key-here"
}
}
}
}設定檔位置:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
可用工具
PreviewFile MCP 伺服器提供 2 個工具 用於檔案上傳和預覽生成:
工具概覽
| 工具 | 用途 | 適用場景 |
|---|---|---|
previewfile_upload_from_url | 從 URL 上傳檔案並建立預覽 | 透過 URL 可存取的檔案 |
previewfile_request_upload_url | 取得預簽名 URL 進行直接上傳 | 需要直接上傳的大檔案 |
previewfile_upload_from_url
透過提供 URL 上傳檔案。伺服器取得檔案並建立預覽工作階段。這是從現有檔案建立預覽連結的主要方法。
參數:
| 參數 | 類型 | 必填 | 預設值 | 描述 |
|---|---|---|---|---|
url | string | 是 | - | 要下載並建立預覽的檔案 URL |
fileName | string | 否 | 自動偵測 | 覆寫檔案名稱(如未提供,從 URL 或 Content-Disposition 擷取) |
ttlMinutes | number | 否 | 60 | 連結有效期(分鐘,5-1440) |
watermark | string | 否 | null | 浮水印文字 |
noDownload | boolean | 否 | false | 停用下載功能 |
oneTime | boolean | 否 | false | 檢視後過期 |
回應範例:
{
"shortUrl": "a1b2c3d4",
"previewUrl": "https://previewfile.dev/p/a1b2c3d4",
"expireAt": "2026-01-28T10:30:00Z",
"status": "READY",
"fileName": "report.pdf",
"fileSize": 245678,
"mimeType": "application/pdf"
}伺服器自動從 URL 路徑或 Content-Disposition 標頭偵測檔案名稱。您可以使用 fileName 參數覆寫。
previewfile_request_upload_url
請求預簽名 URL 以將檔案直接上傳到儲存空間。當您需要上傳無法透過 URL 存取的檔案時使用。
參數:
| 參數 | 類型 | 必填 | 描述 |
|---|---|---|---|
fileName | string | 是 | 要上傳的檔案名稱 |
mimeType | string | 是 | 檔案的 MIME 類型 |
sizeBytes | number | 是 | 檔案大小(位元組,最大 500MB) |
fileHash | string | 是 | 檔案內容的 SHA-256 雜湊(十六進位字串) |
回應範例:
{
"uploadUrl": "https://storage.previewfile.dev/upload/...",
"tempKey": "tmp/space123/abc123.pdf",
"expiresIn": 3600
}收到預簽名 URL 後,使用 HTTP PUT 將檔案直接上傳到傳回的 uploadUrl。
建議提示詞
以下是一些幫助您開始使用 PreviewFile MCP 伺服器的自然語言提示詞:
URL 轉預覽提示詞
"將這個 S3 URL 轉換為安全預覽連結:https://bucket.s3.amazonaws.com/doc.pdf"
"為這個檔案 URL 建立一個 2 小時有效期的預覽"
"為這個外部文件生成帶浮水印的預覽連結"
"為這份合約 URL 建立一個檢視後即過期的一次性預覽連結"
"禁止下載方式上傳這個 URL 的檔案:https://example.com/report.pdf"
直接上傳提示詞
"取得一個預簽名 URL,以便我上傳大型影片檔案"
"我需要上傳一個 50MB 的簡報 - 給我一個上傳 URL"
使用場景
1. AI 輔助文件分享
讓您的 AI 程式設計助手在討論文件時自動生成安全預覽連結:
使用者:「分享這份 S3 文件給團隊,不要暴露我們的儲存桶 URL」
AI:*使用 previewfile_upload_from_url 取得並生成安全連結*
「這是您的安全預覽連結:https://previewfile.dev/p/abc123
連結 1 小時後過期。原始 URL 已隱藏。」2. 安全的外部檔案分享
將任何可存取的 URL 轉換為安全的限時預覽:
使用者:「為這份客戶報告建立預覽連結:https://pdfobject.com/pdf/sample.pdf」
AI:*使用 previewfile_upload_from_url 並設定 noDownload=true*
「預覽連結已建立:https://previewfile.dev/p/xyz789
下載已停用。1 小時後過期。」3. 帶浮水印的文件分發
分享帶有追蹤浮水印的機密文件:
使用者:「分享這份合約給供應商,但要新增浮水印」
AI:*使用 previewfile_upload_from_url 並設定 watermark 參數*
「已建立帶「供應商審閱」浮水印的預覽連結:https://previewfile.dev/p/abc456
浮水印將顯示在所有頁面上。」4. 一次性安全連結
為敏感內容建立自毀預覽連結:
使用者:「為這份機密文件建立一次性連結」
AI:*使用 previewfile_upload_from_url 並設定 oneTime=true*
「一次性預覽連結已建立:https://previewfile.dev/p/wire123
連結在首次存取後立即過期。」預簽名上傳工作流程
對於無法透過 URL 存取的檔案,使用預簽名上傳工作流程:
請求上傳 URL
使用檔案中繼資料呼叫 previewfile_request_upload_url:
{
"fileName": "large-video.mp4",
"mimeType": "video/mp4",
"sizeBytes": 52428800,
"fileHash": "a1b2c3d4e5f6..."
}傳回有效期為 1 小時的預簽名上傳 URL。
直接上傳檔案
使用 HTTP PUT 上傳檔案到預簽名 URL:
curl -X PUT "${uploadUrl}" \
-H "Content-Type: video/mp4" \
--data-binary @large-video.mp4檔案將被儲存並準備好生成預覽。
對於大多數使用案例,建議使用 previewfile_upload_from_url,因為它在單次呼叫中處理整個上傳過程。
安全功能
MCP 伺服器繼承了所有 PreviewFile 安全功能:
| 功能 | 描述 |
|---|---|
| TTL 控制 | 設定連結過期時間,從 5 分鐘到 24 小時(取決於方案) |
| 動態浮水印 | 在預覽上疊加自訂文字 |
| 禁止下載 | 阻止檔案下載,僅檢視模式 |
| 一次性連結 | 首次存取後立即過期 |
| 檔案去重 | 相同檔案只儲存一次(透過 SHA-256 雜湊) |
| API 金鑰範圍 | 金鑰限定在您的工作區/組織範圍內 |
錯誤處理
MCP 伺服器傳回帶有清晰訊息的結構化錯誤:
{
"error": "TTL exceeds plan limit. Maximum allowed: 1440 minutes."
}常見錯誤
| 錯誤 | 原因 | 解決方案 |
|---|---|---|
Authentication required | API 金鑰缺失或無效 | 檢查您的 API 金鑰設定 |
TTL exceeds plan limit | 請求的 TTL 超出方案限制 | 減少 ttlMinutes 或升級方案 |
File size exceeds limit | 檔案太大(最大 500MB) | 使用較小的檔案或拆分 |
Failed to fetch file from URL | URL 無法存取或傳回錯誤 | 驗證 URL 是否可公開存取 |
速率限制
MCP 請求計入您的 API 速率限制:
| 方案 | 請求/天 |
|---|---|
| 免費版 | 10 |
| 專業版 | 1,000 |
| 商業版 | 10,000 |
| 企業版 | 無限制 |
疑難排解
連線問題
問題:AI 客戶端無法連線到 MCP 伺服器
解決方案:
- 驗證您的 API 金鑰正確且有效
- 檢查端點 URL:
https://previewfile.dev/api/v1/mcp - 確保您的客戶端支援 HTTP 串流傳輸
- 檢查網路/防火牆限制
上傳失敗
問題:檔案上傳失敗或逾時
解決方案:
- 對於大檔案,使用預簽名上傳工作流程
- 驗證 base64 編碼正確(無 data URL 前綴)
- 檢查檔案大小是否在 500MB 限制內
- 確保 MIME 類型與實際檔案內容相符
認證錯誤
問題:「Authentication required」錯誤
解決方案:
- 從 控制台設定 生成新的 API 金鑰
- 驗證金鑰傳遞正確:
- Bearer 權杖:
Authorization: Bearer <key> - 請求標頭:
x-api-key: <key>
- Bearer 權杖:
- 檢查金鑰是否已被撤銷
常見問題
不使用 API 金鑰可以使用 MCP 嗎?
不可以,所有 MCP 操作都需要認證。請從 控制台設定 取得您的 API 金鑰。
最大檔案大小是多少?
每個檔案 500MB。
上傳的檔案是永久的嗎?
不是,所有檔案根據設定的 TTL 自動過期。最大保留時間取決於您的方案。
可以透過 MCP 列出所有預覽嗎?
目前,請使用 控制台 或 REST API 列出預覽。MCP 專注於上傳和單一預覽操作。
檔案去重是自動的嗎?
是的,具有相同 SHA-256 雜湊的檔案只儲存一次,節省儲存空間和頻寬。
後續步驟
- 📖 檢視 REST API 文件 了解更多端點
- 🔒 閱讀 安全策略 了解資料保護詳情
- 💰 造訪 定價頁面 比較方案
- 🎨 查看 支援的格式 了解檔案相容性
需要幫助? 聯絡我們:[email protected]