Skip to main content
Glama
Regan-Milne

Obsideo MCP server

by Regan-Milne

Store an object

put
Destructive

Save local files or inline content as encrypted objects with your own key, then replicate across three providers with ongoing integrity verification.

Instructions

Store a local file or inline content as an object. ENCRYPTED BY DEFAULT: the bytes are encrypted client-side with AES-256-GCM using a locally generated, user-held key before they leave the machine, so the platform stores ciphertext it cannot read. The key lives only in the local config file and Obsideo has no copy: if the user loses it the data is unrecoverable, so tell them to back it up. Pass encrypt=false only when another tool must read the stored bytes directly (S3 interop); that stores plaintext. Zero-byte objects are rejected. Objects are replicated to 3 providers and verified on a continuous cryptographic challenge cycle. The first call on a fresh machine also creates the account and can take 20 to 50 seconds; progress is reported while it runs. Encrypted objects are readable only with this machine's key: there is no cross-user sharing of encrypted objects.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
keyYesObject key, e.g. backups/db-2026-07-19.sql.zst
contentNoInline UTF-8 content (alternative to local_path)
encryptNoDefaults to true. Set false to store plaintext for S3 interop.
local_pathNoPath of a local file to upload

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv0.7.2
    • changedInput schema / properties / encrypt / description
      Previous value: -"Encrypt client-side before upload"New value: +"Defaults to true. Set false to store plaintext for S3 interop."
  2. First observedv0.2.0

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description richly discloses client-side AES-256-GCM encryption, local-only key custody, irrecoverability on key loss, zero-byte rejection, 3-provider replication, continuous verification, first-call account creation delay, and lack of cross-user sharing. This far exceeds the sparse annotations and gives an agent the critical security and latency expectations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is long but each sentence delivers essential security, validation, or performance information stole. The most important fact, encryption by default, is front-loaded in ALL CAPS, and the supporting caveats follow in a logical order with no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers encryption, key backup, the plaintext exception, zero-byte limits, replication, first-call latency, and sharing restrictions, leaving little ambiguity for a storage operation. The only notable gap is that it does not state the exact success return value, but that is non-critical for a put operation with no output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so each parameter is already explained structurally. The description adds minor context such as zero-byte rejection and the key-loss implication, but it does not substantially expand parameter meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening line, 'Store a local file or inline content as an object', gives a specific verb, a clear resource, and the two supported input forms. This distinguishes it from sibling read/list/delete tools such as get, ls, and rm without requiring schema inspection.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The core usage is unmistakable, and the description explicitly limits the one major deviation: 'Pass encrypt=false only when another tool must read the stored bytes directly (S3 interop)'. It does not explicitly name alternatives like get or rm for non-use cases, but the storage intent and encryption caveat provide adequate operational guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.