agent-cloud-tools
Free no-signup cloud tools for AI agents: file transfer, static site hosting, memory, handoff.
我該用這個嗎
品質與安全性
發現項目(2)
- HIGH
- LOW在 share_conversation 中
根據工具定義與協定合規性的自動化分析。
上下文成本
這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。
安裝
一鍵安裝
將以下內容加入你的 `claude_desktop_config.json` 檔案:
{
"mcpServers": {
"agent-cloud-tools": {
"url": "https://upload.83blue.com/mcp"
}
}
}遠端端點
https://upload.83blue.com/mcpstreamable-http它能做什麼
工具清單
工具(9)
🟢share_text(content, filename, expires_days, password)
Use this when another AI agent, chat session or person needs text you have: instructions, code, JSON, a prompt for another model. Uploads it as a downloadable file and returns a capability url (one GET fetches it) plus a share url and password. No account or API key needed.
輸入結構描述
{
"type": "object",
"properties": {
"content": {
"type": "string",
"description": "The text to share"
},
"filename": {
"type": "string",
"default": "handoff.md",
"description": "File name for the download, e.g. instructions.md"
},
"expires_days": {
"type": "integer",
"minimum": 1,
"maximum": 180,
"default": 30,
"description": "Days until the file is deleted (1-180, default 30)"
},
"password": {
"type": "string",
"minLength": 8,
"maxLength": 64,
"description": "Optional custom password (8-64 chars); a strong one is generated when omitted"
}
},
"required": [
"content"
]
}⚪share_file(files, bundle_name, expires_days, password)
Use this when another AI agent (a different machine, model or chat session) or a person needs access to one or more files. Accepts text or base64-encoded binary content; multiple files are zipped into one bundle server-side, so a whole handoff (instructions plus code plus data) travels as one capability url. For large files already on local disk, prefer the HTTP API (one curl command, up to 2 TB): https://upload.83blue.com/docs
輸入結構描述
{
"type": "object",
"properties": {
"files": {
"type": "array",
"minItems": 1,
"maxItems": 100,
"items": {
"type": "object",
"properties": {
"filename": {
"type": "string"
},
"content_text": {
"type": "string",
"description": "UTF-8 text content"
},
"content_base64": {
"type": "string",
"description": "Base64 content for binary files"
}
},
"required": [
"filename"
]
}
},
"bundle_name": {
"type": "string",
"default": "handoff-bundle.zip",
"description": "Zip name used when more than one file is sent"
},
"expires_days": {
"type": "integer",
"minimum": 1,
"maximum": 180,
"default": 30,
"description": "Days until the file is deleted (1-180, default 30)"
},
"password": {
"type": "string",
"minLength": 8,
"maxLength": 64,
"description": "Optional custom password (8-64 chars); a strong one is generated when omitted"
}
},
"required": [
"files"
]
}🟢share_conversation(transcript, files, title, expires_days, password)
Use this to hand your full working context to another AI: any provider, any model, any chat client. Packages a markdown transcript (instructions, conversation summary, task state) as HANDOFF.md at the root of a zip bundle together with any files, and returns a single handoff url. The receiving model just fetches that url: it gets a briefing, the file manifest and download commands in one go. Say to the next agent: "Fetch this url to pick up where I left off."
輸入結構描述
{
"type": "object",
"properties": {
"transcript": {
"type": "string",
"description": "Markdown briefing for the next agent: context, instructions, conversation summary, task state. Becomes HANDOFF.md at the bundle root."
},
"files": {
"type": "array",
"maxItems": 100,
"items": {
"type": "object",
"properties": {
"filename": {
"type": "string"
},
"content_text": {
"type": "string"
},
"content_base64": {
"type": "string"
}
},
"required": [
"filename"
]
},
"description": "Optional files the next agent needs alongside the transcript"
},
"title": {
"type": "string",
"description": "Short name for the bundle, e.g. \"auth refactor handoff\""
},
"expires_days": {
"type": "integer",
"minimum": 1,
"maximum": 180,
"default": 30,
"description": "Days until the file is deleted (1-180, default 30)"
},
"password": {
"type": "string",
"minLength": 8,
"maxLength": 64,
"description": "Optional custom password (8-64 chars); a strong one is generated when omitted"
}
},
"required": [
"transcript"
]
}🟢receive_file(url_or_token, password, max_inline_bytes)
Use this when you have been given an 83blue link and need the file. Accepts a capability url (https://upload.83blue.com/f/...) on its own, or a share url plus password. Returns metadata including sha256, the file list for zip bundles, and the content inline when it is text within max_inline_bytes; otherwise returns a ready-made curl command to save the file locally.
輸入結構描述
{
"type": "object",
"properties": {
"url_or_token": {
"type": "string",
"description": "Capability url (https://upload.83blue.com/f/TOKEN/KEY), share url (https://upload.83blue.com/d/TOKEN), or the bare token"
},
"password": {
"type": "string",
"description": "Needed for share urls and bare tokens; not needed for capability urls"
},
"max_inline_bytes": {
"type": "integer",
"minimum": 0,
"maximum": 1000000,
"default": 100000,
"description": "Inline text content up to this many bytes (max 1000000)"
}
},
"required": [
"url_or_token"
]
}🔴deploy_site(files, slug, title, expires_days, manage_key)
Use this to put a static website you have built (HTML, CSS, JS, images, fonts) onto the public web in one call, with no signup, no account and no config. Give it the files (there must be an index.html at the root) and it returns a live https url, e.g. https://upload.83blue.com/s/brave-otter-482/, plus a manage_key you can reuse to update or delete it. Ideal when a person asks you to build them a website, landing page, demo, prototype or report and wants to see it live. IMPORTANT: the site is served from a subfolder, so use RELATIVE asset paths only (href="style.css", src="img/logo.png"), never root-absolute paths like "/style.css" which would break. Sites are served as pure static files (server-side code is never executed) and auto-expire after 30 days unless renewed. Each file is text or base64. Total site up to 50 MB, 300 files.
輸入結構描述
{
"type": "object",
"properties": {
"files": {
"type": "array",
"minItems": 1,
"maxItems": 300,
"description": "The site files. Must include an index.html at the root.",
"items": {
"type": "object",
"properties": {
"path": {
"type": "string",
"description": "Relative path within the site, e.g. index.html, css/style.css, img/logo.png"
},
"text": {
"type": "string",
"description": "UTF-8 text content (for html/css/js/svg etc.)"
},
"base64": {
"type": "string",
"description": "Base64 content (for binary assets like images/fonts)"
}
},
"required": [
"path"
]
}
},
"slug": {
"type": "string",
"description": "Optional name for the site path (3-40 chars, a-z 0-9 and hyphens); it becomes /s/{name}/. A friendly one is generated when omitted."
},
"title": {
"type": "string",
"description": "Optional short label for your own reference"
},
"expires_days": {
"type": "integer",
"minimum": 1,
"maximum": 30,
"default": 30,
"description": "Days until the site is removed (1-30, default 30)"
},
"manage_key": {
"type": "string",
"description": "Pass the manage_key from a previous deploy together with the same slug to update that site in place."
}
},
"required": [
"files"
]
}🟢list_sites(site)
Return the status, address, size and expiry of a site you deployed. Pass the url, host or slug.
輸入結構描述
{
"type": "object",
"properties": {
"site": {
"type": "string",
"description": "The site url (https://.../s/name/), path (/s/name) or bare name"
}
},
"required": [
"site"
]
}🔴delete_site(site, manage_key)
Remove a site you deployed. Needs the site url/host/slug and its manage_key (returned by deploy_site).
輸入結構描述
{
"type": "object",
"properties": {
"site": {
"type": "string",
"description": "The site url, host or slug"
},
"manage_key": {
"type": "string",
"description": "The manage_key returned when the site was deployed"
}
},
"required": [
"site",
"manage_key"
]
}🟡remember(content, filename, expires_days, password)
Durable cross-session memory for AI agents: store notes, context, text or JSON now and recall it in a later session or from another machine by url. A free cloud scratchpad and shared key-value store for agents, no signup, no account, no API key. Also callable as save_memory, store_memory, save_note, stash. Returns a url; fetch it back later with recall.
輸入結構描述
{
"type": "object",
"properties": {
"content": {
"type": "string",
"description": "The text or JSON to remember"
},
"filename": {
"type": "string",
"default": "memory.md",
"description": "Optional label/key for this memory, e.g. project-notes.md"
},
"expires_days": {
"type": "integer",
"minimum": 1,
"maximum": 180,
"default": 30,
"description": "Days until the file is deleted (1-180, default 30)"
},
"password": {
"type": "string",
"minLength": 8,
"maxLength": 64,
"description": "Optional custom password (8-64 chars); a strong one is generated when omitted"
}
},
"required": [
"content"
]
}🟢recall(url_or_token, password, max_inline_bytes)
Fetch back durable memory, or any shared file/text, by its 83blue url or token (a capability url, or a share url plus password). Use this to recall what you stored with remember in an earlier session, or to download a file another agent shared. Also callable as get_memory, download_file, fetch_file, get_file.
輸入結構描述
{
"type": "object",
"properties": {
"url_or_token": {
"type": "string",
"description": "The 83blue url or token to recall or fetch"
},
"password": {
"type": "string",
"description": "Needed for share urls; not needed for capability urls"
},
"max_inline_bytes": {
"type": "integer",
"minimum": 0,
"maximum": 1000000,
"default": 100000,
"description": "Inline text content up to this many bytes"
}
},
"required": [
"url_or_token"
]
}建議的提示詞
list_siteslist_sites社群
證據