Unreleased: not public yet. Maintainers have not reviewed this result.
Results / mcp-text-editor
mcp-text-editor
A
Protocol4/4 points
Coverage: hygiene only (0 of 6 tools reached with a valid call). Only protocol hygiene was graded, so the A says little about what the tools do.
Protocol checks
| Check | Verdict | What happened |
|---|---|---|
| protocol Valid MCP handshake and tool schemas | pass | handshake ok, 6 well-formed tool(s) |
| tool-poisoningcritical No tool-poisoning indicators in tool metadata | pass | scanned 6 tool definition(s), including parameter text: nothing suspicious |
| robust-input Survives malformed tool input | pass | 24 invalid call(s) rejected cleanly |
| secret-echocritical No environment secret echoed in responses | pass | canary secrets absent from tools/list and 24 captured response(s) |
What was not covered
- Database: Not applicable. Server config has no {dsn}/{host}/... Placeholder, so the harness cannot start the server once per role
- HTTP: Not applicable. The server is started over stdio; the http pack needs server.url
- Files: Not applicable. The server config has no {sandbox} placeholder, so the harness cannot tell which directory the server is allowed to use (a server with a wider root would read the canary legitimately); pass {sandbox} as its directory argument
- Git: Not applicable. No tool is classified as taking a git repository path with medium confidence or higher
- Network: Not applicable. No tool is classified as taking a URL with medium confidence or higher
- SQLite: Not applicable. No tool takes a SQL string
- Effects: Not applicable. No tool declares annotations, so there is nothing to compare with what the sandbox observed
- Tool "create_text_file" (path) was not probed by the fs pack: the server config has no {sandbox} placeholder, so the harness cannot tell which directory the server is allowed to use (a server with a wider root would read the canary legitimately); pass {sandbox} as its directory argument
- Tool "append_text_file_contents" (path) was not probed by the fs pack: the server config has no {sandbox} placeholder, so the harness cannot tell which directory the server is allowed to use (a server with a wider root would read the canary legitimately); pass {sandbox} as its directory argument
- Tool "insert_text_file_contents" (path) was not probed by the fs pack: the server config has no {sandbox} placeholder, so the harness cannot tell which directory the server is allowed to use (a server with a wider root would read the canary legitimately); pass {sandbox} as its directory argument
- Tools that a server lists only for clients that declare roots, sampling or elicitation capabilities are not seen: the harness declares none
- Tool "get_text_file_contents" is covered by the core checks only: string parameters only, and none names a path, URL, command, SQL or repository; its required parameter "files" cannot be filled by the harness; write a probes: entry to call it
- Tool "patch_text_file_contents" is covered by the core checks only: would be path (param "file_path", name matches /file/), but required parameter "patches" cannot be filled by the harness; write a probes: entry to call it
- Tool "delete_text_file_contents" is covered by the core checks only: would be path (param "file_path", name matches /delete|file/), but required parameter "ranges" cannot be filled by the harness; write a probes: entry to call it
- The sandbox is a convention the harness follows, not a security boundary. A malicious server runs with your user's privileges, sees the real file system and network, and can ignore cwd, HOME and PATH. Run untrusted servers in a throwaway VM or container.
Run it yourself
Started with the standard settings like this; put it in sealmark.yaml as the server:
uvx mcp-text-editor==1.2.2
Each of 613 verdicts was checked independently, and Sealmark was wrong on some: how reliable Sealmark is.
Think a verdict is wrong, or want a server removed? Email disclosure@sealmark.dev with the server version. We recheck, correct the page if we were wrong, and add your reply. See the disclosure policy.