🤫husshhussh
🤫husshhusshOnePuppy
The hussh blog · MCP · capability security · programming languages

Can MCP tools carry security semantics?

A tool can look harmless in a sentence and still send an email, export a record, or change a customer’s state. Calling it “search” does not make it read-only.

Formal problem statementAll essays
A practical note

Start with the boundary, not the slogan.

Tool descriptions tell a model what a tool does. They do not inherently say what the tool is allowed to do. The system separates read/search from action tools and enforces a consent-token gate for actions; the challenge is making that contract portable and hard to misdescribe.

01

Names are a poor security model

We have all seen APIs where delete means archive, update means publish, and read has an audit side effect. A model cannot protect a person if the host only gives it verbs and hopes.

02

The host has to know before the model acts

Security semantics belong in the tool contract: what state changes, what data leaves, what scope is needed, and whether a person must approve. That is useful even when no language model is involved.

03

Start with mean examples

The fastest way to find a weak manifest is to write tools that lie about themselves. The system should reject or quarantine ambiguity before the model gets a chance to be clever with it.

The useful next step

Make the smallest experiment that can prove us wrong.

Draft a versioned capability manifest and test it against real tool schemas plus malicious near-misses. Treat each dropped security field as a test failure, not a compatibility annoyance.

The formal version has the constraints.

Read the source-backed research note before treating this essay as a product promise.

Open research noteJoin Discord

🤫 One is made by Hushh Technologies Corporation, an independent company. We name the hardware and clouds One runs on to say where it runs. None of them endorse us, and we call a company a partner only once the agreement is signed.