Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.
0 this week 37 Trust /100

Last scanned (11 hours ago)

Scores higher than 71% of MCPB servers

Category Developer Tools

Trust breakdown (7 categories)

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.

Changelog

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
Diagnostics

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 →

MCP tools · 36 exposed · ~2,351 tokens

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 →

Tool Tokens
backup_delete ~27

Permanently delete a selected backup, including pinned backups.

NameTypeReqDescription
backupIdstringyes–

Structured output declared, but exposes no named fields.

No examples provided.

backup_store ~98

Inspect backups and preview restore or garbage-collection operations.

NameTypeReqDescription
actionstringyes–
auditModestring––
backupIdstring––
cursorstring––
limitinteger––
maxBytesinteger––
maxObjectsinteger––
otherBackupIdstring––
pinnednull|boolean––
targetPathstring––

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.

NameTypeReqDescription
encodingstring––
pathstringyes–
stylestringyes–

Structured output declared, but exposes no named fields.

No examples provided.

check_for_updates ~28

Check for newer Scripthold releases using cached results.

NameTypeReqDescription
forceboolean––

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.

NameTypeReqDescription
notestring–Optional descriptive note. Must be no more than 256 UTF-8 bytes and cannot change the approved operation.
previewIdstringyes–

Structured output declared, but exposes no named fields.

No examples provided.

convert_encoding ~79

Preview text-encoding conversion for one or more files.

NameTypeReqDescription
backupboolean––
backupPolicystring––
bomstring––
dryRunbooleanyes–
fromstring––
pathstring––
pathsnull|array––
tostringyes–

Structured output declared, but exposes no named fields.

No examples provided.

deferred_operation ~49

Check or cancel deferred operations and retrieve large-result segments.

NameTypeReqDescription
limitBytesinteger––
offsetinteger––
operationstringyes–
operationIdstringyes–

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.

NameTypeReqDescription
modestring––
pathstringyes–

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).

NameTypeReqDescription
encodingstring––
pathstringyes–

Structured output declared, but exposes no named fields.

No examples provided.

edit_file ~74

Preview text edits to an existing file without applying them.

NameTypeReqDescription
actionstringyes–
backupPolicystring––
editsnull|array––
encodingstring––
forceWritablenull|boolean––
patchstring––
pathstringyes–

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.

NameTypeReqDescription
formatVersionstringyes–
operationsarrayyes–

Structured output declared, but exposes no named fields.

No examples provided.

fingerprint_paths ~56

Compute SHA-256 fingerprints of files or directory trees.

NameTypeReqDescription
includeEntriesboolean––
maxEntryDetailsinteger––
pathsnull|arrayyes–
respectGitignorenull|boolean––

Structured output declared, but exposes no named fields.

No examples provided.

get_file_info ~24

Get metadata for a file or directory.

NameTypeReqDescription
pathstringyes–

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.

NameTypeReqDescription
caseSensitivenull|boolean––
contextAfterinteger––
contextBeforeinteger––
encodingstring––
excludestring––
excludesnull|array––
includestring––
includesnull|array––
matchesOnlyboolean––
maxMatchesinteger––
offsetinteger––
outputModestring––
pathsnull|arrayyes–
patternstring––
patternsnull|array––
respectGitignorenull|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.

NameTypeReqDescription
pathstringyes–
patternstring––
reverseboolean––
sortBystring––

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.

NameTypeReqDescription
actionstringyes–
backupPolicystring––
encodingstring––
pathstringyes–

Structured output declared, but exposes no named fields.

No examples provided.

markdown_create ~53

Preview creation of a new Markdown file without writing it.

NameTypeReqDescription
blocksarray––
bomstring––
encodingstring––
frontMatter–––
pathstringyes–

Structured output declared, but exposes no named fields.

No examples provided.

markdown_edit ~48

Preview Markdown content and structure edits without changing the file.

NameTypeReqDescription
backupPolicystring––
encodingstring––
operationsarrayyes–
pathstringyes–

Structured output declared, but exposes no named fields.

