83blue MCP
An official MCP server provided by 83blue for AI agents to perform file transfers, static site hosting, and conversation handoffs without requiring accounts or API keys. It exposes tools for sharing text, files, and conversation contexts, as well as deploying and managing static websites.
Endpoint and access
No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.
https://upload.83blue.com/mcpWhat its tools do
9 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.
Read-only (3)
Can change data (6)
Checks and signals
Each line is separate evidence, not a trust score.
- Passed Endpoint answered the live check ·
- Passed Official MCP Registry namespace is tied to upload.83blue.com ·
- Passed Endpoint is on the registry namespace domain ·
- Availability 1 of 1 checks passed in 30 days
What you can do with it
- Transfer files between AI agents using secure, password-protected links
- Deploy static websites for demos or prototypes with a single tool call
- Hand off conversation context and files to another agent or model
- Retrieve file metadata and contents via MCP tools
Source and maintenance
Protocol and capabilities
- Server
- agent-cloud-tools 1.0.0
- MCP protocol negotiated in check
- 2025-11-25
- Tools
- 9 advertised
- Resources
- Not advertised
- Resource templates
- Not advertised
- Prompts
- Not advertised
{
"tools": {
"listChanged": false
}
}Server-provided instructions
Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.
Tools
9 advertised
share_text — Share text with another agent or person
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",
"required": [
"content"
],
"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"
},
"password": {
"type": "string",
"maxLength": 64,
"minLength": 8,
"description": "Optional custom password (8-64 chars); a strong one is generated when omitted"
},
"expires_days": {
"type": "integer",
"default": 30,
"maximum": 180,
"minimum": 1,
"description": "Days until the file is deleted (1-180, default 30)"
}
}
}{
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": false
}share_file — Share one or more files with another agent
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",
"required": [
"files"
],
"properties": {
"files": {
"type": "array",
"items": {
"type": "object",
"required": [
"filename"
],
"properties": {
"filename": {
"type": "string"
},
"content_text": {
"type": "string",
"description": "UTF-8 text content"
},
"content_base64": {
"type": "string",
"description": "Base64 content for binary files"
}
}
},
"maxItems": 100,
"minItems": 1
},
"password": {
"type": "string",
"maxLength": 64,
"minLength": 8,
"description": "Optional custom password (8-64 chars); a strong one is generated when omitted"
},
"bundle_name": {
"type": "string",
"default": "handoff-bundle.zip",
"description": "Zip name used when more than one file is sent"
},
"expires_days": {
"type": "integer",
"default": 30,
"maximum": 180,
"minimum": 1,
"description": "Days until the file is deleted (1-180, default 30)"
}
}
}{
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": false
}share_conversation — Hand a whole conversation to another model
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",
"required": [
"transcript"
],
"properties": {
"files": {
"type": "array",
"items": {
"type": "object",
"required": [
"filename"
],
"properties": {
"filename": {
"type": "string"
},
"content_text": {
"type": "string"
},
"content_base64": {
"type": "string"
}
}
},
"maxItems": 100,
"description": "Optional files the next agent needs alongside the transcript"
},
"title": {
"type": "string",
"description": "Short name for the bundle, e.g. \"auth refactor handoff\""
},
"password": {
"type": "string",
"maxLength": 64,
"minLength": 8,
"description": "Optional custom password (8-64 chars); a strong one is generated when omitted"
},
"transcript": {
"type": "string",
"description": "Markdown briefing for the next agent: context, instructions, conversation summary, task state. Becomes HANDOFF.md at the bundle root."
},
"expires_days": {
"type": "integer",
"default": 30,
"maximum": 180,
"minimum": 1,
"description": "Days until the file is deleted (1-180, default 30)"
}
}
}{
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": false
}receive_file — Receive a file another agent shared
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",
"required": [
"url_or_token"
],
"properties": {
"password": {
"type": "string",
"description": "Needed for share urls and bare tokens; not needed for capability urls"
},
"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"
},
"max_inline_bytes": {
"type": "integer",
"default": 100000,
"maximum": 1000000,
"minimum": 0,
"description": "Inline text content up to this many bytes (max 1000000)"
}
}
}{
"readOnlyHint": true,
"openWorldHint": true
}deploy_site — Publish a static website to a live public url
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",
"required": [
"files"
],
"properties": {
"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."
},
"files": {
"type": "array",
"items": {
"type": "object",
"required": [
"path"
],
"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)"
}
}
},
"maxItems": 300,
"minItems": 1,
"description": "The site files. Must include an index.html at the root."
},
"title": {
"type": "string",
"description": "Optional short label for your own reference"
},
"manage_key": {
"type": "string",
"description": "Pass the manage_key from a previous deploy together with the same slug to update that site in place."
},
"expires_days": {
"type": "integer",
"default": 30,
"maximum": 30,
"minimum": 1,
"description": "Days until the site is removed (1-30, default 30)"
}
}
}{
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": false
}list_sites — Look up a hosted site
Return the status, address, size and expiry of a site you deployed. Pass the url, host or slug.
{
"type": "object",
"required": [
"site"
],
"properties": {
"site": {
"type": "string",
"description": "The site url (https://.../s/name/), path (/s/name) or bare name"
}
}
}{
"readOnlyHint": true,
"openWorldHint": true
}delete_site — Take down a hosted site
Remove a site you deployed. Needs the site url/host/slug and its manage_key (returned by deploy_site).
{
"type": "object",
"required": [
"site",
"manage_key"
],
"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"
}
}
}{
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": true
}remember — Remember text, notes or JSON for a future session (durable agent memory)
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",
"required": [
"content"
],
"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"
},
"password": {
"type": "string",
"maxLength": 64,
"minLength": 8,
"description": "Optional custom password (8-64 chars); a strong one is generated when omitted"
},
"expires_days": {
"type": "integer",
"default": 30,
"maximum": 180,
"minimum": 1,
"description": "Days until the file is deleted (1-180, default 30)"
}
}
}{
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": false
}recall — Recall something you stored earlier, or fetch any 83blue url
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",
"required": [
"url_or_token"
],
"properties": {
"password": {
"type": "string",
"description": "Needed for share urls; not needed for capability urls"
},
"url_or_token": {
"type": "string",
"description": "The 83blue url or token to recall or fetch"
},
"max_inline_bytes": {
"type": "integer",
"default": 100000,
"maximum": 1000000,
"minimum": 0,
"description": "Inline text content up to this many bytes"
}
}
}{
"readOnlyHint": true,
"openWorldHint": true
}Prompts
Not advertised
Resources
Not advertised
90-day uptime
A lightweight connection check about every six hours, sampled on hosts with many listings. It shows the server answered, not that its tools work.
- 2026-11-09: 1 of 1 checks answered
30-day availability
Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.
- Successful checks
- 1 of 1 (100%)
- Average latency
- 553 ms
- 95th percentile latency
- 553 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 553 ms · metadata changed · 9 tool(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http 83blue-mcp https://upload.83blue.com/mcpCodex
codex mcp add 83blue-mcp --url https://upload.83blue.com/mcpCursor
{
"mcpServers": {
"83blue-mcp": {
"url": "https://upload.83blue.com/mcp"
}
}
}Cline
{
"mcpServers": {
"83blue-mcp": {
"type": "streamableHttp",
"url": "https://upload.83blue.com/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"83blue-mcp": {
"type": "http",
"url": "https://upload.83blue.com/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http 83blue-mcp https://upload.83blue.com/mcpClaude Desktop
https://upload.83blue.com/mcpWindsurf
{
"mcpServers": {
"83blue-mcp": {
"serverUrl": "https://upload.83blue.com/mcp"
}
}
}Let your agent find its tools
Find servers like 83blue MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.
Other developer tools servers
Do you run 83blue MCP?
Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.