使用 OSS MCP Server 將 OSS 資料管理能力整合到 AI 應用中。
這是一個 Alpha 版本,可能會有重大變更。
工具
OSS MCP Server提供以下工具:
列舉儲存空間(ListBuckets)
支援參數:
[prefix]:限定返回的儲存空間名稱必須包含的首碼[marker]:設定結果從 marker 之後按字母排序的第一個開始返回[maxKeys]:請求返回的最大儲存空間數目,預設值為 100,其可設定的最大值可在 OSS MCP Server 執行個體中配置[resourceGroupId]:指定返回的儲存空間資源群組 ID[region]:OSS 專用地區標識,如 oss-cn-hangzhou,用於指定請求使用的訪問網域名稱
查看儲存空間的相關資訊(GetBucketInfo)
支援參數:
bucket:儲存空間名稱[region]:OSS 專用地區標識,如 oss-cn-hangzhou,用於指定請求使用的訪問網域名稱
擷取指定儲存空間的儲存容量、檔案以及 Multipart 分區數量(GetBucketStat)
支援參數:
bucket:儲存空間名稱[region]:OSS 專用地區標識,如 oss-cn-hangzhou,用於指定請求使用的訪問網域名稱
環境要求
Node.js >= 18.20.5
STDIO
通過標準輸入/輸出方式與 MCP Server 通訊。
Cursor
編輯 ~/.cursor/mcp.json:
{
"mcpServers": {
"alibabacloud-oss": {
"command": "npx",
"args": ["-y", "alibabacloud-oss-mcp-server@alpha"],
"env": {
"OSS_ACCESS_KEY_ID": "your-access-key-id",
"OSS_ACCESS_KEY_SECRET": "your-access-key-secret"
}
}
}
}可選環境變數:
OSS_SECURITY_TOKEN:安全性權杖,使用臨時身份憑證時需要設定OSS_REGION:OSS 專用地區標識,如 oss-cn-hangzhouOSS_ENDPOINT:訪問網域名稱
Cherry Studio
類型:標準輸入/輸出
命令:
npx參數:
-y alibabacloud-oss-mcp-server@alpha環境變數:
OSS_ACCESS_KEY_ID=your-access-key-id(必需)OSS_ACCESS_KEY_SECRET=your-access-key-secret(必需)OSS_SECURITY_TOKEN=your-security-token(可選,使用臨時身份憑證時需要設定)OSS_REGION=oss-cn-hangzhou(可選)OSS_ENDPOINT=https://oss-cn-hangzhou.aliyuncs.com(可選)
Streamable HTTP
通過 HTTP 協議與 MCP Server 通訊。
服務端部署
遠端存取說明:OSS MCP Server 僅監聽 localhost。遠程部署時需通過反向 Proxy進行連接埠轉寄,並建議配置 HTTPS 和認證保護。
運行以下命令啟動 HTTP 服務:
export OSS_ACCESS_KEY_ID="your-access-key-id"
export OSS_ACCESS_KEY_SECRET="your-access-key-secret"
npx -y -p alibabacloud-oss-mcp-server@alpha -p express alibabacloud-oss-mcp-server --transport=streamable-http --port=18081可選環境變數:
OSS_SECURITY_TOKEN:安全性權杖,使用臨時身份憑證時需要設定OSS_REGION:OSS 專用地區標識,如 oss-cn-hangzhouOSS_ENDPOINT:訪問網域名稱
服務端點:http://localhost:18081/mcp
用戶端配置
配置用戶端串連到已部署的 HTTP 服務端點。
Cherry Studio
類型:可串流的 HTTP
URL:
http://localhost:18081/mcp
dify
服務端點 URL:
http://localhost:18081/mcp
編程方式使用
如需在代碼中直接整合 OSS MCP Server,可以通過編程方式建立和佈建服務執行個體。
安裝
npm install alibabacloud-oss-mcp-server@alpha基礎用法
import { OSSMcpServer, OSSMcpServerTransport } from 'alibabacloud-oss-mcp-server/server';
const server = new OSSMcpServer({
accessKeyId: process.env.OSS_ACCESS_KEY_ID,
accessKeySecret: process.env.OSS_ACCESS_KEY_SECRET,
securityToken: process.env.OSS_SECURITY_TOKEN,
region: process.env.OSS_REGION,
endpoint: process.env.OSS_ENDPOINT,
transportType: OSSMcpServerTransport.STDIO
});
await server.runServer();配置選項
建立 OSSMcpServer 執行個體時,可以傳入以下配置選項:
OSS 用戶端配置
accessKeyId:存取金鑰 IDaccessKeySecret:存取金鑰[securityToken]:安全性權杖[refreshCredentials]:更新訪問憑證方法,若使用臨時身份憑證,建議設定該值及refreshCredentialsInterval參數,防止臨時身份憑證到期[refreshCredentialsInterval]:訪問憑證有效期間,單位:毫秒(ms),預設值為 300000 ms,即 5 分鐘[lastRefreshCredentialsTime]:訪問憑證最新動向時間,預設值為初始化用戶端執行個體的時間[region]:地區 ID 或 OSS 專用地區標識,預設值為 oss-cn-hangzhou,此參數將統一轉化為地區 ID 用於簽名[endpoint]:訪問網域名稱,預設使用region參數產生外網訪問網域名稱,設定該值則忽略internal參數,若該值攜帶協議部分,則忽略secure參數。若region參數設定為地區 ID 或需要使用其他網域名稱訪問 OSS,請務必設定此參數[internal]:是否使用內網訪問網域名稱,預設值為 false[secure]:是否使用 HTTPS 協議訪問 OSS,預設值為 true[cname]:endpoint參數是否為自訂網域名,預設值為 false,若該值配置為 true,請設定endpoint參數[sldEnable]:是否使用次層網域方式訪問 OSS,預設值為 false[signVersion]:簽名版本,預設值為 ESignVersion.V4,即簽名版本 4[isRequestPay]:是否使用要求者付費模式,預設值為 false,若該值配置為 true,請求中將攜帶x-oss-request-payer要求標頭,且取值為 requester[userAgent]:自訂 User-Agent,該值將作為要求標頭User-Agent中的一部分進行發送[timeout]:請求逾時時間,單位:毫秒(ms),預設值為 60000 ms,即 60 秒[disabledMD5]:是否不計算 Content-MD5 值,預設值為 false[proxy]:HTTP 要求配置代理設定[retryMax]:請求失敗最大重試次數,預設值為 0[requestErrorShouldRetry]:請求失敗是否重試判斷方法,預設全部重試[amendTimeSkewed]:修正時間偏差,單位:毫秒(ms),預設值為 0[customRequestFunction]:自訂要求方法[customSign]:自訂簽名方法,配置此參數後,除 POST 簽名外的所有需要計算簽名的請求都會通過此方法計算簽名
MCP Server 配置
[transportType]:通訊類型,預設為標準輸入/輸出(stdio)[port]:HTTP 伺服器監聽連接埠,僅在使用 Streamable HTTP 通訊時有效,預設為 18081[tools]:要啟用的工具列表,預設全部啟用[listToolsMaxKeysMaxValue]:列舉類工具maxKeys參數可設定的最大值(1-1000),預設為 100[listToolsDefaultMaxKeys]:列舉類工具maxKeys參數的預設值,預設等於listToolsMaxKeysMaxValue[httpServer]:自訂 HTTP 伺服器執行個體(僅在使用 Streamable HTTP 通訊時有效)[logger]:日誌記錄器執行個體[xmlContentText]:工具請求成功後是否以原始 XML 字串格式返回結果,預設為 false(即返回 JSON 字串)[toolsRequestSuccessCallback]:工具請求成功時的回呼函數[toolsRequestErrorCallback]:工具請求失敗時的回呼函數