Model Salt

Official registry AI and agents

Randomness from outside the model, so one prompt gives different answers that still fit the ask.

Install

Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).

NPM package @modelsalt/model-salt
Claude Code
claude mcp add model-salt -- npx -y @modelsalt/model-salt@1.0.1 '<service>'
JSON configuration (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "model-salt": {
            "command": "npx",
            "args": [
                "-y",
                "@modelsalt/model-salt@1.0.1",
                "<service>"
            ]
        }
    }
}

Documentation

From the project's README on GitHub, refreshed weekly. Links open on GitHub.

Contents
  1. Model Salt
  2. Install
  3. Undo
  4. Use it
  5. What it changes
  6. What it needs
  7. Other ways to run it
  8. How it works
  9. Contributing
  10. Privacy
  11. Licence

Model Salt

Ask a language model for the same thing ten times and you get the same answer ten times. Model Salt is an MCP server that gives your model randomness from outside it, so one prompt gives ten different answers that still do exactly what you asked.

modelsalt.com · works in Claude Code, Codex, Gemini CLI and Kimi Code

Install

One command adds it to your client. Run it once.

ClientCommand
Claude Codenpx -y @modelsalt/model-salt setup claude
Codexnpx -y @modelsalt/model-salt setup codex
Gemini CLInpx -y @modelsalt/model-salt setup gemini
Kimi Codenpx -y @modelsalt/model-salt setup kimi

Start a new session in your client after it, and the model_salt tool is there.

  • What it adds: the model-salt server in your client's MCP list. For Codex and Kimi Code it also adds a short skill at ~/.agents/skills/model-salt/ that tells the model when to call the tool, and for Codex one setting on that server so the model sees the tool from the start.
  • Gemini CLI runs local servers only in folders you trust.
  • See first: add --dry-run to print what it would change and change nothing.
  • Run it twice: nothing changes the second time.

Undo

npx -y @modelsalt/model-salt uninstall claude    # or codex, gemini, kimi

It takes out everything setup added. The skill stays while another client of yours still uses it. --dry-run works here too.

Use it

Ask for anything with room for choices: a picture, an SVG, a page, a name, a story, a plan. The model calls model_salt with your request, gets back what to settle this time, and then does your request as you asked it.

Want more or less of it? Say so in your prompt ("make it really different", "keep it close to the usual"). The tool takes a setting from 0 to 2. Left out, it is 1.

SettingHow often each choice keeps the model's usual pick (target)
0always
0.570% of the time
1 (default)45% of the time
1.525% of the time
2no more often than any other fitting pick

The model skips the tool for questions with one right answer (a sum, a fact, a bug fix).

What it changes

Same prompt, 10 runs each, from the examples on modelsalt.com.

"Generate an SVG of a pelican riding a bicycle." Different pictures in 10 runs:

ModelPlain promptWith Model Salt
Claude Opus 5.519
Claude Fable 5.139
GPT-6.1 Sol210
GPT-6 Astra18
Gemini 4 Argon210
Kimi K319

"Suggest a name for a neighbourhood coffee shop." Claude Opus 5.5, the first five runs:

Plain promptWith Model Salt
The Common GrindThe Footbridge
Common GroundBrew Espresso Bar
The Common GrindSnugwick Corner
The Daily Grind & GatherOld Oak's
The Common CupHilltop Coffee

"Write the first line of a short story about a lighthouse keeper." Claude Opus 5.5:

  • Plain, 5 of 5 runs: "For thirty-one years, Elias Marrow had kept the light burning for ships that never..." (Marrow, Maren or Marsh, thirty-one or forty-one years)
  • With Model Salt: "The sea has gone perfectly still, and I have never been more afraid." / "The beam swept the black water again, lighting nothing Tomas had ever loved." / "Halfway up the iron stair with a can of whale oil knocking against her knee, Agnes Merrow..."

Every run, plain and salted, is in examples/, with the prompt, the model and the answer.

What it needs

  • Node 18 or later. npx fetches the package the first time.
  • Claude Code or Codex, signed in. Each call runs one short extra request on your machine, on your own plan, with no API key: through Codex when you use Codex, and through Claude Code (Claude Opus 5.5) when you use Claude Code, Gemini CLI or Kimi Code. If that request can't run, the tool says so and your model carries on with the request as asked.
  • Time and tokens. A salted answer takes longer and uses more tokens than a plain one. On the pelican prompt, Claude Opus 5.5 used about 3,300 more output tokens per answer.
  • Network. The server fetches random bytes from public randomness sources (atmospheric and quantum noise, and the drand beacon). Your prompt is not sent to them. Offline, it uses your computer's own random generator.

Other ways to run it

  • Short name: npx -y model-salt <args> runs the same package as npx -y @modelsalt/model-salt <args>.
  • As a plugin: plugin/ holds a Codex plugin, a Claude Code plugin and a Gemini CLI extension, and this repo is a plugin marketplace. From a clone:
    • Codex: codex plugin marketplace add /path/to/model-salt, then codex plugin add model-salt@model-salt
    • Claude Code: claude plugin marketplace add /path/to/model-salt, then claude plugin install model-salt@model-salt
    • Gemini CLI: gemini extensions install /path/to/model-salt/plugin
  • By hand: add a stdio MCP server that runs npx -y @modelsalt/model-salt anthropic (Claude, Gemini and Kimi models) or npx -y @modelsalt/model-salt openai (GPT models).
  • From a clone: node src/stdio.mjs anthropic in place of the npx command.

How it works

In a separate short run, the model names the biggest open decisions in your request (the questions an expert would ask) and a range of answers to each, its usual one included. Randomness from outside the model picks one answer per question. Your model then does the request with those answers settled. More, and why simpler ways failed: docs/how-it-works.md.

Contributing

Found a prompt that still gives the same answer every time with Model Salt? Open an issue with the prompt, the model and a few runs. How to test a change to a family's steps: CONTRIBUTING.md.

Privacy

Model Salt runs on your machine and never sends your prompts anywhere. It only asks public random sources for random bytes. Details: Privacy policy.

Licence

  • Code: MIT, see LICENSE.
  • Example runs and pictures (examples/, the images in docs/): CC BY 4.0, credit "Model Salt", see examples/LICENSE.
  • Word list (src/words.mjs, Webster's 2nd, 1934): public domain.

Model Salt is a project by Chris Benjaminsen.

Frequently asked questions

What is Model Salt?

Randomness from outside the model, so one prompt gives different answers that still fit the ask.

How do I install Model Salt?

It runs on your machine. In Claude Code: claude mcp add model-salt -- npx -y @modelsalt/model-salt@1.0.1 '<service>'. For other clients, paste the JSON configuration from this page into their MCP settings.

Does Model Salt need an API key?

Its registry entry lists no required key or secret. Some features may still need an account with the service it connects to.

Is Model Salt open source?

Yes. Its code is on GitHub under the MIT license.

Who maintains Model Salt?

It is published by modelsalt. AI.tn lists it but does not maintain or endorse it.

From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.