Script Vault: save a reusable instrument
connections_script_saveSave a small script instrument (enumerator / tracer / parity-differ) into this company's Script Vault, so any future session finds it via connections_search_catalog and runs it LOCALLY through the local MCP's script_run. Upserts per tool_name and stores language (javascript/Node by default; bun for Bun APIs or TypeScript imports). Scripts NEVER execute on this server - they are stored and served only. Size is tier-gated by the Pass plan (free 16KB, Pro 64KB, Business and Business Plus 1MB): an over-limit save is rejected with upgrade info, and after a downgrade an over-limit stored script stays saved but LOCKS until upgrade. Write description for semantic search: what the instrument finds/does and when to reach for it - an undiscoverable script is a wasted one.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| code | Yes | The full script text. Runs locally; args arrive via CONNECTIONS_SCRIPT_ARGS (JSON env). | |
| name | No | Human display name (defaults to tool_name). | |
| tags | No | Optional tags (e.g. ['sweep','i18n']). | |
| language | No | Default 'javascript' (run with node). | |
| tool_name | Yes | Stable slug, [a-z0-9_]+ (e.g. i18n_freeze_tracer). Same name = update in place. | |
| parameters | No | Optional docs of the args the script accepts ({ args: [{name, description}] }). | |
| description | Yes | What it enumerates/answers, its parameters, and when to reach for it - this text IS the search index. | |
| destructive | No | true when running it mutates things (default false - instruments should enumerate, not mutate). |