File Relay MCP
A remote MCP connector enabling AI agents to upload generated files and receive expiring download links. It supports creating upload links, retrieving file info, reading files, and deleting files early, with links expiring after 24 hours by default.
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://code.easyllms.com/relay/mcpWhat you can do with it
- Upload a generated file to get an expiring download link
- Retrieve information about a specific file
- Read the content of a relayed file
- Delete a file early using its delete token
Source and maintenance
Protocol and capabilities
- Server
- file-relay 1.1.0
- MCP protocol
- 2025-06-18
- Tools
- 5 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
5 advertised
create_upload_link — Create upload link
Relay a file of any size up to 100 MB. Save the file to local disk first, call this with its path, then run the returned curl command in your shell to upload it. The download link works as soon as the upload finishes. Requires outbound network access to code.easyllms.com; if curl is blocked, ask the user to allow that domain in their sandbox network settings (on claude.ai: Settings > Capabilities > Code execution).
{
"type": "object",
"required": [
"path"
],
"properties": {
"path": {
"type": "string",
"description": "Local path of the file you saved, e.g. /tmp/report.pdf. Used to build the curl command."
},
"filename": {
"type": "string",
"description": "Optional name shown to the downloader; defaults to the file name in path."
},
"ttl_hours": {
"type": "number",
"maximum": 168,
"minimum": 0.1,
"description": "Hours until the download link expires. Default 24, maximum 168 (7 days)."
},
"content_type": {
"type": "string",
"description": "Optional MIME type; guessed from the extension otherwise."
}
},
"additionalProperties": false
}{
"title": "Create upload link",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": false
}relay_attached_file — Relay attached file
ChatGPT only: relay a file from the conversation (the host passes it as a file reference) and get a temporary download link.
{
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "object",
"required": [
"download_url"
],
"properties": {
"file_id": {
"type": "string"
},
"file_name": {
"type": "string"
},
"mime_type": {
"type": "string"
},
"download_url": {
"type": "string"
}
},
"description": "File reference provided by the host."
},
"filename": {
"type": "string",
"description": "Optional file name override."
},
"ttl_hours": {
"type": "number",
"maximum": 168,
"minimum": 0.1,
"description": "Hours until the download link expires. Default 24, maximum 168 (7 days)."
}
},
"additionalProperties": false
}{
"title": "Relay attached file",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": false
}get_file_info — Get file info
Look up a relayed file by id or download URL: name, size, type, expiry and download link.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "File id or download URL returned by an upload tool."
}
},
"additionalProperties": false
}{
"title": "Get file info",
"readOnlyHint": true,
"openWorldHint": false
}read_file — Read file
Read a relayed file's content (up to 1 MB) so an agent can pick up a file someone else relayed. Text comes back as text, images as images, other files as base64.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "File id or download URL from this relay."
}
},
"additionalProperties": false
}{
"title": "Read file",
"readOnlyHint": true,
"openWorldHint": false
}delete_file — Delete file
Delete a relayed file before it expires. Requires the delete_token returned at upload.
{
"type": "object",
"required": [
"id",
"delete_token"
],
"properties": {
"id": {
"type": "string",
"description": "File id or download URL."
},
"delete_token": {
"type": "string",
"description": "delete_token returned at upload."
}
},
"additionalProperties": false
}{
"title": "Delete file",
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": true
}Prompts
Not advertised
Resources
Not advertised
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
- 449 ms
- 95th percentile latency
- 449 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 449 ms · metadata changed · 5 tool(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http file-relay-mcp https://code.easyllms.com/relay/mcpCodex
codex mcp add file-relay-mcp --url https://code.easyllms.com/relay/mcpCursor
{
"mcpServers": {
"file-relay-mcp": {
"url": "https://code.easyllms.com/relay/mcp"
}
}
}Cline
{
"mcpServers": {
"file-relay-mcp": {
"type": "streamableHttp",
"url": "https://code.easyllms.com/relay/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"file-relay-mcp": {
"type": "http",
"url": "https://code.easyllms.com/relay/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http file-relay-mcp https://code.easyllms.com/relay/mcpClaude Desktop
{
"mcpServers": {
"file-relay-mcp": {
"url": "https://code.easyllms.com/relay/mcp"
}
}
}Windsurf
{
"mcpServers": {
"file-relay-mcp": {
"serverUrl": "https://code.easyllms.com/relay/mcp"
}
}
}Let your agent find its tools
Find servers like File Relay MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.