Use Spec Prover with your AI.
Connect your account once and let the AI you already use work with it, without building another integration. Catch broken formulas before they reach your codebase. Spec Prover forces AI agents to prove every specification works with real inputs. one trace exposes bugs
Developed, maintained, and hosted by Vinkius.
MCP VERIFIED · PRODUCTION READY · VINKIUS GUARANTEED
Waiting for input…
Works with modern AI clients that support MCP, including ChatGPT, Claude, Cursor, and more.
Complete set · 1 capability
The complete Spec Prover capability set.
These are the exact actions your AI can choose when you ask it to work with Spec Prover.
01
1 capability in this set.
Part of 1 available through Spec Prover.
- 01
Prove spec function
You must execute a mathematical proof with concrete inputs: (1) CHOOSE a representative input. not a trivial case (0, 1) but a realistic value that exercises the main code path. Show EVERY intermediate step with arithmetic, (2) VERIFY output. does the final value in your trace match your expected output? If not: your formula has an error. The trace proves where the discrepancy starts, (3) CHECK constants. does EVERY declared constant appear in at least one step? If not: the constant is orphaned (spec is incomplete or noisy), (4) CHOOSE an edge case. boundary inputs that stress the formula: zero, negative, maximum, midnight wrap, empty array, single element. The edge case MUST differ from the representative input, (5) VERIFY edge case. does your spec explicitly handle the condition revealed? Does it define behavior for zero division? Negative results? Overflow? Wrap-around? If not: the spec is incomplete. the developer will guess, and guess wrong. If the capability rejects, re-examine your trace. your reasoning has a gap. Structured proof capability. forces the PM agent to TRACE every formula with concrete inputs and verify edge cases BEFORE the spec reaches the developer. Based on ARTEMIS (2026), process reward models, and the mathematical proof methodology where every step must be independently verifiable. The capability validates logical consistency. if your verdict contradicts your own trace, it rejects. Catches Off-by-One Boundary (the most common arithmetic error in specifications. spec says: "Display the last 5 entries." Implementation: entries.slice(entries.length - 5). Input: 3 entries. entries.length - 5 = -2. slice(-2) returns last 2 entries. not an error, but unexpected. Input: 0 entries. entries.length - 5 = -5. slice(-5) on empty array = []. Correct by accident. Input: 5 entries. slice(0) = all 5. Correct. Input: 6 entries. slice(1) = last 5. Correct. But the spec never defined: what happens when entries < 5? Show all? Show empty? Show error? The developer guesses. The PM assumed. The QA tests with 10 entries. Production user has 2 entries and sees unexpected behavior. Fix: spec MUST define behavior for boundary inputs: 0 entries, 1 entry, exactly N, N+1), Floating-Point Precision Loss (arithmetic that loses precision in real computation. spec says: "Calculate 15% discount on $19.99." Trace: $19.99 × 0.15 = $2.9985. Rounded to cents: $3.00. Discounted price: $16.99. Implementation: 19.99 0.15 = 2.9984999999999995 (IEEE 754). Math.round(2.9984999999999995 100) / 100 = 3.00. OK. works here. But: $0.10 + $0.20 = 0.30000000000000004 in JavaScript. If the spec compares prices: if (total === expectedTotal). fails. Fix: spec must define precision strategy: integer cents (1999 not 19.99), Decimal.js for arbitrary precision, or epsilon comparison (Math.abs(a-b) < 0.005). The trace must use ACTUAL floating-point arithmetic, not idealized math), Modular Arithmetic Wrap (time/circular calculations that wrap around boundaries. spec says: "Calculate bedtime: subtract sleep duration from wake time." wakeTime = 08:00 (480 minutes). sleepDuration = 9 hours (540 minutes). Trace: 480 - 540 = -60 minutes. What is -60 minutes? The spec does not say. Correct: (-60 + 1440) % 1440 = 1380 minutes = 23:00. But: what if the result is exactly 0? 0 = 00:00 or 24:00? Are they the same? What if sleepDuration > 24 hours? (480 - 1500 = -1020) → (-1020 + 1440) = 420 → 07:00. Is that correct? The spec MUST define the modular arithmetic explicitly and handle the wrap-around at midnight/boundaries), Undefined Division (division operations where the divisor can be zero. spec says: "Calculate average rating: sum of ratings / number of ratings." Normal case: ratings = [4, 5, 3, 4]. Sum = 16. Count = 4. Average = 4.0. Edge case: ratings = []. Sum = 0. Count = 0. Average = 0/0 = NaN. The spec NEVER addressed empty input. The developer implements sum/count. User with 0 reviews sees "NaN stars" displayed in the UI. Or worse: the NaN propagates through calculations: price × NaN = NaN. Fix: spec must define: "If no ratings exist, display 'No ratings yet' instead of average. Function returns null, not NaN. Caller handles null explicitly"), and Orphan Constants (declared constants that never appear in any formula. spec declares: CYCLE_DURATION_MIN = 90, FALL_ASLEEP_MIN = 15, REM_PHASE_MIN = 20. Formulas use: CYCLE_DURATION_MIN and FALL_ASLEEP_MIN. REM_PHASE_MIN is declared but never used in any step. This means either: (1) the spec forgot to include REM_PHASE_MIN in a formula (spec is incomplete), or (2) REM_PHASE_MIN is unnecessary (spec has dead constants. misleading). Both are errors. Every declared constant MUST appear in at least one formula step. If it does not: the spec has a gap or noise). Call once per engine function in the specification
Observed, not estimated
805ms average. Fast in production.
Spec Prover is checked daily against the live service.
- Fastest day
- 674ms
- Slowest day
- 966ms
- 14-day trend
- Stable-3%
Connect your client
One URL. Every client.
Activate the Connector, copy your link, and paste it into the client you already use. 1 capability arrives ready to run.
Preview access · not provider authentication
The vk_preview_* token belongs to Vinkius preview infrastructure. It lets Claude discover and display the capabilities of Spec Prover, so you can see the experience inside your AI.
It does not authenticate your account with Spec Prover. Actions requiring credentials or live account data may not run until you activate the Connector and authorize the service.
Spec Prover Connector
You're all set. Choose your MCP client and follow the setup instructions.
https://edge.vinkius.com/vk_preview_NbIciblMWXQuIBLxYENirh67y4h51MySXcQihZn2/mcpClaude Desktop
Follow the steps below to connect in seconds.
- 1In Claude Desktop, open Settings → Connectors.
- 2Click “Add custom connector” and paste the connector link above as the remote MCP server URL.
- 3Click Add and start a new chat — Spec Prover capabilities are ready to use.
{
"mcpServers": {
"spec-prover-mcp": {
"url": "https://edge.vinkius.com/vk_preview_NbIciblMWXQuIBLxYENirh67y4h51MySXcQihZn2/mcp"
}
}
}
Claude
ChatGPT
Cursor
VS Code
Windsurf
Claude Code
JetBrains
Cline
Step-by-step instructions for each client are in the guide. How to connect
FAQ
Questions Spec Prover owners ask.
- 01
Does Spec Prover compute or verify the arithmetic itself?
No. Spec Prover performs zero computation. It forces the AI agent to structure its own reasoning into traceable steps, then validates that the reasoning is logically consistent. If the agent says the output matches the trace but also says the spec is wrong, the capability rejects the contradiction. The agent does all the math. the capability enforces honesty.
- 02
What happens when the capability rejects my proof?
The capability returns a detailed consistency error explaining exactly which Decision Pivot contradicts your verdict. For example, if you mark outputMatchesTrace: true but choose SPEC_WRONG, the rejection will explain that if the output matches your trace, the formula cannot be wrong. re-examine your trace arithmetic. Fix the contradiction and call the capability again with isRevision: true.
- 03
What kind of edge cases should I trace?
The capability requires edge case inputs that differ from your normal inputs. Focus on boundaries: zero values (0 cycles), negative results (subtraction below zero), maximum values (24 hours, 1440 minutes), wrap-around conditions (midnight crossover), and empty/null inputs. The capability rejects edge cases that are identical to normal inputs. a second normal case is not an edge case.
Explore
More in Productivity
Code Integrity Prover AI Connector
AI agents default to type evasion (like any, void*, unsafe, or ignore), TODO stubs, timing/sleep hacks, and em
ViewWorkflow Orchestrator Prover AI Connector
AI agents build fragile pipelines that fail silently, ignore rate limits, and double-process events. This prov
ViewQA Arbiter AI Connector
A test fails. Is the assertion wrong or is the code broken? Most agents guess, retry blindly, and deadlock the
ViewPeople Management Prover AI Connector
A hiring plan listed 'culture fit' as the primary criterion. That's not a criterion — that's a bias proxy. Peo
View
Suggestions
Execution Trace Tamper-Evident Logger AI Connector
Creates immutable, cryptographic audit trails for agent execution steps using Merkle trees.
ViewExecution Trace Recorder and Validator AI Connector
Records and validates agent execution traces to ensure integrity, determinism, and performance.
ViewCompliance Governance Prover AI Connector
An AI said 'comply with GDPR' without naming a single article. It said 'we have controls' without mapping any
ViewConfiguration Reference Resolver AI Connector
Resolves cross-references in agent configuration dictionaries using deterministic lookup and graph-based cycle
View
