Public leaderboard

Public assessment

paulhkang94/markview (mcp-server-markview)

mcp-server-markview · v1.7.1 · scanned

What changed in the harness

Selection accuracy 95→93, token cost up 3%, unconfirmed writes 0%→0%.

Category breakdown

Where the score comes from.

Earned points across the four signals Gradable measures. Safety and Legibility are scored out of 30; Economics and Discoverability are scored out of 20.

01Safety

0.0 / 30

0.0 out of 30
02Legibility

27.3 / 30

27.3 out of 30
03Economics

20.0 / 20

20.0 out of 20
04Discoverability

13.1 / 20

13.1 out of 20

Highest-impact fix

Estimated gain +30 points

Add explicit identity and permission preflight tools

Expose machine-readable principal/tenant confirmation and a non-mutating permission check so agents can verify both before destructive actions.

Description evidence

Defects and rewrites.

2 defects found across the exposed tool descriptions. Suggested rewrites make purpose, inputs, boundaries, and returns easier for an agent to understand.

Tool Defect types Suggested rewrite
preview_markdown
no_return_description
Preview markdown content in MarkView. Writes content to a temp file and opens it in the native macOS MarkView previewer with live reload. Returns the path to the temp file created for the preview.
open_file
no_return_description
Open an existing markdown file in MarkView for live preview. Returns a confirmation that the file was opened in the previewer.

Selection evidence

Confusable tool pairs.

5 pairs where similar names or overlapping descriptions may send an agent toward the wrong tool.

Tool A Tool B Confidence Why they collide
render_diff_file render_diff_raw high Both render diffs in MarkView with diff2html. A task like 'render/show the diff in MarkView' is genuinely ambiguous about the input source: a repo path (render_diff_file runs git diff itself) versus a raw unified diff string the agent already has (render_diff_raw). If the user doesn't specify whether the diff should be computed from a repository or passed directly, an agent can pick the wrong one.
lint_file lint_content medium Both run the same 9-rule linter and differ only by input source (file path vs raw content). A natural task like 'lint this markdown' is ambiguous when the agent has content in context but a path also exists, or vice versa — the verb 'lint' alone doesn't disambiguate whether to pass the path or inline content.
preview_markdown open_file medium Both open markdown in the native MarkView previewer with live reload, and differ only by input form (inline content vs existing file path). A task such as 'preview this markdown' is ambiguous if the agent has both the file content and a path, or if the user expects a temp-file preview when a real file exists.
render_diff_file get_changed_files medium Both operate on a git repository given a path. A task like 'show me what changed in repo X' or 'show my changes' could plausibly be answered by listing changed files (get_changed_files) or by rendering the actual diff (render_diff_file), so an agent may select the wrong member based on how it interprets 'changes'.
preview_markdown lint_content low Both consume raw markdown content, and a vague task like 'check/review this markdown content' could mean render a preview or run lint diagnostics. However, 'lint' intent (errors/warnings) vs 'preview' intent (visual display) are described distinctly enough that real confusion is only marginal.

Compare the field

One score is useful.
The evidence makes it actionable.

Back to the leaderboard