Read-only AI coding tools for change verification, release readiness, capacity, and guidance.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Calculate weekly review demand, utilization, capacity gap, supported change throughput, and changes lacking evidence from measured team inputs. No cost model, benchmark, or hidden industry assumption is applied; the output shows the arithmetic and a concrete balancing action.
Response language (default: en)
Calculate weekly review demand, utilization, capacity gap, supported change throughput, and changes lacking evidence from measured team inputs. No cost model, benchmark, or hidden industry assumption is applied; the output shows the arithmetic and a concrete balancing action.
| Argument | Type | Description |
|---|---|---|
| lang | string | Response language (default: en) |
| ai_changes_per_week* | integer | |
| two_week_churn_percent | number | |
| evidence_coverage_percent* | number | |
| available_reviewer_hours_per_week* | number | |
| average_review_minutes_per_change* | number |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"ai_changes_per_week",
"average_review_minutes_per_change",
"available_reviewer_hours_per_week",
"evidence_coverage_percent"
],
"properties": {
"lang": {
"enum": [
"en",
"de"
],
"type": "string",
"description": "Response language (default: en)"
},
"ai_changes_per_week": {
"type": "integer",
"maximum": 1000000,
"minimum": 0
},
"two_week_churn_percent": {
"type": "number",
"maximum": 100,
"minimum": 0
},
"evidence_coverage_percent": {
"type": "number",
"maximum": 100,
"minimum": 0
},
"available_reviewer_hours_per_week": {
"type": "number",
"maximum": 100000,
"minimum": 0
},
"average_review_minutes_per_change": {
"type": "number",
"maximum": 10000,
"minimum": 0.1
}
}
}Return GO, CONDITIONAL, or NO_GO from supplied acceptance-criterion results, check evidence, rollback, monitoring, limitations, and independent review. The verdict is deliberately based only on supplied evidence; this tool does not inspect code, CI, or a deployment.
| Argument | Type | Description |
|---|---|---|
| lang | string | Response language (default: en) |
| checks* | array | |
| rollback* | string | Current rollback or recovery state |
| blast_radius* | string | Largest expected impact boundary |
| change_types* | array | Technical and risk-relevant change types |
| change_summary* | string | Plain-language summary of the change |
| rollback_ready* | boolean | |
| monitoring_ready* | boolean |
Estimate a software team's verification debt from team parameters. Computes the four published metrics (generation-to-verification ratio, review depth, unverified-merge rate, two-week churn) and an annual cost estimate, with the full calculation path, labeled assumptions, thresholds, and sources (GitClear, Sonar, Faros, Veracode). Deterministic arithmetic from published models - no benchmark claims. Only team_size is required; every additional parameter refines the estimate. Set lang='de' for a German report.
| Argument | Type | Description |
|---|---|---|
| lang | string | Report language (default: en) |
| team_size* | integer | Number of developers on the team (required) |
| prs_per_month | integer | Total merged PRs per month (default: team_size x prs_per_engineer_per_month) |
| hourly_rate_eur | number | Loaded cost per engineer hour in EUR (default: 75, assumption) |
| ai_share_percent | number | Share of merges that are AI-assisted, in percent (default: 60, assumption) |
| ai_merges_per_month | integer | AI-assisted merges per month (enables the unverified-merge rate) |
| merged_loc_per_week |
Fetch a document from the Reality Graph knowledge base by id (as returned by search, e.g. '/verification-debt') or by full realitygraph.dev URL. Returns the document's summary, definitions, key facts, FAQ, and sources as text, plus the canonical URL.
| Argument | Type | Description |
|---|---|---|
| id* | string | Document id from search results, or a realitygraph.dev URL |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"maxLength": 300,
"minLength": 1,
"description": "Document id from search results, or a realitygraph.dev URL"
}
}
}Returns Reality Graph's free fill-in template (v0) for a verifiable task contract: goal, non-goals, boundaries (may change / must not change / forbidden), 3-7 yes/no acceptance criteria, validation plan, expected evidence, assumptions, open questions — with a filled example and fill-in guidance. Write the contract before an AI agent runs; verify the result against it after. format='json' returns a machine-fillable JSON structure; default is a compact markdown skeleton. Set lang='de' for German. Static content, nothing stored.
| Argument | Type | Description |
|---|---|---|
| lang | string | Language (default: en) |
| format | string | Template format (default: markdown) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"lang": {
"enum": [
"en",
"de"
],
"type": "string",
"description": "Language (default: en)"
},
"format": {
"enum": [
"markdown",
"json"
],
"type": "string",
"description": "Template format (default: markdown)"
}
}
}Returns the free fill-in template (v0) for a verification report — the artifact you write right after an AI-assisted run: task recap, files changed AND files confirmed untouched, validation results per acceptance criterion (not authored by the generating model), what was skipped, limitations, and the explicit decision. format='json' for a machine-fillable structure; default is a compact markdown file. Static content, nothing stored. lang='de' for German.
| Argument | Type | Description |
|---|---|---|
| lang | string | Language (default: en) |
| format | string | Template format (default: markdown) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"lang": {
"enum": [
"en",
"de"
],
"type": "string",
"description": "Language (default: en)"
},
"format": {
"enum": [
"markdown",
"json"
],
"type": "string",
"description": "Template format (default: markdown)"
}
}
}Check whether a free-text work order for an AI coding agent is verifiable BEFORE handing it over. Heuristic, deterministic lint of the task's form against the four building blocks of a checkable task (goal, boundaries, acceptance criteria, validation plan) plus rule checks (vague adjectives without numbers, unnamed unhappy paths, missing file anchors). Returns a status table with evidence, the concrete questions that close each gap, and a fill-in skeleton. It checks form, not content — no LLM, nothing stored. Set lang='de' for a German report.
| Argument | Type | Description |
|---|---|---|
| lang | string | Report language (default: en) |
| task* | string | The work order / task text you intend to give an AI coding agent (English or German) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"task"
],
"properties": {
"lang": {
"enum": [
"en",
"de"
],
"type": "string",
"description": "Report language (default: en)"
},
"task": {
"type": "string",
"maxLength": 8000,
"minLength": 10,
"description": "The work order / task text you intend to give an AI coding agent (English or German)"
}
}
}Turn explicit change characteristics into a risk tier, required automated checks, manual scenarios, evidence, release blockers, role handoff, and canonical Reality Graph guidance. Use before implementation or review. It does not inspect code and never invents a confidence score.
| Argument | Type | Description |
|---|---|---|
| lang | string | Response language (default: en) |
| rollback* | string | Current rollback or recovery state |
| blast_radius* | string | Largest expected impact boundary |
| change_types* | array | Technical and risk-relevant change types |
| change_summary* | string | Plain-language summary of the change |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"change_summary",
"change_types",
"blast_radius",
"rollback"
],
"properties": {
"lang": {
"enum": [
"en",
"de"
],
"type": "string",
"description": "Response language (default: en)"
},
"rollback": {
"enum": [
"automatic",
"documented",
"manual",
"none",
"unknown"
],
"type": "string",
"description": "Current rollback or recovery state"
},
"blast_radius": {
"enum": [
"single_component",
"service",
"multi_service",
"customer_data",
"production_wide"
],
"type": "string",
"description": "Largest expected impact boundary"
},
"change_types": {
"type": "array",
"items": {
"enum": [
"ui",
"api",
"auth",
"database",
"payments",
"personal_data",
"dependency",
"infrastructure",
"public_api",
"compliance"
],
"type": "string"
},
"maxItems": 10,
"minItems": 1,
"description": "Technical and risk-relevant change types"
},
"change_summary": {
"type": "string",
"maxLength": 2000,
"minLength": 10,
"description": "Plain-language summary of the change"
}
}
}Full-text search over the Reality Graph knowledge base on AI coding verification: 40+ glossary definitions, 700+ FAQ answers, sourced statistics, and article summaries on verification debt, AI code review, spec-vs-implementation checking, EU compliance (EU AI Act, GDPR, NIS2), and AI coding governance — in English and German. Returns matching documents with title, URL, and snippet. Use fetch to read a result.
| Argument | Type | Description |
|---|---|---|
| lang | string | Restrict results to one language (default: both) |
| query* | string | Search query (English or German) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"query"
],
"properties": {
"lang": {
"enum": [
"en",
"de"
],
"type": "string",
"description": "Restrict results to one language (default: both)"
},
"query": {
"type": "string",
"maxLength": 300,
"minLength": 2,
"description": "Search query (English or German)"
}
}
}Deterministically validates a FILLED task contract (the JSON structure from get_task_contract_template): completeness of goal/non-goals/boundaries, decidability of each acceptance criterion (vague words, missing measurable markers), automated checks in the validation plan, expected evidence, and leftover placeholders. Returns a verdict (PASS / PASS WITH WARNINGS / FAIL), four dimension scores, and a concrete fix per finding. Validates form and completeness, not correctness. No LLM, nothing stored. lang='de' for German.
| Argument | Type | Description |
|---|---|---|
| lang | string | Report language (default: en) |
| contract* | string | The filled task contract as a JSON string (structure from get_task_contract_template, format='json') |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"contract"
],
"properties": {
"lang": {
"enum": [
"en",
"de"
],
"type": "string",
"description": "Report language (default: en)"
},
"contract": {
"type": "string",
"maxLength": 16000,
"minLength": 20,
"description": "The filled task contract as a JSON string (structure from get_task_contract_template, format='json')"
}
}
}| independent_review* | boolean |
| acceptance_criteria_failed* | integer |
| acceptance_criteria_passed* | integer |
| known_limitations_recorded* | boolean |
| acceptance_criteria_not_run* | integer |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"change_summary",
"change_types",
"blast_radius",
"rollback",
"acceptance_criteria_passed",
"acceptance_criteria_failed",
"acceptance_criteria_not_run",
"checks",
"rollback_ready",
"monitoring_ready",
"known_limitations_recorded",
"independent_review"
],
"properties": {
"lang": {
"enum": [
"en",
"de"
],
"type": "string",
"description": "Response language (default: en)"
},
"checks": {
"type": "array",
"items": {
"type": "object",
"required": [
"kind",
"status"
],
"properties": {
"kind": {
"enum": [
"build",
"lint",
"typecheck",
"unit",
"integration",
"e2e",
"accessibility",
"security",
"migration",
"manual"
],
"type": "string"
},
"name": {
"type": "string",
"maxLength": 200,
"minLength": 1
},
"status": {
"enum": [
"pass",
"fail",
"not_run"
],
"type": "string"
},
"evidence": {
"type": "string",
"maxLength": 1000
}
}
},
"maxItems": 100
},
"rollback": {
"enum": [
"automatic",
"documented",
"manual",
"none",
"unknown"
],
"type": "string",
"description": "Current rollback or recovery state"
},
"blast_radius": {
"enum": [
"single_component",
"service",
"multi_service",
"customer_data",
"production_wide"
],
"type": "string",
"description": "Largest expected impact boundary"
},
"change_types": {
"type": "array",
"items": {
"enum": [
"ui",
"api",
"auth",
"database",
"payments",
"personal_data",
"dependency",
"infrastructure",
"public_api",
"compliance"
],
"type": "string"
},
"maxItems": 10,
"minItems": 1,
"description": "Technical and risk-relevant change types"
},
"change_summary": {
"type": "string",
"maxLength": 2000,
"minLength": 10,
"description": "Plain-language summary of the change"
},
"rollback_ready": {
"type": "boolean"
},
"monitoring_ready": {
"type": "boolean"
},
"independent_review": {
"type": "boolean"
},
"acceptance_criteria_failed": {
"type": "integer",
"maximum": 10000,
"minimum": 0
},
"acceptance_criteria_passed": {
"type": "integer",
"maximum": 10000,
"minimum": 0
},
"known_limitations_recorded": {
"type": "boolean"
},
"acceptance_criteria_not_run": {
"type": "integer",
"maximum": 10000,
"minimum": 0
}
}
}| number |
| Merged changed lines of code per week (enables the GVR and review-depth metrics) |
| rework_rate_percent | number | Share of AI-assisted changes reworked for a defect within 14 days, in percent (default: 2, the illustrative rate from /cost-of-verification-debt - replace it with your own reason-coded rate) |
| two_week_churn_percent | number | Share of new lines revised or reverted within 14 days, in percent. A warning signal in the metrics block; it never enters the cost model, because it measures lines and the cost model counts changes |
| reviewer_hours_per_week | number | Reviewer hours actually spent per week (enables the GVR metric) |
| hours_per_reworked_change | number | Average hours per reworked change (default: 6, assumption) |
| prs_per_engineer_per_month | number | Merged PRs per engineer per month (default: 20, derived from the published worked report on /measure-verification-debt) |
| incident_allowance_eur_per_year | number | Annual incident allowance in EUR (default: 0; add one only when you have a locally defined incident class, frequency and expected-loss method) |
| ai_merges_with_evidence_per_month | integer | AI-assisted merges per month with recorded validation evidence (enables the unverified-merge rate) |
| review_reconstruction_hours_per_pr | number | Average reviewer hours spent reconstructing intent per AI-assisted PR (default: 0.5, assumption) |
| substantive_review_comments_per_week | number | Substantive review comments per week, excluding bots and nitpicks (enables the review-depth metric) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"team_size"
],
"properties": {
"lang": {
"enum": [
"en",
"de"
],
"type": "string",
"description": "Report language (default: en)"
},
"team_size": {
"type": "integer",
"maximum": 500,
"minimum": 1,
"description": "Number of developers on the team (required)"
},
"prs_per_month": {
"type": "integer",
"maximum": 100000,
"minimum": 1,
"description": "Total merged PRs per month (default: team_size x prs_per_engineer_per_month)"
},
"hourly_rate_eur": {
"type": "number",
"maximum": 1000,
"minimum": 1,
"description": "Loaded cost per engineer hour in EUR (default: 75, assumption)"
},
"ai_share_percent": {
"type": "number",
"maximum": 100,
"minimum": 0,
"description": "Share of merges that are AI-assisted, in percent (default: 60, assumption)"
},
"ai_merges_per_month": {
"type": "integer",
"maximum": 100000,
"minimum": 0,
"description": "AI-assisted merges per month (enables the unverified-merge rate)"
},
"merged_loc_per_week": {
"type": "number",
"maximum": 100000000,
"minimum": 0,
"description": "Merged changed lines of code per week (enables the GVR and review-depth metrics)"
},
"rework_rate_percent": {
"type": "number",
"maximum": 100,
"minimum": 0,
"description": "Share of AI-assisted changes reworked for a defect within 14 days, in percent (default: 2, the illustrative rate from /cost-of-verification-debt - replace it with your own reason-coded rate)"
},
"two_week_churn_percent": {
"type": "number",
"maximum": 100,
"minimum": 0,
"description": "Share of new lines revised or reverted within 14 days, in percent. A warning signal in the metrics block; it never enters the cost model, because it measures lines and the cost model counts changes"
},
"reviewer_hours_per_week": {
"type": "number",
"maximum": 10000,
"minimum": 0,
"description": "Reviewer hours actually spent per week (enables the GVR metric)"
},
"hours_per_reworked_change": {
"type": "number",
"maximum": 100,
"minimum": 0.1,
"description": "Average hours per reworked change (default: 6, assumption)"
},
"prs_per_engineer_per_month": {
"type": "number",
"maximum": 500,
"minimum": 0.1,
"description": "Merged PRs per engineer per month (default: 20, derived from the published worked report on /measure-verification-debt)"
},
"incident_allowance_eur_per_year": {
"type": "number",
"maximum": 10000000,
"minimum": 0,
"description": "Annual incident allowance in EUR (default: 0; add one only when you have a locally defined incident class, frequency and expected-loss method)"
},
"ai_merges_with_evidence_per_month": {
"type": "integer",
"maximum": 100000,
"minimum": 0,
"description": "AI-assisted merges per month with recorded validation evidence (enables the unverified-merge rate)"
},
"review_reconstruction_hours_per_pr": {
"type": "number",
"maximum": 20,
"minimum": 0,
"description": "Average reviewer hours spent reconstructing intent per AI-assisted PR (default: 0.5, assumption)"
},
"substantive_review_comments_per_week": {
"type": "number",
"maximum": 1000000,
"minimum": 0,
"description": "Substantive review comments per week, excluding bots and nitpicks (enables the review-depth metric)"
}
}
}