preesy

Print at a print shop with a short label instead of email or USB. Files expire on their own.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
99%
Naming quality
95%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~2,308Tokens (tool definitions)
~4.2 KBTypical response size
Moderate attention impact (1.80% of 128k context)

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": {
    "preesy": {
      "url": "https://preesy.com/mcp"
    }
  }
}

Remote endpoints

https://preesy.com/mcpstreamable-http

What it can do

Tool inventory

Tools (4)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟡create_print_session(file, files, label, lifetime_hours, one_time_access, ...)

Create a temporary Preesy session so a person can print a document from a public computer. Any place with a computer, a browser and internet can print it: library, bookshop, print or copy shop, internet cafe, hotel, office. No Preesy app or partnership is needed. The person opens preesy.com, or tells the staff "Preesy" plus the label (and the PIN, if set); the staff enter it on the site and print. The document expires automatically. A label is the name the person types on the Preesy website to find the document. Labels are not unique: anyone who types the same label can find the document. A 4-digit PIN keeps out anyone who does not know it. Set one when the document is sensitive. Choose pin and lifetime_hours from the person's situation before you upload. Use what they already said. Ask one short question only when you cannot tell a pin or lifetime that matters, then upload. If you already know, upload without asking. Set lifetime_hours for when they will print. It must be from 1 to 168 hours. The document is deleted automatically, so a shorter time keeps less data. Omitting lifetime_hours stores the default, which is only a fallback. print_only defaults to false, so the page allows print and download. If the person already said whether they want print only, set print_only on create. If they did not say, create the session with print_only false, then ask the person once whether they want it print only, and if yes call set_print_only. One session can hold several files, as on the website, up to 10 files and 50 MB in total. Send files for more than one document, file for one, or text for plain text. Send file, files, or text, one of them. Each field is described in the input schema. one_time_access: If true, this is a single-use label. As soon as a file or the zip is printed or downloaded, it is removed from the system. Default false. Keep the manage_token in this conversation and use it for later get_print_session, set_print_only, and expire_print_session requests until the session expires. Each session has its own manage_token. If the conversation has several sessions, keep each token with its label and use the one that matches the session the person means. Share the token with the person only if they ask, and never post it anywhere else. The label and PIN cannot manage the session.

Input Schema

{
  "type": "object",
  "properties": {
    "file": {
      "$ref": "#/$defs/OpenAIFile",
      "description": "One document as a public HTTPS download link, such as a ChatGPT file. Send file, files or text, only one of them. Allowed types: doc, docx, jpeg, jpg, pdf, png, txt."
    },
    "files": {
      "description": "Several documents in one session, as on the website. At most 10 files and 50 MB in total. Each item is the same object as file. Each file type must be one of: doc, docx, jpeg, jpg, pdf, png, txt. Send file, files, or text, one of them. No default.",
      "items": {
        "$ref": "#/$defs/OpenAIFile"
      },
      "maxItems": 10,
      "minItems": 1,
      "type": "array"
    },
    "label": {
      "description": "The name the person types on the Preesy website to find this document. Stored exactly as sent. Required. Not unique. 1 to 20 characters, uppercase A-Z and digits 0-9 only. No default.",
      "maxLength": 20,
      "minLength": 1,
      "pattern": "^[A-Z0-9]{1,20}$",
      "type": "string"
    },
    "lifetime_hours": {
      "default": 1,
      "description": "How many hours the document stays available. From 1 to 168. Default 1 only when this field is omitted. The document is deleted automatically, so a shorter time keeps less data.",
      "maximum": 168,
      "minimum": 1,
      "type": "integer"
    },
    "one_time_access": {
      "default": false,
      "description": "If true, this is a single-use label. As soon as a file or the zip is printed or downloaded, it is removed from the system. Default false.",
      "type": "boolean"
    },
    "pin": {
      "description": "Optional 4-digit code. Labels are not unique, so anyone who types the same label can find the document. A PIN keeps out anyone who does not know it. No default.",
      "pattern": "^[0-9]{4}$",
      "type": "string"
    },
    "print_only": {
      "default": false,
      "description": "Whether the person can only print (true) or also download the file (false, the default). Set true on create when the person already said they want print only.",
      "type": "boolean"
    },
    "schema_version": {
      "const": 1,
      "description": "Which version of these inputs you are sending. The only version is 1. Leave it out, or send 1.",
      "type": "integer"
    },
    "text": {
      "description": "The document as plain text, instead of a file. Preesy saves it as a .txt file the person can print. Send file, files, or text, one of them. No default.",
      "type": "string"
    }
  },
  "required": [
    "label"
  ],
  "$defs": {
    "OpenAIFile": {
      "additionalProperties": false,
      "properties": {
        "download_url": {
          "type": "string"
        },
        "file_id": {
          "type": "string"
        },
        "file_name": {
          "type": "string"
        },
        "mime_type": {
          "type": "string"
        }
      },
      "required": [
        "download_url",
        "file_id"
      ],
      "type": "object"
    }
  },
  "$id": "https://preesy.com/mcp/create_print_session.input.v1.json",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": true
}

