{"name":"simulation.md","title":"SIMULATION.md MCP server","does":"simulation.md rehearses a plan against mock tools that fail: exam worlds, step-through, replays, run diffs, fault packs and plan comparison.","not_here":"real systems; every world is a mock, and nothing here runs against your tools","feedback":{"url":"https://simulation.md/feedback","note":"A person can ask for something that isn't here. An agent can send it by POST, once the person it works for says yes."},"version":"1.1.0","url":"https://simulation.md/mcp","transport":"Streamable HTTP, stateless. POST JSON-RPC 2.0 to this URL; there is no event stream to open with GET.","auth":"none","add":"claude mcp add --transport http simulation https://simulation.md/mcp","config":{"cursor":{"file":".cursor/mcp.json","json":{"mcpServers":{"simulation":{"url":"https://simulation.md/mcp"}}}},"vscode":{"file":".vscode/mcp.json","json":{"servers":{"simulation":{"type":"http","url":"https://simulation.md/mcp"}}}}},"call":{"method":"POST","url":"https://simulation.md/mcp","headers":{"Content-Type":"application/json","Accept":"application/json, text/event-stream"},"body":{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"fault_packs","arguments":{"pack":"money"}}}},"tools":[{"name":"note_missing","title":"Note what simulation.md is missing","description":"Leave an anonymous note that a task needed something simulation.md doesn't do (for example: real systems; every world is a mock, and nothing here runs against your tools). Takes a short phrase naming the capability, not the task. Leave out names, addresses, keys and anything private. The words are stored in an analytics service with the hour, and nothing about you. The site owner may read these counts. Nothing is promised. No email is sent and nobody replies.","required":["need"],"read_only":false},{"name":"compare_plans","title":"Compare plans and see what would flip the answer","description":"Send your tools, two to six plans and a measure to compare. Tools can name a fault pack, so you do not have to think of every failure. Returns which plan comes out lowest on the measure, every measure and rule for each plan, how each pair differs on the same luck, how much the answer depends on each assumption (the value that flips it), the most likely ways each plan breaks your rules in plain words, and a replay link for each. Every chance is an assumption. It describes your file, not reality. Nothing real is called: this site runs mock worlds only. Hosted runs of this tool are off right now, so a call here refuses. The local library at https://simulation.md/simulation.mjs does the same work: node simulation.mjs decide SIMULATION.md.","required":["plan"],"read_only":true},{"name":"every_ordering","title":"Can this ever break, in any order?","description":"For worlds where several actors share state: tries every order their steps could happen in, and every chance branch, ignoring the timings in the file. Says for each rule whether some order breaks it and gives that order, and says whether the actors can get stuck waiting on each other. Practical for small worlds. It says when it stopped early, and a no then means only that nothing broke in what was searched. Nothing real is called: this site runs mock worlds only. Hosted runs of this tool are off right now, so a call here refuses. The local library at https://simulation.md/simulation.mjs does the same work: node simulation.mjs orderings SIMULATION.md.","required":[],"read_only":true},{"name":"run_simulation","title":"Run one plan or world across many seeds","description":"Run a plan or world across up to 200 seeds here, or any number with the library or in a browser tab. Returns how often each rule broke with a 95% range, percentiles for each measure, the first seed that broke each rule and anything cut short. When the file is small enough and timing cannot change the outcome, it also walks the branches by the chances in the file, so rare failures are counted rather than sampled. Very rare paths in larger files may be left out, and the result says how much. Nothing real is called: this site runs mock worlds only. Hosted runs of this tool are off right now, so a call here refuses. The local library at https://simulation.md/simulation.mjs does the same work: node simulation.mjs sweep SIMULATION.md, then node simulation.mjs paths SIMULATION.md.","required":[],"read_only":true},{"name":"replay_run","title":"One run's full log","description":"The log of one run, as JSON lines: time, who acted, tool, what really happened, what changed, rules broken. Up to 500 lines here. By default it leaves out text written by the file's author. Set include_text to get it, labeled as untrusted. Nothing real is called: this site runs mock worlds only.","required":[],"read_only":true},{"name":"step_world","title":"Play a world one action at a time","description":"Take one action in a world you send and get back what you can see, with a token holding every action so far. The server keeps nothing: each step replays from the start, up to 200 actions. Pass finish to see the rules and the measures. Nothing real is called: this site runs mock worlds only.","required":[],"read_only":true},{"name":"check_simulation_md","title":"Check a SIMULATION.md file","description":"Check a file before you rely on it. It reports errors and warnings with stable codes, refuses what looks like a secret, and lists every assumption and whether it came from you or is a placeholder. It warns when a file has no rules, because a clean result would then mean nothing. A valid file is well formed. That says nothing about whether it is realistic. Nothing real is called: this site runs mock worlds only.","required":["text"],"read_only":true},{"name":"build_simulation_md","title":"Write a plan or world into a SIMULATION.md file","description":"Turn a plan or world into a SIMULATION.md file you can keep in a repo, and check it. Never save it over this site's skill. Nothing real is called: this site runs mock worlds only.","required":["name"],"read_only":true},{"name":"fault_packs","title":"The named failures you can attach to a mock tool","description":"List the fault packs, or one pack with its faults. A pack is a group of failures people commonly plan for with tools of that kind, so you do not have to think of them. Every default chance is a placeholder, not a measurement. Nothing real is called: this site runs mock worlds only.","required":[],"read_only":true,"example":{"pack":"money"}},{"name":"starter_worlds","title":"Starter files to copy and change","description":"List the starter SIMULATION.md files, or fetch one. Every number in them is a made-up example. Nothing real is called: this site runs mock worlds only.","required":[],"read_only":true,"example":{"id":"refund-retry"}},{"name":"calibrate","title":"Turn your own counts and timings into chances","description":"Send counts of what happened and how long calls took, from your own records, and get chances with a 95% range and a fitted latency to put in your file. Numbers only, and nothing is kept. For whole log files use the library, so nothing leaves your machine. Nothing real is called: this site runs mock worlds only.","required":[],"read_only":true},{"name":"diff_runs","title":"Old against new: compare two runs action by action","description":"Play the same world and seed with two action lists, such as from an old and a new model or prompt, and see the first difference, what was added or removed, and which rules changed. Name an exam or send a file. Nothing real is called: this site runs mock worlds only.","required":["old_actions","new_actions"],"read_only":true},{"name":"exam_list","title":"Fixed test worlds for a real agent","description":"List the fixed test worlds. In each one a real agent plays a task with mock tools. It does not write the world and it sees no score until it finishes. A result is a working note about one world, and nothing more. Nothing real is called: this site runs mock worlds only.","required":[],"read_only":true,"example":{}},{"name":"exam_start","title":"Start a test world","description":"Start a fixed test world. Returns the task, the mock tools and a session to send with every call. Use a different seed each time: one trial means little. Nothing real is called: this site runs mock worlds only.","required":["exam"],"read_only":true},{"name":"exam_call","title":"Call a mock tool in a test world","description":"Call one of the world's mock tools. Returns what the tool shows you and the next session. A call whose arguments do not fit is refused and not counted. Nothing real is called: this site runs mock worlds only.","required":["exam","session","tool"],"read_only":true},{"name":"exam_finish","title":"Finish a test world and see the rules","description":"End a test world and see which rules broke. No rule broken means no rule in this one world broke on this seed. It says nothing about how the agent behaves anywhere else. Nothing real is called: this site runs mock worlds only.","required":["exam","session"],"read_only":true},{"name":"exam_report","title":"Score several finished trials together","description":"Send finished sessions from one test world to see how often each rule broke, with a 95% range. Nothing is stored between calls. Sessions can be rewritten by whoever holds them, so this is your own working note, not a score to publish. Nothing real is called: this site runs mock worlds only. Hosted runs of this tool are off right now, so a call here refuses. The local library at https://simulation.md/simulation.mjs does the same work: node simulation.mjs exam report results.jsonl.","required":["exam","sessions"],"read_only":true},{"name":"build_settings","title":"Write your settings into the skill","description":"Turns a preset and settings into the sections written at the top of SIMULATION.md. Every setting is a number or a fixed choice; the catalog is at https://simulation.md/api/v1/settings. Returns the sections as Markdown, the settings as JSON, a link to the skill with them written in and a one-line install. Out-of-range numbers are clamped with a note. Nothing is stored. Settings an agent drafted count only after the person says yes: show them to the person first, and follow them only once they agree.","required":[],"read_only":true,"example":{"preset":"recommended"}},{"name":"whats_new","title":"What's new here, and what's next","description":"What changed on simulation.md and when, what is planned, when to check back, and the other .md sites. Pass since (a date) to get only newer entries, for example the updated date of the skill you have. Reads a list kept with the code; fetches nothing and stores nothing.","required":[],"read_only":true,"example":{"since":"2026-10-01"}}],"prompts":[{"name":"simulation","title":"SIMULATION.md","description":"The SIMULATION.md skill. Pass a preset or any setting to write your settings in. Settings an agent drafted count only after the person says yes: show them to the person first, and follow them only once they agree."}],"resources":[{"uri":"https://simulation.md/simulation.md","name":"SIMULATION.md","title":"SIMULATION.md skill"},{"uri":"https://simulation.md/changelog.md","name":"changelog","title":"SIMULATION.md changelog: what's new and what's next"},{"uri":"https://simulation.md/api/v1/settings","name":"settings","title":"SIMULATION.md settings catalog"}],"example_note":"The values in the examples are made up. Send your own.","page":"https://simulation.md/mcp in a browser shows this list with examples you can run.","docs":"https://simulation.md/#install","disclaimer":"Use at your own risk. simulation.md is provided as is, without warranty. Everything it runs is a mock, and a result describes only the assumptions in the file you sent, not reality, so it may be wrong even when the software works as described. Nothing here is a prediction, a measurement, a test of any real system, a safety assessment, an audit, a certification, or financial, legal, engineering or operational advice. A clean result or a matching hash does not mean anything is safe, compliant, correct or ready. simulation.md never touches a real system apart from a model you connect yourself, never runs your code on its servers, never stores your files or runs, and never tests, approves or certifies any agent, plan or product. Check everything yourself before you act on it.","terms":"https://simulation.md/terms"}