{"$schema":"https://verifymcp.io/schemas/trust-report.json","schemaVersion":1,"license":{"name":"CC BY-NC 4.0","url":"https://creativecommons.org/licenses/by-nc/4.0/"},"generatedAt":"2026-11-05T16:24:54.537Z","url":"https://verifymcp.io/servers/cloudcorprecords-fileport/ghcr-io-cloudcorprecords-fileport","markdownUrl":"https://verifymcp.io/servers/cloudcorprecords-fileport/ghcr-io-cloudcorprecords-fileport.md","server":{"slug":"cloudcorprecords-fileport","name":"io.github.CloudCorpRecords/fileport","registryName":"io.github.CloudCorpRecords/fileport","description":"Sandboxed file access: read, write, edit and search in allowed dirs.","registryStatus":"active","deletedAt":null,"statusMessage":null,"liveness":"live","publisher":{"class":"unknown","claimed":false}},"component":{"slug":"ghcr-io-cloudcorprecords-fileport","type":"oci","identifier":"ghcr.io/cloudcorprecords/fileport","withdrawn":false,"url":"https://verifymcp.io/servers/cloudcorprecords-fileport/ghcr-io-cloudcorprecords-fileport","version":"0.1.0","transport":"stdio","scoredAt":"2026-11-05T00:02:11.012Z"},"score":{"total":44,"tier":"low","status":"scored","weekDelta":3,"history":[{"date":"2026-11-05","total":44},{"date":"2026-11-04","total":43},{"date":"2026-11-03","total":43},{"date":"2026-11-02","total":42},{"date":"2026-11-01","total":42},{"date":"2026-10-31","total":41},{"date":"2026-10-30","total":41},{"date":"2026-10-29","total":41},{"date":"2026-10-28","total":40},{"date":"2026-10-27","total":40}]},"categories":[{"name":"Supply Chain Security","score":0,"verdict":"unverified","reasons":["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.","Known CVEs could not be checked: this artifact ships no SBOM or dependency manifest, so there is no dependency list to read.","Install-script risk not yet assessed.","Dependency health could not be checked: this artifact ships no SBOM or dependency manifest, so there is no dependency list to read."],"codes":[{"code":"supplychain.malware_inconclusive","args":{"reason":"ecosystem_unsupported"}},{"code":"cve.inconclusive","args":{"reason":"no_sbom_attached"}},{"code":"installscript.inconclusive","args":{"reason":"no_install_concept"}},{"code":"dephealth.inconclusive","args":{"reason":"no_sbom_attached"}}]},{"name":"Provenance & Transparency","score":45,"verdict":"fail","reasons":["Source repository is publicly reachable at the declared URL.","Provenance check failed: no build-provenance attestation is published.","Clear OSI-approved license (MIT).","Actively maintained (last published 8 days ago).","Disclosure check failed: no security disclosure policy was found in the source repository."],"codes":[{"code":"provenance.repo_verified","args":{}},{"code":"provenance.none","args":{}},{"code":"license.osi","args":{"spdx":"MIT"}},{"code":"maintenance.recent","args":{"age_days":"8"}},{"code":"disclosure.absent","args":{}}]},{"name":"Schema Quality & AI Usability","score":70,"verdict":"fail","reasons":["AI-judged instruction clarity (good).","Tool/resource definitions use about 718 tokens (~51/item across 14 items; 14 tools + 0 resources), lean.","Usage-examples check failed: none of the tools include examples."],"codes":[{"code":"schema.ai_quality","args":{"band":"good"}},{"code":"schema.footprint_lean","args":{"avg":"51","items":"14","tools":"14","tokens":"718","resources":"0"}},{"code":"schema.examples_absent","args":{}}]},{"name":"Stability & Change Management","score":30,"verdict":"partial","reasons":["Stability observed for 9 of 30 days with no destabilising changes; credit accrues until the full window elapses."],"codes":[{"code":"stability.building_history","args":{"days":"9"}}]},{"name":"Tool Coverage","score":100,"verdict":"pass","reasons":["100% of tools have a non-trivial description (not blank, and not just the tool's name).","100% of tool parameters carry a description."],"codes":[{"code":"toolquality.descriptions","args":{"pct":"100"}},{"code":"toolquality.param_docs","args":{"pct":"100"}}]},{"name":"Tool Safety","score":100,"verdict":"pass","reasons":["No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.","We read all 14 captured tool definition(s), and no name or description among them implies an irreversible operation.","An AI judge read all 14 captured unit(s) of tool text and found none that tries to manipulate the model reading it."],"codes":[{"code":"toolsafety.injection_clean","args":{}},{"code":"toolsafety.destructive_none","args":{"tools":"14"}},{"code":"toolsafety.manipulation_clean","args":{"units":"14","judged":"14"}}]},{"name":"Capabilities","score":100,"verdict":"pass","reasons":["Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28."],"codes":[{"code":"protocol.supported","args":{"latest":"2026-07-28","version":"2025-11-25"}}]}],"inconclusive":["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.","Known CVEs could not be checked: this artifact ships no SBOM or dependency manifest, so there is no dependency list to read.","Install-script risk not yet assessed.","Dependency health could not be checked: this artifact ships no SBOM or dependency manifest, so there is no dependency list to read."],"malware":[],"components":[{"slug":"reneturcios-fileport","type":"npm","identifier":"@reneturcios/fileport","withdrawn":false,"score":64,"current":false,"url":"https://verifymcp.io/servers/cloudcorprecords-fileport/reneturcios-fileport","markdownUrl":"https://verifymcp.io/servers/cloudcorprecords-fileport/reneturcios-fileport.md"},{"slug":"ghcr-io-cloudcorprecords-fileport","type":"oci","identifier":"ghcr.io/cloudcorprecords/fileport","withdrawn":false,"score":44,"current":true,"url":"https://verifymcp.io/servers/cloudcorprecords-fileport/ghcr-io-cloudcorprecords-fileport","markdownUrl":"https://verifymcp.io/servers/cloudcorprecords-fileport/ghcr-io-cloudcorprecords-fileport.md"}],"facts":[{"label":"Registry","value":"oci"},{"label":"Package","value":"ghcr.io/cloudcorprecords/fileport"},{"label":"Version","value":"0.1.0"},{"label":"Transport","value":"stdio"}],"install":{"available":true,"bundleSha256":null},"tools":[{"name":"read_file","title":null,"description":"Read the full contents of a file as text.","inputs":[{"name":"path","type":"string","required":true,"description":"Path of the file to read, inside one of the allowed directories."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":38},{"name":"read_text_file","title":null,"description":"Read a text file, optionally limited to its first or last lines.","inputs":[{"name":"head","type":"number","required":false,"description":"Return only the first N lines of the file; mutually exclusive with tail."},{"name":"path","type":"string","required":true,"description":"Path of the text file to read, inside one of the allowed directories."},{"name":"tail","type":"number","required":false,"description":"Return only the last N lines of the file; mutually exclusive with head."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":86},{"name":"read_media_file","title":null,"description":"Read a media file and return it as base64 content.","inputs":[{"name":"path","type":"string","required":true,"description":"Path of the media file to read, inside one of the allowed directories."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":42},{"name":"read_multiple_files","title":null,"description":"Read several files at once, reporting per-file failures in-band.","inputs":[{"name":"paths","type":"array","required":true,"description":"Paths of the files to read, each inside one of the allowed directories."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":43},{"name":"write_file","title":null,"description":"Write text content to a file, creating parent folders as needed.","inputs":[{"name":"content","type":"string","required":true,"description":"Text content to write to the file."},{"name":"path","type":"string","required":true,"description":"Path of the file to write, inside one of the allowed directories."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":55},{"name":"edit_file","title":null,"description":"Apply exact-match text replacements to a file, with an optional dry run.","inputs":[{"name":"dryRun","type":"boolean","required":false,"description":"When true, report the changes that would be made without writing the file."},{"name":"edits","type":"array","required":true,"description":"Exact-match text replacements to apply to the file, in order."},{"name":"path","type":"string","required":true,"description":"Path of the file to edit, inside one of the allowed directories."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":84},{"name":"create_directory","title":null,"description":"Create a directory, including any missing parents.","inputs":[{"name":"path","type":"string","required":true,"description":"Path of the directory to create, inside one of the allowed directories."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":37},{"name":"list_directory","title":null,"description":"List the entries of a directory.","inputs":[{"name":"path","type":"string","required":true,"description":"Path of the directory to list, inside one of the allowed directories."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":35},{"name":"list_directory_with_sizes","title":null,"description":"List directory entries together with their sizes.","inputs":[{"name":"path","type":"string","required":true,"description":"Path of the directory to list, inside one of the allowed directories."},{"name":"sortBy","type":"string","required":false,"description":"Sort the entries by name or by size."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":54},{"name":"directory_tree","title":null,"description":"Return a directory as a nested JSON tree.","inputs":[{"name":"excludePatterns","type":"array","required":false,"description":"Glob patterns for paths to exclude from the tree."},{"name":"path","type":"string","required":true,"description":"Path of the directory to return as a tree, inside one of the allowed directories."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":57},{"name":"move_file","title":null,"description":"Move or rename a file or directory.","inputs":[{"name":"destination","type":"string","required":true,"description":"New path for the file or directory, inside one of the allowed directories."},{"name":"source","type":"string","required":true,"description":"Current path of the file or directory to move, inside one of the allowed directories."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":60},{"name":"search_files","title":null,"description":"Recursively search for files whose names match a glob pattern.","inputs":[{"name":"excludePatterns","type":"array","required":false,"description":"Glob patterns for paths to exclude from the search."},{"name":"path","type":"string","required":true,"description":"Directory to search recursively, inside one of the allowed directories."},{"name":"pattern","type":"string","required":true,"description":"Glob pattern matched against file names."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":68},{"name":"get_file_info","title":null,"description":"Return metadata about a file or directory.","inputs":[{"name":"path","type":"string","required":true,"description":"Path of the file or directory to inspect, inside one of the allowed directories."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":39},{"name":"list_allowed_directories","title":null,"description":"List the directories this server is allowed to access.","inputs":[],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":20}],"toolsTruncatedAtCapture":false,"diagnostics":{"capturedAt":"2026-11-05T00:02:10.000Z","track":"package","endpoint":null,"declaredUrl":null,"truncated":false,"tls":null,"dnssec":null,"auth":null,"httpsRedirect":null,"transports":[],"provenance":{"outcome":"none","label":"No attestation","reason":"no_attestation","reasonLabel":"No attestation published","discovery":null,"discoveryLabel":null,"sourceRepo":null,"attestationSkipped":null,"attestationSkippedLabel":null},"installScripts":[],"installScriptsTotal":null,"vulnerabilities":[],"vulnerabilitiesTotal":null,"dependencies":null},"mismatches":[],"changelog":{"trackingSince":"2026-10-27","recent":[{"id":"chg_01a1a903-58a2-7240-a708-dfab4d28d55e","kind":"score.total_changed","summary":"Trust score (43 → 44)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-11-05","url":"https://verifymcp.io/servers/cloudcorprecords-fileport/ghcr-io-cloudcorprecords-fileport#chg-chg_01a1a903-58a2-7240-a708-dfab4d28d55e"},{"id":"chg_01a19eb6-4355-70d7-bddd-b6fa9b59395b","kind":"score.total_changed","summary":"Trust score (42 → 43)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-11-03","url":"https://verifymcp.io/servers/cloudcorprecords-fileport/ghcr-io-cloudcorprecords-fileport#chg-chg_01a19eb6-4355-70d7-bddd-b6fa9b59395b"},{"id":"chg_01a1946a-aeae-7e89-a8c7-2dffcfd35d39","kind":"score.total_changed","summary":"Trust score (41 → 42)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-11-01","url":"https://verifymcp.io/servers/cloudcorprecords-fileport/ghcr-io-cloudcorprecords-fileport#chg-chg_01a1946a-aeae-7e89-a8c7-2dffcfd35d39"},{"id":"chg_01a184f9-2706-79cd-b28e-6aed7c8538d1","kind":"score.total_changed","summary":"Trust score (40 → 41)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-29","url":"https://verifymcp.io/servers/cloudcorprecords-fileport/ghcr-io-cloudcorprecords-fileport#chg-chg_01a184f9-2706-79cd-b28e-6aed7c8538d1"},{"id":"chg_01a17ede-8a4e-72fe-8717-c80860de3c6a","kind":"score.first_scored","summary":"First indexed and scored","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-27","url":"https://verifymcp.io/servers/cloudcorprecords-fileport/ghcr-io-cloudcorprecords-fileport#chg-chg_01a17ede-8a4e-72fe-8717-c80860de3c6a"}],"truncated":false,"feedUrl":"https://verifymcp.io/servers/cloudcorprecords-fileport/ghcr-io-cloudcorprecords-fileport/changelog.json"},"links":{"html":"https://verifymcp.io/servers/cloudcorprecords-fileport/ghcr-io-cloudcorprecords-fileport","markdown":"https://verifymcp.io/servers/cloudcorprecords-fileport/ghcr-io-cloudcorprecords-fileport.md","changelogJson":"https://verifymcp.io/servers/cloudcorprecords-fileport/ghcr-io-cloudcorprecords-fileport/changelog.json","changelogRss":"https://verifymcp.io/servers/cloudcorprecords-fileport/ghcr-io-cloudcorprecords-fileport.xml","external":[{"label":"GitHub Container Registry","href":"https://ghcr.io/cloudcorprecords/fileport"},{"label":"Repository","href":"https://github.com/CloudCorpRecords/fileport"}]}}