verifyfirst-mcp 1.0.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,95 @@
1
+ Metadata-Version: 2.5
2
+ Name: verifyfirst-mcp
3
+ Version: 1.0.0
4
+ Summary: MCP server for what your verification method cannot see — a registry of software failures that report success.
5
+ Project-URL: Homepage, https://verifyfirst.dev
6
+ Project-URL: Repository, https://github.com/simulacra/verifyfirst
7
+ Project-URL: Registry, https://verifyfirst.dev/registry.json
8
+ Author: Zion Labs
9
+ License-Expression: CC0-1.0
10
+ Keywords: agent-tools,ai-agents,debugging,llm,mcp,model-context-protocol,observability,verification
11
+ Classifier: Development Status :: 4 - Beta
12
+ Classifier: Intended Audience :: Developers
13
+ Classifier: Programming Language :: Python :: 3
14
+ Classifier: Programming Language :: Python :: 3.10
15
+ Classifier: Programming Language :: Python :: 3.11
16
+ Classifier: Programming Language :: Python :: 3.12
17
+ Classifier: Programming Language :: Python :: 3.13
18
+ Classifier: Topic :: Software Development :: Debuggers
19
+ Classifier: Topic :: Software Development :: Quality Assurance
20
+ Classifier: Topic :: Software Development :: Testing
21
+ Requires-Python: >=3.10
22
+ Description-Content-Type: text/markdown
23
+
24
+ # verifyfirst-mcp
25
+
26
+ **An MCP server for what your verification method cannot see.**
27
+
28
+ <!-- mcp-name: io.github.simulacra/verifyfirst -->
29
+
30
+ A failure that crashes is cheap. A failure that *reports success* is expensive:
31
+ the screenshot looks fine, the command exits zero, the endpoint returns 200,
32
+ and the bug ships.
33
+
34
+ This server exposes [verifyfirst.dev](https://verifyfirst.dev) — a registry of
35
+ 30 such failures, organised by the **instrument that missed them** rather than
36
+ by the technology involved, because the instrument is what you know before you
37
+ know the bug.
38
+
39
+ ## Install
40
+
41
+ ```bash
42
+ uvx verifyfirst-mcp # run it directly
43
+ pip install verifyfirst-mcp # or install it
44
+ ```
45
+
46
+ Register with Claude Code:
47
+
48
+ ```bash
49
+ claude mcp add verifyfirst -- uvx verifyfirst-mcp
50
+ ```
51
+
52
+ Or any MCP client:
53
+
54
+ ```json
55
+ {
56
+ "mcpServers": {
57
+ "verifyfirst": { "command": "uvx", "args": ["verifyfirst-mcp"] }
58
+ }
59
+ }
60
+ ```
61
+
62
+ ## Tools
63
+
64
+ | Tool | What it does |
65
+ |---|---|
66
+ | `blind_spots(instrument)` | The one to reach for mid-task. What an instrument cannot see, terse. Takes loose names — `curl`, `200`, `pgrep`, `systemctl`, `stdout`, `playwright` all resolve. |
67
+ | `list_instruments()` | All six instruments. |
68
+ | `get_instrument(id)` | Full detail plus every recorded failure it missed, each with its check. |
69
+ | `search(query)` | Substring search across the registry. |
70
+ | `get_entry(id)` | One entry, e.g. `NS-001`. |
71
+ | `get_protocol()` | A five-step checklist for claiming work is done. |
72
+
73
+ ## Example
74
+
75
+ ```
76
+ > blind_spots("screenshot")
77
+
78
+ screenshot (A rendered image) is blind to:
79
+ - Time. A still frame cannot distinguish 'renders one frame then stops'
80
+ from 'renders one frame correctly'.
81
+ - Whether scripts ran at all, as opposed to running and producing this.
82
+ ...
83
+ ```
84
+
85
+ ## Notes
86
+
87
+ Zero dependencies — Python standard library only. Works offline from a bundled
88
+ copy of the registry; pass `--remote` to read the live one, which falls back to
89
+ the bundle on any failure.
90
+
91
+ Every entry in the registry is a failure that genuinely occurs, marked
92
+ `observed` (diagnosed first-hand) or `documented` (primary source cited and the
93
+ check reproduced). None are hypothetical.
94
+
95
+ CC0-1.0 — public domain. Maintained by [Zion Labs](https://zionlabs.io).
@@ -0,0 +1,72 @@
1
+ # verifyfirst-mcp
2
+
3
+ **An MCP server for what your verification method cannot see.**
4
+
5
+ <!-- mcp-name: io.github.simulacra/verifyfirst -->
6
+
7
+ A failure that crashes is cheap. A failure that *reports success* is expensive:
8
+ the screenshot looks fine, the command exits zero, the endpoint returns 200,
9
+ and the bug ships.
10
+
11
+ This server exposes [verifyfirst.dev](https://verifyfirst.dev) — a registry of
12
+ 30 such failures, organised by the **instrument that missed them** rather than
13
+ by the technology involved, because the instrument is what you know before you
14
+ know the bug.
15
+
16
+ ## Install
17
+
18
+ ```bash
19
+ uvx verifyfirst-mcp # run it directly
20
+ pip install verifyfirst-mcp # or install it
21
+ ```
22
+
23
+ Register with Claude Code:
24
+
25
+ ```bash
26
+ claude mcp add verifyfirst -- uvx verifyfirst-mcp
27
+ ```
28
+
29
+ Or any MCP client:
30
+
31
+ ```json
32
+ {
33
+ "mcpServers": {
34
+ "verifyfirst": { "command": "uvx", "args": ["verifyfirst-mcp"] }
35
+ }
36
+ }
37
+ ```
38
+
39
+ ## Tools
40
+
41
+ | Tool | What it does |
42
+ |---|---|
43
+ | `blind_spots(instrument)` | The one to reach for mid-task. What an instrument cannot see, terse. Takes loose names — `curl`, `200`, `pgrep`, `systemctl`, `stdout`, `playwright` all resolve. |
44
+ | `list_instruments()` | All six instruments. |
45
+ | `get_instrument(id)` | Full detail plus every recorded failure it missed, each with its check. |
46
+ | `search(query)` | Substring search across the registry. |
47
+ | `get_entry(id)` | One entry, e.g. `NS-001`. |
48
+ | `get_protocol()` | A five-step checklist for claiming work is done. |
49
+
50
+ ## Example
51
+
52
+ ```
53
+ > blind_spots("screenshot")
54
+
55
+ screenshot (A rendered image) is blind to:
56
+ - Time. A still frame cannot distinguish 'renders one frame then stops'
57
+ from 'renders one frame correctly'.
58
+ - Whether scripts ran at all, as opposed to running and producing this.
59
+ ...
60
+ ```
61
+
62
+ ## Notes
63
+
64
+ Zero dependencies — Python standard library only. Works offline from a bundled
65
+ copy of the registry; pass `--remote` to read the live one, which falls back to
66
+ the bundle on any failure.
67
+
68
+ Every entry in the registry is a failure that genuinely occurs, marked
69
+ `observed` (diagnosed first-hand) or `documented` (primary source cited and the
70
+ check reproduced). None are hypothetical.
71
+
72
+ CC0-1.0 — public domain. Maintained by [Zion Labs](https://zionlabs.io).
@@ -0,0 +1,48 @@
1
+ [build-system]
2
+ requires = ["hatchling"]
3
+ build-backend = "hatchling.build"
4
+
5
+ [project]
6
+ name = "verifyfirst-mcp"
7
+ version = "1.0.0"
8
+ description = "MCP server for what your verification method cannot see — a registry of software failures that report success."
9
+ readme = "README.md"
10
+ requires-python = ">=3.10"
11
+ license = "CC0-1.0"
12
+ keywords = [
13
+ "mcp", "model-context-protocol", "ai-agents", "llm", "verification",
14
+ "debugging", "observability", "agent-tools",
15
+ ]
16
+ authors = [{ name = "Zion Labs" }]
17
+ classifiers = [
18
+ "Development Status :: 4 - Beta",
19
+ "Intended Audience :: Developers",
20
+ "Programming Language :: Python :: 3",
21
+ "Programming Language :: Python :: 3.10",
22
+ "Programming Language :: Python :: 3.11",
23
+ "Programming Language :: Python :: 3.12",
24
+ "Programming Language :: Python :: 3.13",
25
+ "Topic :: Software Development :: Debuggers",
26
+ "Topic :: Software Development :: Quality Assurance",
27
+ "Topic :: Software Development :: Testing",
28
+ ]
29
+ # No dependencies, on purpose. An agent tool that drags in a resolver is a tool
30
+ # people skip installing, and the standard library covers JSON-RPC over stdio.
31
+ dependencies = []
32
+
33
+ [project.urls]
34
+ Homepage = "https://verifyfirst.dev"
35
+ Repository = "https://github.com/simulacra/verifyfirst"
36
+ Registry = "https://verifyfirst.dev/registry.json"
37
+
38
+ [project.scripts]
39
+ verifyfirst-mcp = "verifyfirst_mcp:cli"
40
+
41
+ [tool.hatch.build.targets.wheel]
42
+ packages = ["src/verifyfirst_mcp"]
43
+
44
+ [tool.hatch.build.targets.wheel.force-include]
45
+ "src/verifyfirst_mcp/registry.json" = "verifyfirst_mcp/registry.json"
46
+
47
+ [tool.hatch.build.targets.sdist]
48
+ include = ["src/verifyfirst_mcp", "README.md", "pyproject.toml"]
@@ -0,0 +1,16 @@
1
+ """verifyfirst — an MCP server for what your verification method cannot see.
2
+
3
+ https://verifyfirst.dev
4
+ """
5
+ import sys
6
+
7
+ from . import server
8
+
9
+ __version__ = "1.0.0"
10
+ __all__ = ["cli", "server"]
11
+
12
+
13
+ def cli() -> int:
14
+ """Console-script entry point. The module keeps taking argv explicitly so
15
+ it stays runnable as a bare script for anyone who clones the repo."""
16
+ return server.main(sys.argv[1:])
@@ -0,0 +1,5 @@
1
+ import sys
2
+
3
+ from . import cli
4
+
5
+ sys.exit(cli())