Borrowing it
Nothing to install: this file belongs to advenimus/conduit-desktop. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/advenimus/conduit-desktop/main/.claude/skills/verify-mcp/SKILL.mdgit clone --depth 1 https://github.com/advenimus/conduit-desktopWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/advenimus/conduit-desktop/verify-mcp)<a href="https://agentmods.dev/skills/advenimus/conduit-desktop/verify-mcp"><img src="https://agentmods.dev/badge/skills/advenimus/conduit-desktop/verify-mcp/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/advenimus/conduit-desktop/verify-mcp"><img src="https://agentmods.dev/badge/skills/advenimus/conduit-desktop/verify-mcp.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00111 | $0.03092 |
| Opus 5.5 | $0.00044 | $0.01237 |
| Sonnet 5.5 | $0.00022 | $0.00618 |
| Haiku 4.5 | $0.00011 | $0.00309 |
Grade A, and why
verify-mcp scanned grade A with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 12d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
| appwrite phase fails or the API does not answer | Stack never set up, half-started, or short of memory | If the message names a missing `conduit-dev.env`, run `npm run appwrite:setup`. Check `curl -s http://localhost:8 How it starts
The opening of the file, as written. The whole thing — 139 lines — stays where its author put it; the contents beside it link to each section on GitHub.
/verify-mcp: MCP suite
Runs npm run verify:mcp (node scripts/verify/run.mjs mcp). Real Electron devices unlock vaults on
a local Appwrite, and a real MCP client (the built mcp/dist server over stdio) connects to each
device's own socket. The harness reference is scripts/verify/README.md. Every suite at once is the
verify skill.
What it proves
| Scenario | In plain words |
|---|---|
tools-list |
A Free user with an unlocked vault: tools/list has the vault tools (entry_list, entry_info, entry_search, entry_update_notes, entry_edit_notes, document_create, document_update, credential_list) and entry_list works. |
no-daily-quota |
A Free user makes 60 tool calls (the old daily cap was 50), spaced under the per-minute rate limit; none is refused and no mcp-quota.json exists in the device's HOME, app data or the cloud folder. |
writes-sync |
On Pro, entry_update_notes (its !!secret!! is encrypted into a hidden secret and a ref), entry_edit_notes (a one-line edit that keeps the ref), document_create and document_update show on the device (IPC and the entry tree) and reach a second device, the encrypted secret included. |
notes-secrets |
The app encrypts !!secret!! into refs on save; MCP reads show refs, never values; edits keep refs, add new secrets encrypted, and refuse bad writes; a dropped ref leaves its secret flagged unused; documents do the same. An agent types a secret into a shell by ref and reads back only the ref; page scripts refuse refs. credential_read returns refs, and reveal waits for the reveal dialog (Deny refuses, Allow once returns the value). The entry page shows chips by name. |
has-conflict |
A same-field edit on two Pro devices makes entry_info return has_conflict: true; after it is resolved in the review panel it is false on both devices. |
locked-and-elsewhere |
A manually locked vault returns code: VAULT_LOCKED with no reason; after a Free take-over from another device it returns reason: open_elsewhere and the device shows the locked-out dialog. |
two-agents |
Two MCP clients on one device are two agents. Each runs commands in its own local shell; the other is refused with SESSION_IN_USE in it but can still read it; connection_list shows owner you, other_agent and free (a shell the user opened); once agent A's MCP process exits, B can use A's old shell. |
knowledge |
entry_info suggests moving heading-structured notes; kb_import_notes makes articles and keeps the notes; folder and tag-matched vault articles reach the asset in contract order; kb_write edits flag the article for review with reasons in its history; kb_log, kb_verify and kb_search work; articles stay out of entry_list and the renderer's lists and are deleted with their asset. |
knowledge-sync |
On Pro, an article and its encrypted secret reach a second device; the same article edited on both at once shows one conflict (the text) in the review panel, the metadata and history settle themselves, and both devices end with the same article and a merged history. |
knowledge-team |
In a team vault, an asset with a secret chip and an article upload to the server with no value in plain text; a second team member added as editor opens the vault, finds the article under its asset, decrypts the chip and lists only the asset. |
audit |
Every MCP call of the run is in <HOME>/.config/conduit/audit.log in order with the right outcome, an api_key argument is logged as [REDACTED], and failed calls are logged as errors. It also passes alone (--only audit). |
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 12d ago Changed 2774c25166fb
- 20d ago Changed · +4 lines 292af6175f70
- 23d ago Changed 70ee13643e82
- 26d ago Changed · +1 lines · +10 tokens per session 38b5cd503ad4
- 28d ago First seen · 134 lines · 101 tokens per session scan A 64a24bca1b2e
verify-mcp is a skill published in the GitHub repository advenimus/conduit-desktop (19 stars, last pushed yesterday), licensed Apache-2.0. It adds 111 tokens to every session and 3,092 once invoked, about $0.0004 per session on Opus 5.5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-10-01.
Other skills, from other repositories
winui-ui-testing
Write and run automated UI tests for Windows desktop apps (WinUI 3, WPF, WinForms, Win32) with the winapp ui harness: one batch script, assertions, input, file pickers, dialogs, screenshots, locally or in Windows Sandbox. Use when asked for UI tests or to verify a feature end to end.
Appium Mobile Testing
Mobile application testing skill using Appium for iOS and Android, covering device capabilities, selectors, gestures, and cross-platform testing strategies.
browser-qa
Use when validating or debugging a workflow in the embedded browser and you need a reproducible, evidence-first loop.
performance-engineer
Becomes a senior performance engineer who identifies bottlenecks, designs optimization strategies, and conducts load testing using systematic profiling and benchmarking methodology. Use when the user needs performance analysis, load testing, bottleneck identification, latency optimization, or capacity planning. Do NOT…
Desktop Application Testing
Testing desktop applications built with Electron, Tauri, or native frameworks including window management, IPC, tray icons, and auto-update testing.
playwright
Use when the task requires automating a real browser from the terminal (navigation, form filling, snapshots, screenshots, data extraction, UI-flow debugging) via playwright-cli or the bundled wrapper script.