No examples provided.

markdown_read ~105

Inspect, search, and validate Markdown structure and references.

NameTypeReqDescription
actionstring––
encodingstring––
fragmentstring––
generatestring––
includeSourceboolean––
kindsarray––
levelsarray––
limitinteger––
pathstring––
querystring––
targetIdstring––
withinobject––

Structured output declared, but exposes no named fields.

No examples provided.

markdown_workspace ~118

Inspect Markdown workspaces and preview table-of-contents repairs.

NameTypeReqDescription
actionstring––
backupPolicystring––
discoveryobject––
documentstring––
limitinteger––
managedTocsarray––
maxBytesinteger––
maxDepthinteger––
maxDocumentsinteger––
maxRelationshipsinteger––
querystring––
rootstring––
rootsarray––

Structured output declared, but exposes no named fields.

No examples provided.

patch_package ~35

Inspect, preview, or verify patches for one or more files.

NameTypeReqDescription
actionstringyes–
manifestobjectyes–

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.

NameTypeReqDescription
encodingstring––
pathsnull|arrayyes–

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.

NameTypeReqDescription
encodingstring––
limitnull|integer––
lineNumbersboolean––
maxCharactersnull|integer––
offsetnull|integer––
pathstringyes–

Structured output declared, but exposes no named fields.

No examples provided.

search_files ~75

Find files and directories recursively using glob patterns.

NameTypeReqDescription
excludePatternsnull|array––
maxResultsinteger––
pathstringyes–
patternstringyes–
respectGitignorenull|boolean––
reverseboolean––
sortBystring––

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.

NameTypeReqDescription
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.

NameTypeReqDescription
encodingstring––
excludesarray––
fileDetailsstring––
includeSignaturesboolean––
includesarray––
kindsarray––
languagestring––
matchstring––
maxBytesinteger––
maxFilesinteger––
maxSymbolsinteger––
operationstring––
pathstring––
pathsarray––
presentationstring––
querystring––
respectGitignoreboolean––
sourceFingerprintstring––
symbolIdstring––

Structured output declared, but exposes no named fields.

No examples provided.

task_cancel ~34

Cancel a queued or running task and its child tasks.

NameTypeReqDescription
reasonstring––
taskIdstringyes–

Structured output declared, but exposes no named fields.

No examples provided.

task_get ~26

Get a task's current status and execution history.

NameTypeReqDescription
taskIdstringyes–

Structured output declared, but exposes no named fields.

No examples provided.

task_list ~60

List tasks with filters and pagination, without exposing commands.

NameTypeReqDescription
cursorstring––
kindsnull|array––
limitinteger––
statusesnull|array––
tagsnull|array––

Structured output declared, but exposes no named fields.

No examples provided.

task_logs ~49

Read task stdout and stderr logs incrementally.

NameTypeReqDescription
limitBytesinteger––
stderrCursorinteger––
stdoutCursorinteger––
taskIdstringyes–

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.

NameTypeReqDescription
argsnull|array––
commandstring––
cwdstring––
descriptionstring––
idempotencyKeystringyes–
kindstringyes–
lockKeysnull|array––
maxRuntimeSecondsinteger––
namestring––
pathstring––
shellstring––
tagsnull|array––

Structured output declared, but exposes no named fields.

No examples provided.

tree ~77

Show a directory tree with optional filters and encoding labels.

NameTypeReqDescription
dirsOnlyboolean––
excludenull|array––
maxDepthinteger––
maxFilesinteger––
pathstringyes–
respectGitignorenull|boolean––
showEncodingboolean––

Structured output declared, but exposes no named fields.

No examples provided.

verify_state ~31

Validate JSON, text formatting, Git diffs, and file fingerprints.

NameTypeReqDescription
checksnull|arrayyes–

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.

NameTypeReqDescription
bomstring––
contentstringyes–
encodingstring––
pathstringyes–

Structured output declared, but exposes no named fields.

No examples provided.

Install

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 bundle

Check 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.

Common questions

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.