mcp
Upload a file and get a public shareable URL via API or MCP.
Should I use this
Quality & Safety
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"mcp": {
"url": "https://filetourl.org/api/mcp"
}
}
}Remote endpoints
https://filetourl.org/api/mcpstreamable-httpWhat it can do
Tool inventory
Tools (7)
🟡create_upload_url(file_name, content_type)
Preferred way to host a file. Reserves a link and returns a short-lived upload_url on filetourl.org itself, safe for AI agent sandboxes that only allow egress to trusted domains, since the upload never has to leave filetourl.org. Send the raw file bytes yourself with a single HTTP PUT to that URL (do not read the file into this conversation, and do not base64-encode it). The public_url returned works as soon as the PUT succeeds. Needs a FileToUrl Developer API key.
Input Schema
{
"type": "object",
"properties": {
"file_name": {
"type": "string",
"description": "Original file name (used for the stored filename and content-type hints)."
},
"content_type": {
"type": "string",
"description": "Optional MIME type of the file. Send the same value as the PUT's Content-Type header. Guessed from file_name when omitted."
}
},
"required": [
"file_name"
]
}🟡confirm_upload(id)
Optional. Confirm that the PUT to a create_upload_url upload_url finished, and get the final size and link back. The link also activates without this call, this just verifies it.
Input Schema
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The file id returned by create_upload_url."
}
},
"required": [
"id"
]
}🟡upload_file(file_content, file_name)
Host a small file by sending its bytes inline as base64. Prefer create_upload_url instead: inline base64 is slow and costly above roughly 100KB. For a user's own files only. Needs a FileToUrl Developer API key.
Input Schema
{
"type": "object",
"properties": {
"file_content": {
"type": "string",
"description": "The file's contents, base64-encoded."
},
"file_name": {
"type": "string",
"description": "Original file name (used for the stored filename and content-type hints)."
}
},
"required": [
"file_content",
"file_name"
]
}🟡get_file_status(id)
Look up whether a link created earlier is still active. Reports 'pending' for a reserved upload whose bytes have not arrived yet, and 'expired' once its upload window has passed.
Input Schema
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The file id returned by upload_file or create_upload_url."
}
},
"required": [
"id"
]
}🟡start_upload(file_name)
Begin a chunked upload for larger files. Returns an upload_id and recommended chunk size. Use this instead of upload_file for files over ~2MB.
Input Schema
{
"type": "object",
"properties": {
"file_name": {
"type": "string",
"description": "Original file name (used for the stored filename and content-type hints)."
}
},
"required": [
"file_name"
]
}🟡upload_chunk(upload_id, chunk_index, chunk_content)
Send one chunk of a file started with start_upload. Call repeatedly with increasing chunk_index (starting at 0) until the whole file is sent, then call finish_upload.
Input Schema
{
"type": "object",
"properties": {
"upload_id": {
"type": "string",
"description": "The upload_id returned by start_upload."
},
"chunk_index": {
"type": "integer",
"description": "Zero-based index of this chunk. Chunks are reassembled in ascending order."
},
"chunk_content": {
"type": "string",
"description": "This chunk's bytes, base64-encoded. Recommended ~1MB raw per chunk."
}
},
"required": [
"upload_id",
"chunk_index",
"chunk_content"
]
}🟡finish_upload(upload_id)
Complete a chunked upload after all chunks have been sent via upload_chunk. Assembles the file, uploads it, and returns the shareable URL.
Input Schema
{
"type": "object",
"properties": {
"upload_id": {
"type": "string",
"description": "The upload_id returned by start_upload."
}
},
"required": [
"upload_id"
]
}Recommended Prompts
get_file_statusget_file_statusCommunity
Evidence