Scripthold
MCPB · SCRIPTHOLD_LINUX_AMD64.MCPB · 6 COMPONENTS
Secure encoding-aware local workspace runtime for AI agents
Last scanned (10 hours ago)
Scores higher than 71% of MCPB servers
Category Developer Tools
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →
Supply Chain Security0
- No malware scan is available for this kind of package: the supply-chain vendors we use do not cover it. This is a permanent gap in our coverage, not a finding about the package.Unverified
- Known CVEs could not be checked: we found no dependency list to check in this bundle: either it runs a compiled binary, whose bundled manifests we do not read, or none of the package.json, requirements.txt, pyproject.toml or uv.lock files it ships for its runtime declares a dependency we can read (a requirements.txt that only points at a setup.py project, a local path, or a nested requirements file we cannot follow counts as none).Unverified
- Install-script risk not yet assessed.Unverified
- Dependency health could not be checked: we found no dependency list to check in this bundle: either it runs a compiled binary, whose bundled manifests we do not read, or none of the package.json, requirements.txt, pyproject.toml or uv.lock files it ships for its runtime declares a dependency we can read (a requirements.txt that only points at a setup.py project, a local path, or a nested requirements file we cannot follow counts as none).Unverified
Provenance & Transparency48
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- Clear OSI-approved license (GPL-3.0).Pass
- Actively maintained (last published 9 days ago).Pass
- Publishes a security disclosure policy (SECURITY.md).Pass
Schema Quality & AI Usability66
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (poor).Fail
- Tool/resource definitions use about 2613 tokens (~72/item across 36 items; 36 tools + 0 resources), lean.Pass
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management0
- Stability not yet verified: two runs of the same published version returned different tool surfaces, so we cannot tell a change in the package from a difference in our own sandbox run.Unverified
Tool Coverage72
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 0% of tool parameters carry a description.Fail
- Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- All 1 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
- An AI judge read all 37 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Unverified: 2 categories
Categories scored 0 because we could not verify them: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 25 Oct 26 −11
- Stability: 0.80 → unverified ▼ security
- Schema quality: 60 → 69 ▼ functional
- 24 Oct 26 −1
- Schema quality: fair → poor functional
- 23 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 73 to 77. That category is still filling its 30-day observation window: 22 days of observed history at the previous scan, 23 at this one. The score rises as the window fills, whether or not the server changes.
- 20 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 63 to 67. That category is still filling its 30-day observation window: 19 days of observed history at the previous scan, 20 at this one. The score rises as the window fills, whether or not the server changes.
- 18 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 57 to 60. That category is still filling its 30-day observation window: 17 days of observed history at the previous scan, 18 at this one. The score rises as the window fills, whether or not the server changes.
- 16 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 50 to 53. That category is still filling its 30-day observation window: 15 days of observed history at the previous scan, 16 at this one. The score rises as the window fills, whether or not the server changes.
- 14 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 43 to 47. That category is still filling its 30-day observation window: 13 days of observed history at the previous scan, 14 at this one. The score rises as the window fills, whether or not the server changes.
- 13 Oct 26 +6
- Stability: unverified → 0.43 ▲ functional
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 5 Nov 2026 · Analysed mcpb/https://github.com/zoster81/scripthold/releases/download/v4.0.1/scripthold_linux_amd64.mcpb
Provenance No attestation
The registry publishes no build provenance for this version, so there is nothing to verify.
| Result | No attestation |
|---|---|
| Ecosystem | mcpb |
| Reason | No attestation published |
Background: How many MCP packages publish verified provenance →
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
backup_delete ~27
Permanently delete a selected backup, including pinned backups.
| Name | Type | Req | Description |
|---|---|---|---|
| backupId | string | yes | – |
Structured output declared, but exposes no named fields.
No examples provided.
backup_store ~98
Inspect backups and preview restore or garbage-collection operations.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | – |
| auditMode | string | – | – |
| backupId | string | – | – |
| cursor | string | – | – |
| limit | integer | – | – |
| maxBytes | integer | – | – |
| maxObjects | integer | – | – |
| otherBackupId | string | – | – |
| pinned | null|boolean | – | – |
| targetPath | string | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
change_line_endings ~44
Convert line endings while preserving encoding, BOM, and other content.
| Name | Type | Req | Description |
|---|---|---|---|
| encoding | string | – | – |
| path | string | yes | – |
| style | string | yes | – |
Structured output declared, but exposes no named fields.
No examples provided.
check_for_updates ~28
Check for newer Scripthold releases using cached results.
| Name | Type | Req | Description |
|---|---|---|---|
| force | boolean | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
confirm_verified_operation ~81
Confirm a prepared file, patch, filesystem package, Markdown, encoding, BOM, restore, or garbage-collection operation using only its one-shot previewId and an optional descriptive note.
| Name | Type | Req | Description |
|---|---|---|---|
| note | string | – | Optional descriptive note. Must be no more than 256 UTF-8 bytes and cannot change the approved operation. |
| previewId | string | yes | – |
Structured output declared, but exposes no named fields.
No examples provided.
convert_encoding ~79
Preview text-encoding conversion for one or more files.
| Name | Type | Req | Description |
|---|---|---|---|
| backup | boolean | – | – |
| backupPolicy | string | – | – |
| bom | string | – | – |
| dryRun | boolean | yes | – |
| from | string | – | – |
| path | string | – | – |
| paths | null|array | – | – |
| to | string | yes | – |
Structured output declared, but exposes no named fields.
No examples provided.
deferred_operation ~49
Check or cancel deferred operations and retrieve large-result segments.
| Name | Type | Req | Description |
|---|---|---|---|
| limitBytes | integer | – | – |
| offset | integer | – | – |
| operation | string | yes | – |
| operationId | string | yes | – |
Structured output declared, but exposes no named fields.
No examples provided.
detect_encoding ~34
Detect a file's text encoding and report confidence or ambiguity.
| Name | Type | Req | Description |
|---|---|---|---|
| mode | string | – | – |
| path | string | yes | – |
Structured output declared, but exposes no named fields.
No examples provided.
detect_line_endings ~41
Detect a file's line endings (LF, CRLF, mixed, or none).
| Name | Type | Req | Description |
|---|---|---|---|
| encoding | string | – | – |
| path | string | yes | – |
Structured output declared, but exposes no named fields.
No examples provided.
edit_file ~74
Preview text edits to an existing file without applying them.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | – |
| backupPolicy | string | – | – |
| edits | null|array | – | – |
| encoding | string | – | – |
| forceWritable | null|boolean | – | – |
| patch | string | – | – |
| path | string | yes | – |
Structured output declared, but exposes no named fields.
No examples provided.
filesystem_package ~38
Preview a batch of file creation, copying, moving, and deletion operations.
| Name | Type | Req | Description |
|---|---|---|---|
| formatVersion | string | yes | – |
| operations | array | yes | – |
Structured output declared, but exposes no named fields.
No examples provided.
fingerprint_paths ~56
Compute SHA-256 fingerprints of files or directory trees.
| Name | Type | Req | Description |
|---|---|---|---|
| includeEntries | boolean | – | – |
| maxEntryDetails | integer | – | – |
| paths | null|array | yes | – |
| respectGitignore | null|boolean | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
get_file_info ~24
Get metadata for a file or directory.
| Name | Type | Req | Description |
|---|---|---|---|
| path | string | yes | – |
Structured output declared, but exposes no named fields.
No examples provided.
grep_text_files ~157
Search text files using regex, with filters, context, and paginated results.
| Name | Type | Req | Description |
|---|---|---|---|
| caseSensitive | null|boolean | – | – |
| contextAfter | integer | – | – |
| contextBefore | integer | – | – |
| encoding | string | – | – |
| exclude | string | – | – |
| excludes | null|array | – | – |
| include | string | – | – |
| includes | null|array | – | – |
| matchesOnly | boolean | – | – |
| maxMatches | integer | – | – |
| offset | integer | – | – |
| outputMode | string | – | – |
| paths | null|array | yes | – |
| pattern | string | – | – |
| patterns | null|array | – | – |
| respectGitignore | null|boolean | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
list_allowed_directories ~15
List permitted filesystem roots.
Input schema present but exposes no named parameters.
Structured output declared, but exposes no named fields.
No examples provided.
list_directory ~47
List files and directories with optional filtering and sorting.
| Name | Type | Req | Description |
|---|---|---|---|
| path | string | yes | – |
| pattern | string | – | – |
| reverse | boolean | – | – |
| sortBy | string | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
list_encodings ~17
List supported text encodings and aliases.
Input schema present but exposes no named parameters.
Structured output declared, but exposes no named fields.
No examples provided.
manage_bom ~50
Inspect a file's BOM or preview adding or removing it.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | – |
| backupPolicy | string | – | – |
| encoding | string | – | – |
| path | string | yes | – |
Structured output declared, but exposes no named fields.
No examples provided.
markdown_create ~53
Preview creation of a new Markdown file without writing it.
| Name | Type | Req | Description |
|---|---|---|---|
| blocks | array | – | – |
| bom | string | – | – |
| encoding | string | – | – |
| frontMatter | – | – | – |
| path | string | yes | – |
Structured output declared, but exposes no named fields.
No examples provided.
markdown_edit ~48
Preview Markdown content and structure edits without changing the file.
| Name | Type | Req | Description |
|---|---|---|---|
| backupPolicy | string | – | – |
| encoding | string | – | – |
| operations | array | yes | – |
| path | string | yes | – |
Structured output declared, but exposes no named fields.
No examples provided.
markdown_read ~105
Inspect, search, and validate Markdown structure and references.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | – | – |
| encoding | string | – | – |
| fragment | string | – | – |
| generate | string | – | – |
| includeSource | boolean | – | – |
| kinds | array | – | – |
| levels | array | – | – |
| limit | integer | – | – |
| path | string | – | – |
| query | string | – | – |
| targetId | string | – | – |
| within | object | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
markdown_workspace ~118
Inspect Markdown workspaces and preview table-of-contents repairs.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | – | – |
| backupPolicy | string | – | – |
| discovery | object | – | – |
| document | string | – | – |
| limit | integer | – | – |
| managedTocs | array | – | – |
| maxBytes | integer | – | – |
| maxDepth | integer | – | – |
| maxDocuments | integer | – | – |
| maxRelationships | integer | – | – |
| query | string | – | – |
| root | string | – | – |
| roots | array | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
patch_package ~35
Inspect, preview, or verify patches for one or more files.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | – |
| manifest | object | yes | – |
Structured output declared, but exposes no named fields.
No examples provided.
read_multiple_files ~37
Read multiple text files with encoding detection and per-file errors.
| Name | Type | Req | Description |
|---|---|---|---|
| encoding | string | – | – |
| paths | null|array | yes | – |
Structured output declared, but exposes no named fields.
No examples provided.
read_text_file ~71
Read a text file with encoding detection and optional line numbers.
| Name | Type | Req | Description |
|---|---|---|---|
| encoding | string | – | – |
| limit | null|integer | – | – |
| lineNumbers | boolean | – | – |
| maxCharacters | null|integer | – | – |
| offset | null|integer | – | – |
| path | string | yes | – |
Structured output declared, but exposes no named fields.
No examples provided.
search_files ~75
Find files and directories recursively using glob patterns.
| Name | Type | Req | Description |
|---|---|---|---|
| excludePatterns | null|array | – | – |
| maxResults | integer | – | – |
| path | string | yes | – |
| pattern | string | yes | – |
| respectGitignore | null|boolean | – | – |
| reverse | boolean | – | – |
| sortBy | string | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
source_query ~175
Find source declarations with cursor paging, inspect indexed relations, or retrieve verified context. Empty references/impact do not prove no callers; use grep to check usages.
| Name | Type | Req | Description |
|---|---|---|---|
| bodyPolicy | – | – | – |
| budgetBytes | – | – | – |
| encoding | – | – | – |
| evidence | – | – | – |
| excludes | – | – | – |
| includes | – | – | – |
| index | – | – | – |
| kinds | – | – | – |
| language | – | – | – |
| match | – | – | – |
| maxDepth | – | – | – |
| maxEdges | – | – | – |
| maxFiles | – | – | – |
| maxItems | – | – | – |
| maxNodes | – | – | – |
| maxResults | – | – | – |
| mode | – | – | – |
| operation | – | yes | – |
| paths | – | yes | – |
| query | – | – | – |
| relation | – | – | – |
| respectGitignore | – | – | – |
| subject | – | – | – |
| target | – | – | – |
| targets | – | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
source_symbols ~229
Read-only source declarations: operation=digest with paths,presentation=compact maps a project; operation=outline with paths shows declaration trees; operation=find with paths,query,fileDetails=relevant finds named symbols; operation=show with path,symbolId,sourceFingerprint,language,encoding reads a verified body. Use grep_text_files/read_text_file for arbitrary text and usages; honor incomplete coverage.
| Name | Type | Req | Description |
|---|---|---|---|
| encoding | string | – | – |
| excludes | array | – | – |
| fileDetails | string | – | – |
| includeSignatures | boolean | – | – |
| includes | array | – | – |
| kinds | array | – | – |
| language | string | – | – |
| match | string | – | – |
| maxBytes | integer | – | – |
| maxFiles | integer | – | – |
| maxSymbols | integer | – | – |
| operation | string | – | – |
| path | string | – | – |
| paths | array | – | – |
| presentation | string | – | – |
| query | string | – | – |
| respectGitignore | boolean | – | – |
| sourceFingerprint | string | – | – |
| symbolId | string | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
task_cancel ~34
Cancel a queued or running task and its child tasks.
| Name | Type | Req | Description |
|---|---|---|---|
| reason | string | – | – |
| taskId | string | yes | – |
Structured output declared, but exposes no named fields.
No examples provided.
task_get ~26
Get a task's current status and execution history.
| Name | Type | Req | Description |
|---|---|---|---|
| taskId | string | yes | – |
Structured output declared, but exposes no named fields.
No examples provided.
task_list ~60
List tasks with filters and pagination, without exposing commands.
| Name | Type | Req | Description |
|---|---|---|---|
| cursor | string | – | – |
| kinds | null|array | – | – |
| limit | integer | – | – |
| statuses | null|array | – | – |
| tags | null|array | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
task_logs ~49
Read task stdout and stderr logs incrementally.
| Name | Type | Req | Description |
|---|---|---|---|
| limitBytes | integer | – | – |
| stderrCursor | integer | – | – |
| stdoutCursor | integer | – | – |
| taskId | string | yes | – |
Structured output declared, but exposes no named fields.
No examples provided.
task_run ~118
Start a persistent shell or script task with optional deadline and execution locks.
| Name | Type | Req | Description |
|---|---|---|---|
| args | null|array | – | – |
| command | string | – | – |
| cwd | string | – | – |
| description | string | – | – |
| idempotencyKey | string | yes | – |
| kind | string | yes | – |
| lockKeys | null|array | – | – |
| maxRuntimeSeconds | integer | – | – |
| name | string | – | – |
| path | string | – | – |
| shell | string | – | – |
| tags | null|array | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
tree ~77
Show a directory tree with optional filters and encoding labels.
| Name | Type | Req | Description |
|---|---|---|---|
| dirsOnly | boolean | – | – |
| exclude | null|array | – | – |
| maxDepth | integer | – | – |
| maxFiles | integer | – | – |
| path | string | yes | – |
| respectGitignore | null|boolean | – | – |
| showEncoding | boolean | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
verify_state ~31
Validate JSON, text formatting, Git diffs, and file fingerprints.
| Name | Type | Req | Description |
|---|---|---|---|
| checks | null|array | yes | – |
Structured output declared, but exposes no named fields.
No examples provided.
write_whole_file ~51
Replace an entire file with supplied text, discarding previous content.
| Name | Type | Req | Description |
|---|---|---|---|
| bom | string | – | – |
| content | string | yes | – |
| encoding | string | – | – |
| path | string | yes | – |
Structured output declared, but exposes no named fields.
No examples provided.
How do I install the Scripthold MCP server?
Scripthold ships as an MCPB bundle, a single file you download and open in an MCP host that supports MCPB bundles, such as Claude Desktop. The host reads the launch command from the bundle's own manifest, so there is no command to copy. Before opening it, check the file's SHA-256 matches the one the MCP registry declares for it, 6e43810b89e8f3378913ac889d72829d41c64a84bdb700f8f0a1f13cd9a0e09b; the commands to do that are on this page. If it does not match, do not open it.
mcpb · scripthold_linux_amd64.mcpb
Download bundleCheck the download matches the SHA-256 the MCP registry declares before you open it. If it does not match, do not open the file.
SHA-256
6e43810b89e8f3378913ac889d72829d41c64a84bdb700f8f0a1f13cd9a0e09b
macOS / Linux
echo "6e43810b89e8f3378913ac889d72829d41c64a84bdb700f8f0a1f13cd9a0e09b scripthold_linux_amd64.mcpb" | shasum -a 256 -c
Windows (PowerShell)
(Get-FileHash -Algorithm SHA256 .\scripthold_linux_amd64.mcpb).Hash -eq "6e43810b89e8f3378913ac889d72829d41c64a84bdb700f8f0a1f13cd9a0e09b"
Run it in the folder you saved the bundle to, then open the file with an MCPB-capable host such as Claude Desktop.
What is the Scripthold MCP server?
Scripthold is an MCP server listed in the public MCP registry as io.github.zoster81/scripthold. Secure encoding-aware local workspace runtime for AI agents. This page covers its MCPB bundle (https://github.com/zoster81/scripthold/releases/download/v4.0.1/scripthold_linux_amd64.mcpb).
Is the Scripthold MCP server safe to use?
Scripthold scores 37 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the Scripthold MCP server expose?
Scripthold exposes 36 tools: backup_delete, backup_store, change_line_endings, check_for_updates, confirm_verified_operation, and 31 more. Their descriptions and schemas cost roughly 2,351 tokens of context every time the server is loaded.
What licence is the Scripthold MCP server under?
Scripthold declares the GPL-3.0 licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.