Output Schema

{
  "type": "object",
  "properties": {
    "allowed_actions": {
      "items": {
        "enum": [
          "print",
          "download"
        ],
        "type": "string"
      },
      "type": "array"
    },
    "expires_at": {
      "format": "date-time",
      "type": "string"
    },
    "files": {
      "items": {
        "additionalProperties": false,
        "properties": {
          "name": {
            "type": "string"
          },
          "size": {
            "type": "integer"
          },
          "type": {
            "type": "string"
          }
        },
        "required": [
          "name",
          "size",
          "type"
        ],
        "type": "object"
      },
      "type": "array"
    },
    "label": {
      "type": "string"
    },
    "manage_token": {
      "type": "string"
    },
    "pin_set": {
      "type": "boolean"
    },
    "print_only": {
      "type": "boolean"
    },
    "site_url": {
      "type": "string"
    },
    "status": {
      "type": "string"
    }
  },
  "required": [
    "status",
    "label",
    "pin_set",
    "print_only",
    "expires_at",
    "site_url",
    "files",
    "allowed_actions",
    "manage_token"
  ],
  "additionalProperties": false
}
🟢get_print_session(manage_token)

Check a Preesy print session's status with its manage_token. Use the manage_token of that session from its create_print_session result earlier in the conversation. The manage_token is a secret and must be kept private. one_time_access: If true, this is a single-use label. As soon as a file or the zip is printed or downloaded, it is removed from the system. one_time_used: True once a file or the zip has been printed or downloaded. The label is then removed from the system. An expired session returns status only.

Input Schema

{
  "type": "object",
  "properties": {
    "manage_token": {
      "description": "Secret returned by create_print_session. Keep it private. A label and PIN do not work here.",
      "minLength": 1,
      "type": "string"
    }
  },
  "required": [
    "manage_token"
  ],
  "$id": "https://preesy.com/mcp/get_print_session.input.v1.json",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": true
}

Output Schema

{
  "type": "object",
  "properties": {
    "expires_at": {
      "description": "Expiry time in RFC3339 UTC.",
      "format": "date-time",
      "type": "string"
    },
    "label": {
      "type": "string"
    },
    "one_time_access": {
      "description": "If true, this is a single-use label. As soon as a file or the zip is printed or downloaded, it is removed from the system.",
      "type": "boolean"
    },
    "one_time_used": {
      "description": "True once a file or the zip has been printed or downloaded. The label is then removed from the system.",
      "type": "boolean"
    },
    "print_only": {
      "type": "boolean"
    },
    "status": {
      "enum": [
        "active",
        "expired"
      ],
      "type": "string"
    }
  },
  "required": [
    "status"
  ],
  "additionalProperties": false
}
🟡set_print_only(manage_token, print_only)

Turn print-only on or off for a Preesy session. With print-only on, the files can be printed but not downloaded, which keeps documents safer on shared computers. Use the manage_token of that session from its create_print_session result earlier in the conversation. The manage_token is secret. An expired session returns status only.

Input Schema

{
  "type": "object",
  "properties": {
    "manage_token": {
      "description": "Secret returned by create_print_session. Keep it private. A label and PIN do not work here.",
      "minLength": 1,
      "type": "string"
    },
    "print_only": {
      "description": "true turns print-only on (print, no download). false turns it off so the file can be downloaded.",
      "type": "boolean"
    }
  },
  "required": [
    "manage_token",
    "print_only"
  ],
  "$id": "https://preesy.com/mcp/set_print_only.input.v1.json",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": true
}

Output Schema

{
  "type": "object",
  "properties": {
    "expires_at": {
      "description": "Expiry time in RFC3339 UTC.",
      "format": "date-time",
      "type": "string"
    },
    "label": {
      "type": "string"
    },
    "print_only": {
      "type": "boolean"
    },
    "status": {
      "enum": [
        "active",
        "expired"
      ],
      "type": "string"
    }
  },
  "required": [
    "status"
  ],
  "additionalProperties": false
}
🔴expire_print_session(manage_token)

End a Preesy session now, so its files can no longer be printed or downloaded. Use the manage_token of that session from its create_print_session result earlier in the conversation. The manage_token is secret. A session that has already ended returns status expired.

Input Schema

{
  "type": "object",
  "properties": {
    "manage_token": {
      "description": "Secret returned by create_print_session. Keep it private. A label and PIN do not work here.",
      "minLength": 1,
      "type": "string"
    }
  },
  "required": [
    "manage_token"
  ],
  "$id": "https://preesy.com/mcp/expire_print_session.input.v1.json",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": true
}

Output Schema

{
  "type": "object",
  "properties": {
    "expires_at": {
      "description": "Expiry time in RFC3339 UTC.",
      "format": "date-time",
      "type": "string"
    },
    "label": {
      "type": "string"
    },
    "print_only": {
      "type": "boolean"
    },
    "status": {
      "enum": [
        "active",
        "expired"
      ],
      "type": "string"
    }
  },
  "required": [
    "status"
  ],
  "additionalProperties": false
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded4 tools