Skip to main content
Glama

Server Details

AI BVF: score AI portfolios Stop/Fix/Accelerate with decision confidence and pace-layer drag.

If you are the author of this connector, you can claim ownership with GitHub, an HTTP challenge, or a DNS record. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
Craig-Horton/ai-bvf
GitHub Stars
0
Server Listing
aibvf-mcp

Available Tools

13 tools
assemble_portfolioA
Read-onlyIdempotent
Inspect

Assemble a valid AI BVF v1.0 portfolio document from loose inputs, deterministically. Agents arrive with initiative names, plain-language functions and half the pillar scores, then hand-build the portfolio JSON and get the shape wrong; this tool builds it right. Give it the organisation (name plus industry in canonical or everyday language) and one entry per initiative (name, function, ai_tier, plus whatever pillar scores you actually have as bare numbers) and it returns the finished document: aliases resolved through the same mapping as map_to_taxonomy, ids generated from names and deduplicated, missing pillars estimated from readiness, tier, function and disclosed AI BVF planning assumptions with the estimation reported per initiative in estimated_pillars, and the whole document validated before it is returned. CALL THIS when the user lists several AI initiatives in conversation and you need a portfolio document for validate_portfolio, score_portfolio or sequence_portfolio, instead of composing the JSON by hand. Do NOT invent pillar scores to fill it: pass only the numbers the user gave you and let the estimation carry the rest honestly, the estimated pillars carry low confidence and scoring haircuts accordingly. Unresolvable inputs come back as issues with suggestions; ask the user to choose rather than guessing. Every default the assembler applies is named in plain language in assumptions: surface them to the user, the assembler structures inputs and never makes hidden business judgements. This tool creates a document in the response only: nothing is stored, nothing is edited, no state exists between calls. Pure deterministic calculation, no network, auth, or side effects.

ParametersJSON Schema
NameRequiredDescriptionDefault
readinessNoOrganisational readiness, canonical or plain language (bureaucratic resolves to siloed). Drives estimation of missing pillars. Defaults to traditional.
initiativesYesOne entry per initiative, from whatever the user gave you. Only name, function and ai_tier are required.
organizationYesOrganisation identity and context shared by every initiative in the assembled portfolio.

Output Schema

ParametersJSON Schema
NameRequiredDescription
auditYesReproducibility record: engine version, the rules that fired, and the resolved inputs. Deterministic, no timestamps. If the verdict is challenged months later, the same inputs on the same engine version reproduce it exactly.
issuesYesUnresolved inputs, each with path, message and suggestions where the taxonomy has them.
guidanceYes
portfolioNoThe assembled BVF v1.0 document, ready for validate_portfolio, score_portfolio and sequence_portfolio. Null when assembly is blocked on issues.
validationNovalidate() run on the assembled document.
assumptionsYesEvery default the assembler applied, in plain language. Surface these to the user: what was not given is named here.
bvf_versionYes
resolutionsYesEvery alias resolution performed, in plain language.
readiness_usedYes
estimated_pillarsYesInitiative id to the pillars the assembler estimated. Gather evidence for these, or expect scoring to haircut confidence.

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Even though the annotations already indicate readOnlyHint, idempotentHint, and destructiveHint, the description expands with specifically missing behavior: missing pillars are estimated deterministically and reported, unresolved inputs become issues with suggestions, all defaults appear in assumptions, no hidden business judgements happen, and no state or side effects exist. It not only matches but strengthens the annotation profile.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is long, but its length is justified by rich behavioral content. The first sentence defines the resource and guarantee; the middle lists transformation and outputs; the end declares safety and side effects. It is front-loaded with the decision-relevant sentence and every subsequent sentence adds a distinct capability or constraint. No filler is present.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Toward an the agent needs to call this correctly: inputs, what gets resolved, what gets estimated, where those estimate appear, that validation happens, unresolved inputs return issues, and that no state/network/auth are involved. An output schema already covers the return shape, so the description need not repeat it. The context is complete for the tool's complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the schema itself documents organization, initiatives, defaults, and the rule against inventing scores. The description adds a better user-facing summary for 'pass only the numbers the user gave you' and 'unresolvable inputs come back' but most of that is already true in the schema. It gives useful framing, but no new type-level or format-level semantic.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: 'Assemble a valid AI BVF v1.0 portfolio document from loose inputs, deterministically.' It immediately separates the tool from producers of individual scores or continuous operations like sequence_portfolio and validates, and from sibling tools by stating that it resolves aliases same as map_to_taxonomy and builds what later portfolio tools need.Product.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly says 'CALL THIS when the user lists several AI initiatives in conversation and you need a portfolio document for validate_portfolio, score_portfolio or sequence_portfolio, instead of composing the JSON by hand.' It also gives an explicit exclusion: do not invent pillar scores; pass only evidence-based numbers. This is almost optimal routing guidance, including cautionary instructions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

assess_ai_initiativeA
Read-onlyIdempotent
Inspect

The front door for one AI investment decision. CALL THIS FIRST when the user describes an AI idea in ordinary language or asks whether it should proceed. It resolves industry, revenue, business function, AI tier and organisational readiness, then returns the next missing question or an Accelerate, Fix or Stop verdict. Use work_architecture to test whether the end-to-end workflow, affected roles, human decision rights and performance measures have been redesigned. A stated gap or missing work architecture evidence blocks Accelerate and stays visible in the audit trail. Pillar scores and work architecture evidence remain optional inputs, but unresolved values are never guessed and cannot unlock Accelerate. Use score_initiative when the canonical fields are already known, score_portfolio for several initiatives, and diagnose_process for measured waste in a running process. Pure deterministic calculation, no network, auth or side effects.

ParametersJSON Schema
NameRequiredDescriptionDefault
scoresNoOPTIONAL, and each pillar inside it is optional. The four AI BVF pillars, each an honest 0–100 self-assessment, combining deterministically into the verdict: governance_risk ≥ 70 OR financial_return ≤ 20 returns Stop; strategic_alignment, financial_return and change_enablement all ≥ 60 with governance_risk ≤ 40 returns Accelerate; everything else returns Fix. Pass ONLY the pillars the user has real evidence for — do NOT invent numbers for the rest. Missing pillars are estimated deterministically by the engine from disclosed AI BVF planning assumptions, the response reports which via pillar_basis and scores_used, decision confidence is haircut by how much was estimated, and a fully-estimated pass can never return Accelerate (it returns Fix pending confirmation). So call immediately with whatever the user gave you, then ask for evidence on the estimated pillars and re-call to firm the verdict up.
ai_tierNoOptional correction or answer: automation/RPA, GenAI/copilot, or agentic/autonomous. Overrides anything inferred from proposal.
functionNoOptional correction or answer in canonical or everyday language, for example customer service, procurement, finance or risk. Overrides anything inferred from proposal.
industryNoOptional correction or answer in canonical or everyday language, for example retail, hospital, bank or public sector. Overrides anything inferred from proposal.
proposalYesThe AI initiative in ordinary business language. Include the organisation, industry, approximate annual revenue, business function, AI ambition and how the organisation works today when known. The resolver extracts what it can and asks one question for the first missing input; it never guesses an unresolved taxonomy value.
readinessNoOptional correction or answer: agile, traditional, or siloed, including everyday descriptions such as cross-functional, hierarchical or bureaucratic. Overrides anything inferred from proposal.
revenue_eurNoOptional approximate annual revenue in EUR. Overrides any EUR amount extracted from proposal. No currency conversion is performed.
work_architectureNoOptional evidence that the work around the AI has been redesigned. Pass only what is known. Any explicit false value blocks Accelerate until the gap is closed; omitted checks remain visible as unknown.
signal_completenessNoOptional 0–1. How grounded the four pillar scores are in real evidence versus estimated from context. Defaults to 1 (treated as measured). If the organisation lacks formal change-readiness or risk metadata, estimate the pillars from what you know AND set this lower to say so — decision confidence is reduced proportionally and a caveat is attached, instead of returning a falsely confident verdict on soft inputs.

Output Schema

ParametersJSON Schema
NameRequiredDescription
statusYesneeds_input when one or more required decision inputs remain unresolved; verdict when scoring completed.
verdictNoThe AI BVF score. Present only when status is verdict.
proposalYesThe supplied proposal, returned so the next call can preserve it verbatim.
bvf_versionYes
resolutionsYesEvery deterministic resolution, naming the field, canonical value, source and matched phrase.
suggestionsNoAccepted values for an explicitly supplied field that could not be resolved.
next_questionNoThe single next question to ask. Present only when status is needs_input.
missing_fieldsYes
resolved_inputsYesCanonical fields resolved so far. Explicit corrections override proposal inference.

TDQS

A5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description goes far beyond the annotations with behaviors like "Pure deterministic calculation, no network, auth or side effects." It also reveals key logical rules, including that missing work architecture blocks Accelerate, unresolved values are never guessed, estimated pillars reduce confidence, and a fully-estimated pass can never return Accelerate. This is materially richer than the readOnlyHint/idempotentHint/destructiveHint annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense but every sentence earns its place. It front-loads the primary call condition and purpose, then covers behavioral constraints, sibling routing, evidence handling, and final safety guarantees. For a tool with 9 parameters and significant decision logic, this length is justified and well structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description explains invocation timing, candidate context, missing-data handling, the effect of evidence gaps, verdict conditions, and determinism. Since an output schema already exists, the description does not need to itemize return fields. There are no obvious situational gaps left for an agent deciding whether and how to invoke the tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Even though the schema already covers 100% of parameters in high detail, the description adds critical usage semantics around those parameters: pass only pillar scores with real evidence, do not invent numbers, call with whatever the user gave, then re-call with evidence. It further explains that work architecture fields should only be true when the design has actually been redesigned, which directly improves correct field-set selection.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The first sentence explicitly names the tool as "the front door for one AI investment decision" and says "CALL THIS FIRST" when the user describes an AI idea in ordinary language. It clearly separates this tool from its siblings by naming exact alternatives (score_initiative, score_portfolio, diagnose_process). This gives the agent an unambiguous actionable purpose with no need to parse schemas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit when-to-use conditions: "when user describes an AI idea in ordinary language or asks whether it should proceed." It also provides clear alternatives: "Use score_initiative when canonical fields are already known, score_portfolio for several initiatives, and diagnose_process for measured waste in a running process." This is Specific and direct usage routing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

calculate_pace_layer_dragA
Read-onlyIdempotent
Inspect

Quantify the annual EUR cost of an AI ambition outrunning the operating model: queues, hand-offs and slow decisions that prevent the organisation capturing the value already assumed in the case. CALL THIS when the user needs the cost of waiting for the organisation to change, or when a Fix plan needs a cost-of-waiting figure. Do not use it to score an AI initiative, estimate the implementation cost, or calculate a process saving: use score_initiative for the investment verdict, diagnose_process for a running process, and recommend_improvements for the change plan. revenue_eur sets the absolute EUR range; ai_tier and readiness together set the drag rate and pace_gap, so gen3 in a siloed organisation costs more than gen1 in an agile one. industry is accepted for a consistent interface and defaults to universal, but does not change this calculation yet. Returns a low/high EUR range, drag rate, pace-gap severity, drivers and source. Pure deterministic calculation — no network, auth, or side effects.

ParametersJSON Schema
NameRequiredDescriptionDefault
ai_tierYesAmbition of the AI operating model: gen1 = automation/RPA, gen2 = GenAI, gen3 = agentic. Paired with readiness to set pace_gap severity — gen3 on any readiness below agile, or gen2 on siloed, is severe; a higher tier against a slower operating model widens the gap and raises the drag.
industryNoOptional; defaults to universal if omitted. Reserved for future vertical drag-rate adjustments — does not change the result today. Call list_taxonomy for accepted values.
readinessYesOrganisational readiness, honest self-assessment: agile = cross-functional, fast decisions; traditional = functional hierarchy; siloed = rigid, hand-off heavy. Agile readiness yields minimal drag at any tier; the mismatch between a fast AI tier and a slower operating model is what generates the Organisational Drag Cost.
revenue_eurYesApproximate annual revenue in EUR (must be ≥ 0). The result scales with this: annual_drag_eur is returned as an absolute range and as drag_rate, a fraction of this revenue (e.g. 0.02 = 2%).

Output Schema

ParametersJSON Schema
NameRequiredDescription
sourceYesCitation for the drag-rate model applied.
driversYesNamed factors contributing to the drag.
pace_gapYesSeverity of the tier↔readiness mismatch.
drag_rateYesDrag as a fraction of revenue (e.g. 0.02 = 2%), low/high.
bvf_versionYesAI BVF protocol version used.
annual_drag_eurYesEstimated annual Organisational Drag Cost in EUR, low/high.

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Description discloses deterministic calculation with no side effects, no network or auth, consistent with annotations. Adds context about return format and pure calculation nature.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Comprehensive single paragraph, front-loaded with purpose, but could benefit from structural breaks for readability. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers purpose, usage, parameter behavior, return values, and safety. Output schema exists but description adds essential context about deterministic nature and no side effects.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Adds meaning beyond schema by explaining how parameters interact (e.g., gen3+silod costs more), scaling with revenue, and future placeholder for industry.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the tool quantifies annual EUR cost of AI ambition outrunning operating model, explicitly distinguishing from siblings like score_initiative, diagnose_process, and recommend_improvements.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to call ('cost of waiting for the organisation to change'), when not to use, and provides alternative tools for other needs.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

diagnose_processA
Read-onlyIdempotent
Inspect

Diagnose a single existing business process from operational evidence and return the intervention, modelled net EUR saving, efficiency gain, verdict and confidence. CALL THIS when the user can describe a process already running, including volume, touch time, waiting, hand-offs, rework, automation and cost. instances_per_year × fte_hours_per_instance × loaded_hourly_rate_eur builds the labour baseline, direct_spend_eur adds the non-labour baseline, and readiness caps the saving that the organisation can realise. The friction signals select the intervention: low automation points to Automate, many hand-offs or wait to Consolidate & re-sequence, rework to Quality controls, low-volume heavy work to Eliminate / insource. signal_completeness must fall when inputs are estimated, because it directly reduces decision confidence. Use score_initiative for a proposed AI investment and infer_readiness when the question is the organisation’s change capacity. Effectiveness bands are benchmark-cited and figures are directional, not audited. Pure deterministic calculation — no network, auth, or side effects.

ParametersJSON Schema
NameRequiredDescriptionDefault
functionYesBusiness function the process belongs to. See list_taxonomy.
handoffsYesDistinct owners/systems an instance passes through. Weighed against the per-function median; many handoffs make handoff drag dominant and point to Consolidate & re-sequence.
readinessNoOptional. Org change-absorption capacity — agile / traditional / siloed — which caps the realised (net) saving below the gross potential. Defaults to traditional.
process_idYesStable identifier for the process.
rework_rateYesFraction of instances reopened/reworked (0–1). When rework is the dominant drag factor the intervention becomes Quality controls, and it also sets the addressable share for that path.
touch_ratioYesTouch-time ÷ cycle-time (0–1). The remainder is wait; a low value means the process is mostly waiting, which pushes the intervention toward Consolidate & re-sequence.
cycle_time_daysYesMedian wall-clock days per instance, end to end. Long cycles relative to touch-time signal wait/latency drag.
automation_levelYesShare already automated (0–1). Low automation makes manual effort the dominant drag and selects Automate; the un-automated remainder is the addressable share.
direct_spend_eurYesAnnual licence/vendor/tooling spend on the process in EUR. Added to the labour baseline and shifts how much of the saving is labour- vs spend-addressable.
instances_per_yearYesProcess volume: how many times it runs per year. Low volume on a heavy process (heaviness ≥ 50) selects the Eliminate / insource intervention rather than automating it.
signal_completenessNoOptional 0–1. How much of the above was measured versus defaulted. Governs decision_confidence proportionally — lower it when you estimated inputs so the verdict stays honest. Defaults to 0.7.
fte_hours_per_instanceYesHuman touch-time in hours per instance. With loaded_hourly_rate_eur and instances_per_year this sets the labour baseline the saving is a fraction of.
loaded_hourly_rate_eurYesFully-loaded labour cost per hour in EUR (salary + on-costs). Multiplies fte_hours_per_instance × instances_per_year into the annual labour baseline.

Output Schema

ParametersJSON Schema
NameRequiredDescription
verdictYesThe call on the intervention.
functionYesBusiness function diagnosed.
heavinessYesProcess heaviness index, 0–100.
disclaimerYesDirectional decision aid, not an audited figure.
process_idYesEcho of the input process id.
assumptionsYesThe assumptions behind the figure — never a naked number.
bvf_versionYesAI BVF protocol version used.
interventionYesRecommended move.
brain_versionYesAdvisor Brain model version used.
net_saving_eurYesModelled net annual saving in EUR after readiness capture, low/high.
offer_to_executeYesTrue when the verdict warrants offering to action it (Accelerate).
baseline_cost_eurYesCurrent annual cost: labour + direct spend.
evidence_maturityYesStrength of the benchmark evidence behind the effectiveness band.
advisory_next_stepNoOptional CTA, present only for Fix/Stop verdicts.
drag_decompositionYesShare of heaviness from each friction factor (sums to ~1).
decision_confidenceYesConfidence in the verdict, 0–100.
efficiency_gain_pctYesEfficiency improvement on the targeted slice, percent.

TDQS

A4.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and idempotentHint=true. The description adds 'Pure deterministic calculation — no network, auth, or side effects,' which reinforces safety and explains output behavior (e.g., 'signal_completeness must fall when inputs are estimated'). No contradictions; adds useful context beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with a clear summary, then elaborates on parameter usage and trade-offs. While dense and slightly long, every sentence adds value; no wasted words. Could be slightly more concise but well-organized.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 13 parameters, 11 required, 100% schema coverage, and an existing output schema, the description thoroughly explains the tool's logic, constraints, and output components (intervention, savings, confidence). It is fully complete for a complex process diagnosis tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, but the description greatly enhances meaning by explaining how parameters interact (e.g., 'instances_per_year × fte_hours_per_instance × loaded_hourly_rate_eur builds the labour baseline') and how friction signals select interventions, thereby providing significant value beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states what the tool does: 'Diagnose a single existing business process from operational evidence and return the intervention, modelled net EUR saving, efficiency gain, verdict and confidence.' It specifies the verb (diagnose), resource (process), and output, distinguishing it from siblings that focus on portfolios or initiatives.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit guidance: 'CALL THIS when the user can describe a process already running...' and explains when not to use it, directing to alternatives like 'score_initiative' for AI investment and 'infer_readiness' for change capacity, thus providing clear contextual differentiation.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_benchmarkA
Read-onlyIdempotent
Inspect

Look up the disclosed AI BVF planning rates behind the value model for one business function and industry. CALL THIS when the user wants to inspect the revenue-uplift and cost-takeout assumptions before scoring, or to compare the value drivers across functions. function selects the base rate range and named drivers; industry applies the multiplier, while universal returns the unadjusted base rate. External research in the evidence register frames the adoption and value problem but does not publish these function rates. The output is a rate, expressed as a fraction of revenue, not an initiative verdict or EUR business case. Replace it with measured organisation evidence before funding. Use score_initiative for an Accelerate/Fix/Stop decision, score_portfolio for several initiatives and diagnose_process for measured operational waste. Pure deterministic lookup, with no network, auth or side effects.

ParametersJSON Schema
NameRequiredDescriptionDefault
functionYesBusiness function to benchmark — must be one of the list_taxonomy function values. Selects the base revenue-uplift and cost-reduction rate ranges (returned as fractions of revenue) and the value drivers.
industryYesIndustry whose multiplier to apply — must be one of the list_taxonomy industry values. The returned industry_multiplier is applied to the function base rates; pass "universal" for the un-adjusted rates.

Output Schema

ParametersJSON Schema
NameRequiredDescription
sourceYesCitation for the benchmark figures.
driversYesNamed value drivers behind the benchmark.
functionYesBusiness function the rates apply to.
industryYesIndustry whose multiplier was applied.
cost_takeout_rangeYesCost take-out as a fraction of revenue, lo/hi.
industry_multiplierYesMultiplier applied to the base rates for this industry.
revenue_uplift_rangeYesRevenue uplift as a fraction of revenue, lo/hi.

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds extra behavioral detail beyond that: the lookup is deterministic, requires no network or auth, and produces an unadjusted or adjusted rate rather than a verdict or business case. It also clarifies the relationship of external research to this tool, which helps the agent reason about naming and expectations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core purpose and explicit call signal, then moves from parameter semantics to output clarification, alternatives, and technical behavior. Some detail is present, but every sentence contributes either a necessary constraint, a clarification, or an alternative. The structure is efficient for agent parsing.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given two enum-constrained required parameters, an output schema, and overlapping sibling tools, the description is complete. It tells the agent when to use the tool, what the output is not, how to understand the function and industry parameters, and what behavior to expect. Nothing material is missing for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already documents both parameters at 100% coverage with enum values and descriptions. The description restates the function/industry relationship without materially adding new semantics: function selects rate ranges and drivers, industry applies a multiplier, and universal returns the unadjusted base. This is helpful reinforcement, but the schema is doing the heavy lifting, so a mid-range score is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: 'look up the disclosed AI BVF planning rates... for one business function and industry.' It clearly defines what the tool returns — a rate as a fraction of revenue — and distinguishes it from scoring and portfolio tools by stating what it is not. This makes the tool's purpose easy to separate from all sibling tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly says 'CALL THIS when the user wants to inspect revenue-uplift and cost-takeout assumptions before scoring, or to compare value drivers across functions.' It also gives direct alternatives: use score_initiative for verdicts, score_portfolio for multiple initiatives, and diagnose_process for measured operational waste. This is far beyond the threshold of minimal viability.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

infer_readinessA
Read-onlyIdempotent
Inspect

Measure organisational readiness from process data, so the investment case does not depend on an untested maturity claim. CALL THIS before score_initiative, score_portfolio or calculate_pace_layer_drag when the user can provide at least two of five signals: hand-offs, rework, touch ratio, automation level and cycle time. function selects the comparison medians for hand-offs and cycle time; more signals increase confidence and disagreement between them reduces it. claimed_readiness is optional, but pass it when the organisation has declared itself agile, traditional or siloed, because the returned gap exposes where its self-image runs ahead of the process data. Fewer than two signals produces a refusal, not a guess. Pass the measured readiness into the downstream tool, then use diagnose_process when the next question is what to change in that process. Pure deterministic calculation, no network, auth, or side effects.

ParametersJSON Schema
NameRequiredDescriptionDefault
functionYesBusiness function the process belongs to. Selects the disclosed AI BVF cycle-time and hand-off reference points used to interpret the signals. Call list_taxonomy if unsure.
handoffsNoDistinct owners or systems an instance passes through. Read against the function median: 1.5x or more the median reads siloed, at or above the median reads traditional, below it reads agile.
rework_rateNoFraction of instances reopened or reworked (0-1). 15% or more reads siloed, 5-15% traditional, under 5% agile.
touch_ratioNoTouch-time divided by cycle-time (0-1); the remainder is waiting. Under 0.15 reads siloed (the process lives in queues), 0.15-0.4 traditional, above 0.4 agile.
cycle_time_daysNoMedian wall-clock days per instance. Read against the function median, same bands as handoffs.
automation_levelNoShare of the process already automated (0-1). Under 0.2 reads siloed, 0.2-0.5 traditional, above 0.5 agile.
claimed_readinessNoOptional. What the organisation says about itself. The measured result is compared against it and the gap returned as readiness_gap plus a gap_finding, because an organisation whose self-image runs ahead of its process data has just told you where the change work starts.

Output Schema

ParametersJSON Schema
NameRequiredDescription
auditNoReproducibility record: engine version, the rules that fired, and the resolved inputs. Deterministic, no timestamps. If the verdict is challenged months later, the same inputs on the same engine version reproduce it exactly.
guidanceYesHow to use the result downstream, including what a gap between measured and self-reported readiness means.
readinessYesThe readiness classification the measured signals support.
confidenceYesConfidence 0-100, set by signal coverage (2 signals ~45, 5 signals ~90) and discounted when signals disagree.
bvf_versionYesAI BVF protocol version used.
gap_findingNoThe claimed-versus-measured gap read as a change-readiness finding. Surface verbatim when present.
disagreementNoPresent when signals point in opposing directions: readiness is uneven across the process, read the per-signal detail.
signal_readsYesPer-signal read: the value, which readiness it leans toward, and why in plain language. Show these to the user.
signals_usedYesHow many of the five signals were provided.
readiness_gapNoOrdinal distance claimed-to-measured. Positive: the organisation claims better than it measures.
readiness_basisYesAlways measured: this came from process data, not self-report.
claimed_readinessNoEcho of the claim, when supplied.

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, non-destructive, idempotent. The description adds genuinly useful 'pure determininitic calculation, no network, auth, or side effects', the no-guess refusal, and the confidence effect of signal disagreement. Strong extra behavioral context beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Dense and front-loaded: starts with purpose, then scheduling, then parameter context/closing behavior and safety. It is a good-size paragraph and every sentence contributes; the only minor downside is slight overlap with the claimed_readiness schema text.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a deterministic readiness calc, with rich param descriptions, an output schema, and annotations already carrying safety profile, the definition adds enough decision rules, input condition, refusal behavior, and workflow. There is no obvious gap an agent would need filled.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Since input schema already fully describes all 7 parameters with concrete thresholds and enums, the bar is lower. The description still adds meaning about function as median-selector, claimed_readiness purpose, signal-count interaction confidence, and disagreement relation, going beyond the schema is a worthwhile way.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Opens with a concrete verb and resource: 'Measure organisational readiness from process data'. It distinguishes itself from siblings by naming where it slots in the workflow, before score_initiative/score_portfolio/calcucalate_pace_layer_drag and before diagnose_process for follow-up.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives explicit when: 'CALL THIS before ... when the user can provide at las two of five signals'. It also tells the agent the refusal behavior with fewer than two and states when to pass claimed_readiness, so the choice condition is fully operational.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_taxonomyA
Read-onlyIdempotent
Inspect

Return the exact industry, function, AI-tier and readiness values every AI BVF calculation accepts. CALL THIS when the caller needs the complete allowed list or when a free-text value is not obvious. It returns taxonomy only, no score, verdict or language mapping. Use map_to_taxonomy when the user has said customer service, banking, RPA or bureaucratic and you need the one canonical value; use this tool when they need the whole menu of values to choose from. Takes no parameters. Pure deterministic lookup — no network, auth, or side effects.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
ai_tiersYesAll accepted ai_tier values (gen1/gen2/gen3).
functionsYesAll accepted business-function values.
readinessYesAll accepted organisational-readiness values.
industriesYesAll accepted industry values.
bvf_versionYesAI BVF protocol version these enums belong to.

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Description adds behavioral details beyond annotations: 'Pure deterministic lookup — no network, auth, or side effects' and 'Takes no parameters', consistent with readOnly and idempotent hints.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three concise, front-loaded sentences that cover purpose, usage guidance, and behavioral notes with no wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no parameters and an existing output schema, the description fully covers what the tool returns (taxonomy only, no score/verdict/language mapping) and its deterministic nature.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

No parameters exist, and schema coverage is 100%. Description confirms 'Takes no parameters', meeting the baseline expectation of clarity for zero-parameter tools.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description explicitly states it returns 'exact industry, function, AI-tier and readiness values' and distinguishes itself from map_to_taxonomy, which is a sibling tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Describes when to call this tool ('when the caller needs the complete allowed list or when a free-text value is not obvious') and explicitly names the alternative map_to_taxonomy for specific term lookups.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

map_to_taxonomyA
Read-onlyIdempotent
Inspect

Map everyday business language to the canonical AI BVF values required by the scoring tools. CALL THIS when the user says customer service, procurement, banking, GenAI copilot or bureaucratic and the matching enum is not certain. Pass only the fields written in free text; each returns the canonical value, what it matched on, or null with suggestions. A null result requires the user to choose from the suggestions, because a plausible guess would change the score. Use list_taxonomy when the user needs every permitted value, then pass the mapped values into score_initiative, diagnose_process, get_benchmark or the portfolio tools. Pure deterministic lookup, no network, auth, or side effects.

ParametersJSON Schema
NameRequiredDescriptionDefault
ai_tierNoEveryday AI language, e.g. RPA, GenAI copilot, autonomous agents. Resolved to gen1/gen2/gen3.
functionNoEveryday function language, e.g. customer service, procurement, legal, people. Resolved to cx, supply, risk, hr and so on.
industryNoEveryday industry language, e.g. banking, ecommerce, pharma. Resolved to the canonical enum.
readinessNoEveryday culture language, e.g. bureaucratic, cross-functional, hierarchical. Resolved to agile/traditional/siloed.

Output Schema

ParametersJSON Schema
NameRequiredDescription
ai_tierNo
functionNo
guidanceYes
industryNoinput, resolved and matched_on; or resolved null with suggestions when no confident match.
readinessNo
bvf_versionYes

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint, idempotentHint, destructiveHint. Description adds 'Pure deterministic lookup, no network, auth, or side effects' and explains null result behavior. This enriches transparency beyond structured fields.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two paragraphs with a clear first sentence summarizing purpose. It is well-structured and front-loaded, though slightly verbose. Every sentence adds value, so it earns a 4.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given an output schema exists, the description appropriately focuses on usage behavior. It covers return value structure, null handling, and side-effect-free nature. Context is complete for this complexity level.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds value by explaining that parameters are free text and describing the return structure (canonical value, match, or null with suggestions). This goes beyond the schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Map' and the resource 'everyday business language to the canonical AI BVF values'. It distinguishes from sibling tools like list_taxonomy and the scoring tools, making the purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly tells when to call this tool ('when the user says... and the matching enum is not certain') and when to use list_taxonomy instead. Also directs to pass mapped values into specific tools, providing clear alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

recommend_improvementsA
Read-onlyIdempotent
Inspect

Turn a Fix or Stop verdict into the change plan that could earn a re-score, with pillar targets, named plays, owners, stop conditions, cost of waiting and a deadline. CALL THIS after score_initiative returns Fix or Stop, using the same five context fields and any scores or work-architecture evidence from that call. Do not use it to produce the initial verdict, sequence several initiatives or diagnose measured process waste; use score_initiative, sequence_portfolio or diagnose_process for those jobs. Do not call it for Accelerate unless a specific delivery risk needs testing before commitment. resistance_type selects the will or skill route, risk_type selects the regulatory, reputational or operational route, and omitted diagnostics remain provisional with the next question returned. Lead with binding_constraint, surface honest_stop when present, and use rescore_gate to decide whether this remains Fix or becomes Stop. Pure deterministic calculation, no network, auth or side effects.

ParametersJSON Schema
NameRequiredDescriptionDefault
scoresNoOPTIONAL, and each pillar inside it is optional. The four AI BVF pillars, each an honest 0–100 self-assessment, combining deterministically into the verdict: governance_risk ≥ 70 OR financial_return ≤ 20 returns Stop; strategic_alignment, financial_return and change_enablement all ≥ 60 with governance_risk ≤ 40 returns Accelerate; everything else returns Fix. Pass ONLY the pillars the user has real evidence for — do NOT invent numbers for the rest. Missing pillars are estimated deterministically by the engine from disclosed AI BVF planning assumptions, the response reports which via pillar_basis and scores_used, decision confidence is haircut by how much was estimated, and a fully-estimated pass can never return Accelerate (it returns Fix pending confirmation). So call immediately with whatever the user gave you, then ask for evidence on the estimated pillars and re-call to firm the verdict up.
ai_tierYesAmbition of the AI being deployed: gen1 = automation/RPA, gen2 = GenAI, gen3 = agentic. Interacts with readiness — a more ambitious tier running on lower readiness widens the pace-layer gap, which discounts the modelled EUR value even when the four pillar scores are strong.
functionYesBusiness function where the AI will operate, as one of the accepted enum values — selects which benchmark value drivers and rate ranges apply. Call list_taxonomy for the exact strings if unsure.
industryYesYour industry, as one of the accepted enum values — used to select the benchmark rate multiplier applied to the modelled EUR value. Call list_taxonomy for the exact strings if unsure.
readinessYesOrganisational readiness, honest self-assessment: agile = cross-functional, fast decisions; traditional = functional hierarchy; siloed = rigid, hand-off heavy. Sets the value-capture rate and, paired with ai_tier, the pace-layer drag — lower readiness against a higher tier reduces the captured value. Self-report is gameable: when the user has real process numbers, call infer_readiness first and pass its measured classification here instead.
risk_typeNoOptional. The nature of a high governance-risk score: "regulatory" = statute applies (EU AI Act, GDPR Article 22, DORA), "reputational" = the risk is how failure looks and lands publicly, "operational" = the system failing quietly inside a process. Selects between a regulatory remediation sequence, visible trust guardrails, and a proportionate governance review. If you do not know, omit it: the engine infers (gen3 tier, or a regulated function/industry, infers regulatory) and marks the play provisional.
revenue_eurYesApproximate annual revenue in EUR (must be ≥ 0). Scales the whole output: the disclosed AI BVF planning rates are applied as fractions of this figure, so the modelled EUR value range grows with it. A rough order-of-magnitude estimate is fine.
resistance_typeNoOptional. What sits behind a low change-enablement score: "will" = people do not want the change (power shifts, fear, no case for change), "skill" = people cannot yet do it (capability and capacity gap). Selects between a coalition-building play (Kotter 1-2 + ADKAR Awareness/Desire) and an owner-and-capability play (ADKAR Knowledge/Ability). If you do not know, omit it: the engine infers from readiness (agile infers skill, traditional/siloed infers will) and marks the play provisional. Ask the user "is the resistance about not wanting this, or not being able to do it yet?" and re-call to sharpen.
work_architectureNoOptional evidence that the work around the AI has been redesigned. Pass only what is known. Any explicit false value blocks Accelerate until the gap is closed; omitted checks remain visible as unknown.

Output Schema

ParametersJSON Schema
NameRequiredDescription
auditNoReproducibility record: engine version, the rules that fired, and the resolved inputs. Deterministic, no timestamps. If the verdict is challenged months later, the same inputs on the same engine version reproduce it exactly.
notesYesCaveats or context on the recommendation set.
feasibleYesWhether the target is reachable via the listed pillar moves.
feedbackNoOptional three-question feedback route, present only for Fix/Stop verdicts. The page records the response anonymously only when the user chooses an answer; no assessment data is attached.
bvf_versionYesAI BVF protocol version used.
change_planNoThe change-leader layer: a specific, sequenced route from Fix or Stop toward Go, aimed at the organisation. Present for Fix/Stop, absent when the initiative is already Accelerate. Present this to the user as the plan, not as raw data.
recommendationsYesPer-pillar improvement actions.
advisory_next_stepNoOptional CTA, present only for Fix/Stop verdicts.
target_classificationYesVerdict the recommendations aim to reach.
current_classificationYesVerdict as the initiative stands today.
projected_decision_confidenceYesConfidence in the verdict if the recommendations land, 0-100.

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses meaningful behavioral internals beyond the annotations: omitted diagnostics remain provisional, missing pillars are estimated and enshrined as marked provisional, a next question is returned, and it is a "pure deterministic calculation, no network, auth or side effects." It also explains treatment of resistance_type and risk_type route selection, and highlights how previously estimated pillars require re-calling.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Every sentence expands the invocation contract: what it produces, when to call it, when not to call it, interplay between optional diagnostics, and execution nature. It is dense but not inflated; the first sentence states the purpose, and later sentences give operational and exclusion rules without padding.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given a fully described input schema, an output schema exists, and the description addresses the conditional workflow, the same-case requirement, missing values, and the route selection mechanisms, no critical guidance gap remains for an agent to invoke it correctly after scoring.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already covers 100% of parameter semantics in detail, so this could be baseline 3. The description adds value by tying parameters to the orchestration contract: "same five context fields", "scores and work-architecture evidence from that call", and the interaction of optional diagnostics with route selection. It also adds explicit guardrail: omitted diagnostics remain provisional with the next question returned.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: "Turn a Fix or Stop verdict into the change plan that could earn a re-score," and enumerates concrete outputs (pillar targets, named plays, owners, stop conditions, cost of waiting, deadline). It clearly differentiates from siblings by saying do not use it for initial verdict, sequencing, or process diagnosis jobs that belong to score_initiative, sequence_portfolio, or diagnose_process.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives an explicit when-to-use condition — "CALL THIS after score_initiative returns Fix or Stop, using the same five context fields" — and explicit when-not-to-use exclusions with named alternatives. It also warns against calling for Accelerate unless a specific delivery risk needs testing before commitment, which is unique and essential routing guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

score_initiativeA
Read-onlyIdempotent
Inspect

Canonical-field scorer for one AI initiative. CALL THIS when industry, revenue_eur, function, ai_tier and readiness are already known, or when re-scoring with measured pillar evidence. For a proposal written in ordinary business language, call assess_ai_initiative first; it resolves these fields and asks for anything missing. Pillar scores remain optional: missing pillars are estimated deterministically, reported through pillar_basis, and reduce decision confidence, while a fully estimated pass can never return Accelerate. Returns Accelerate, Fix or Stop, modelled gross and net EUR ranges, decision confidence, sensitivity, assumptions and an audit trail. Use score_portfolio for several initiatives and diagnose_process for measured waste in an existing process. Pure deterministic calculation, no network, auth or side effects.

ParametersJSON Schema
NameRequiredDescriptionDefault
scoresNoOPTIONAL, and each pillar inside it is optional. The four AI BVF pillars, each an honest 0–100 self-assessment, combining deterministically into the verdict: governance_risk ≥ 70 OR financial_return ≤ 20 returns Stop; strategic_alignment, financial_return and change_enablement all ≥ 60 with governance_risk ≤ 40 returns Accelerate; everything else returns Fix. Pass ONLY the pillars the user has real evidence for — do NOT invent numbers for the rest. Missing pillars are estimated deterministically by the engine from disclosed AI BVF planning assumptions, the response reports which via pillar_basis and scores_used, decision confidence is haircut by how much was estimated, and a fully-estimated pass can never return Accelerate (it returns Fix pending confirmation). So call immediately with whatever the user gave you, then ask for evidence on the estimated pillars and re-call to firm the verdict up.
ai_tierYesAmbition of the AI being deployed: gen1 = automation/RPA, gen2 = GenAI, gen3 = agentic. Interacts with readiness — a more ambitious tier running on lower readiness widens the pace-layer gap, which discounts the modelled EUR value even when the four pillar scores are strong.
functionYesBusiness function where the AI will operate, as one of the accepted enum values — selects which benchmark value drivers and rate ranges apply. Call list_taxonomy for the exact strings if unsure.
industryYesYour industry, as one of the accepted enum values — used to select the benchmark rate multiplier applied to the modelled EUR value. Call list_taxonomy for the exact strings if unsure.
readinessYesOrganisational readiness, honest self-assessment: agile = cross-functional, fast decisions; traditional = functional hierarchy; siloed = rigid, hand-off heavy. Sets the value-capture rate and, paired with ai_tier, the pace-layer drag — lower readiness against a higher tier reduces the captured value. Self-report is gameable: when the user has real process numbers, call infer_readiness first and pass its measured classification here instead.
revenue_eurYesApproximate annual revenue in EUR (must be ≥ 0). Scales the whole output: the disclosed AI BVF planning rates are applied as fractions of this figure, so the modelled EUR value range grows with it. A rough order-of-magnitude estimate is fine.
work_architectureNoOptional evidence that the work around the AI has been redesigned. Pass only what is known. Any explicit false value blocks Accelerate until the gap is closed; omitted checks remain visible as unknown.
signal_completenessNoOptional 0–1. How grounded the four pillar scores are in real evidence versus estimated from context. Defaults to 1 (treated as measured). If the organisation lacks formal change-readiness or risk metadata, estimate the pillars from what you know AND set this lower to say so — decision confidence is reduced proportionally and a caveat is attached, instead of returning a falsely confident verdict on soft inputs.

Output Schema

ParametersJSON Schema
NameRequiredDescription
auditNoReproducibility record: engine version, the rules that fired, and the resolved inputs. Deterministic, no timestamps. If the verdict is challenged months later, the same inputs on the same engine version reproduce it exactly.
caveatNoPresent only when signal_completeness was low: warns the verdict rests on soft inputs and confidence was reduced.
reasonYesOne-line justification for the classification.
driversYesNamed value drivers behind the estimate.
feedbackNoOptional three-question feedback route, present only for Fix/Stop verdicts. The page records the response anonymously only when the user chooses an answer; no assessment data is attached.
bvf_versionYesAI BVF protocol version used.
multipliersYesFactors applied to the base rates.
scores_usedNoThe four pillar values the verdict was actually computed on, whether given by the caller or estimated by the engine. Show these to the user when any pillar was estimated.
sensitivityNoWhat moves this verdict, computed deterministically: the value if readiness were one notch worse, the value at revenue minus 20 percent, and the nearest single-pillar movements that flip the classification. Boards trust ranges with visible assumptions over point estimates; show this.
pillar_basisNoPer pillar: "given" (caller supplied it) or "estimated" (deterministic prior). When any pillar is estimated, tell the user which, and ask for evidence on those to firm up the verdict.
net_value_eurYesModelled net value in EUR after capture rate, low/high.
classificationYesThe verdict for this initiative.
applied_modulesYesBVF scoring modules that fired for this input.
gross_value_eurYesModelled gross value in EUR before capture, low/high.
benchmark_sourceYesProvenance and evidence status for the AI BVF planning rates applied.
work_architectureYesThe work architecture gate across workflow, roles, human decision rights and performance measures. A stated gap or missing evidence blocks Accelerate.
advisory_next_stepNoOptional CTA, present only for Fix/Stop verdicts.
decision_confidenceYesConfidence in the verdict, 0-100.

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the annotations, the description discloses that the calculation is 'pure deterministic, no network, auth or side effects,' that missing pillars are estimated deterministically rather than invented, and that a fully estimated pass can never return Accelerate. This substantially enriches what an agent can infer from annotations alone, without contradicting any annotation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is longer than average, but every sentence carries weight: usage conditions, alternative tools, pillar-estimation behavior, return value summary, and safety characteristics. It is efficiently structured with the primary use case and verdicts front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 8 parameters, four nomenclature-specific fields, an optional nested object, a known output schema, and a large sibling-tool set, the description supplies enough context to select and invoke the tool correctly and to route to the appropriate alternative, and further notes 'No network, auth or diversity side effects'.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Parameter schema description coverage is 100%, so the baseline falls at 3. The description adds high-level guidance about not inventing pillar scores and re-calling with evidence, but the per-parameter meaning is already covered comprehensively by the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: it is a 'Canonical-field scorer for one AI initiative.' It further distinguishes itself by identifying the exact inputs required, the verdicts returned, and explicitly names alternatives such as assess_ai_initiative and score_portfolio.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description is explicit about when to use it: 'CALL THIS when industry, revenue_eur, function, ai_tier and readiness are already known, or when re-scoring with measured pillar evidence.' It likewise tells the agent to call assess_ai_initiative first for ordinary business language, score_portfolio for several initiatives, and diagnose_process for measured waste — providing a complete decision rule.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

score_portfolioA
Read-onlyIdempotent
Inspect

Score several AI initiatives as one AI BVF v1.0 portfolio and return the board-level position: counts of Accelerate / Fix / Stop, aggregate modelled EUR value range, mean decision confidence, the highest-value initiative, the highest-risk initiative, and every individual result. CALL THIS when the user has a portfolio document and needs to know what it contains before deciding funding or order, instead of looping score_initiative one initiative at a time. The single readiness value applies across every initiative: it changes capture rates and the pace-layer drag, so measure it with infer_readiness first when process data exists. The portfolio must carry organization.revenue_eur for EUR values; initiatives with missing revenue or invalid taxonomy are reported as skipped, never silently counted. Run validate_portfolio first only when the document shape is uncertain, then call sequence_portfolio when the verdicts need turning into a 90-day order. Pure deterministic calculation — no network, auth, or side effects.

ParametersJSON Schema
NameRequiredDescriptionDefault
portfolioYesA portfolio document conforming to the AI BVF v1.0 schema: bvf_version, organization (name, industry, optional revenue_eur), and a non-empty initiatives array. Each initiative carries id, name, function, ai_tier, and a scores object whose four pillars are each either a bare number (0–100) or an object { value: 0–100 }; both shapes are accepted everywhere. Every initiative is run through the same rule as score_initiative — governance_risk ≥ 70 OR financial_return ≤ 20 → Stop; all of strategic_alignment/financial_return/change_enablement ≥ 60 with governance_risk ≤ 40 → Accelerate; else Fix — and the verdicts are aggregated into portfolio counts. organization.revenue_eur is required to model EUR value; initiatives that cannot be scored (missing revenue, unknown function/ai_tier) appear in skipped_initiatives rather than scored_initiatives. Validate first with validate_portfolio if the document may be malformed. Schema: https://www.aibvf.com/protocol.
readinessYesOrganisational readiness applied to every initiative in the portfolio. Honest self-assessment: agile = cross-functional, fast decisions; traditional = functional hierarchy; siloed = rigid, hand-off heavy. The portfolio schema does not carry per-initiative readiness; this single value sets the capture rate for the whole portfolio and, paired with the ai_tier of each initiative, its pace-layer drag — lower readiness against a higher tier discounts the modelled EUR value.

Output Schema

ParametersJSON Schema
NameRequiredDescription
totalYesTotal initiatives in the portfolio (scored + skipped).
validYesTrue when the portfolio passed schema validation. False means no initiatives were scored.
summaryYes
feedbackNoOptional three-question feedback route, present only when any initiative was Fix or Stop. The page records the response anonymously only when the user chooses an answer; no assessment data is attached.
readinessYesReadiness value applied across all initiatives.
bvf_versionYesAI BVF protocol version used.
organizationYesEcho of the portfolio organisation fields applied to scoring.
validation_errorsNoEmpty when valid; otherwise one entry per schema violation.
advisory_next_stepNoOptional CTA, present only when any initiative was Fix or Stop.
scored_initiativesYesPer-initiative scoring result.
skipped_initiativesYesInitiatives that could not be scored, with the reason. Empty when all initiatives scored.
aggregate_net_value_eurYesSum of net EUR value across scored initiatives, low/high.
highest_risk_initiativeNoScored initiative most at risk: worst classification (Stop > Fix > Accelerate), tie-broken by lowest decision_confidence. Omitted when none were scored.
top_initiative_by_valueNoScored initiative with the highest mid-point net EUR value. Omitted when none were scored.
mean_decision_confidenceYesMean decision confidence across scored initiatives (0–100); 0 when none were scored.

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish readOnly, idempotent, and non-destructive behavior, but the description adds valuable nuances: 'skipped, never silently counted' for missing revenue/invalid taxonomy, the single readiness value applying portfolio-wide, and 'pure deterministic calculation — no network, auth, or side effects.' This adds real behavioral context beyond what annotations alone provide.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core purpose and output, then flows into when-to-use, behavioral caveats, sequencing, and safety properties. Every sentence contributes non-redundant information for a complex tool, and there is no filler or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the output schema covers return values and the input schema covers parameter details, the description completes the picture with preconditions, skip behavior, integration with sibling tools, and a deterministic/read-only safety profile. An agent has everything necessary to select and invoke this tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already provides 100% coverage of both parameters, including nested portfolio structure and readiness enum meanings. The description reinforces key constraints like organization.revenue_eur being required and readiness applying uniformly, but it doesn't substantially add new parameter-level meaning beyond the schema. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource ('Score several AI initiatives as one AI BVF v1.0 portfolio') and enumerates the return outputs: counts, EUR value range, mean confidence, highest-value/highest-risk initiative, and individual results. It explicitly distinguishes itself from looping score_initiative and references related tools like validate_portfolio and sequence_portfolio, giving clear sibling differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit when-to-use guidance: call when the user has a portfolio and needs to know its contents before funding/order decisions, rather than invoking score_initiative repeatedly. It also provides conditional routing: use validate_portfolio first only when document shape is uncertain, and use sequence_portfolio when a 90-day order is needed. This goes well beyond a basic 'when to use' statement.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sequence_portfolioA
Read-onlyIdempotent
Inspect

Turn a scored AI portfolio into three waves with gates over a configurable horizon, so the roadmap respects the change capacity of each business function. CALL THIS after score_portfolio when the user asks what to stop, fund first, defer or fit into the next 90 days. It does not change any verdict or re-score the business case. Stops enter wave 1 to reclaim budget and attention, quicker Accelerates enter wave 2, complex Accelerates and Fixes enter wave 3 behind their re-score gates. Pass the portfolio returned by score_portfolio directly through portfolio, or pass organization plus initiatives; both score shapes are accepted and nested values are flattened. readiness sets capture rates and pacing, max_parallel_per_function caps simultaneous change in one function per wave, and horizon_days divides the plan into three equal windows. Capacity overflow is reported as a conflict or a deferral beyond the horizon, never hidden. Run recommend_improvements for a Fix before treating its wave placement as permission to proceed. Pure deterministic calculation, no network, auth, or side effects.

ParametersJSON Schema
NameRequiredDescriptionDefault
portfolioNoAlternative input: the same AI BVF v1.0 portfolio document score_portfolio accepts (organization + initiatives with nested {value} pillar scores). Pass either this OR the top-level organization + initiatives; nested score values are flattened automatically, and missing pillars are estimated honestly.
readinessYesOrganisational readiness applied across the portfolio; sets capture rates and pacing. Measure it with infer_readiness when process numbers exist.
constraintsNoChange-capacity constraints. The defaults encode the core principle: no function absorbs unlimited concurrent change.
initiativesNoThe portfolio to sequence. Each initiative carries flat 0-100 pillar numbers (not the nested value objects of the portfolio wire format).
organizationNoOrganisation context used when initiatives are passed at the top level. Required with top-level initiatives and ignored when portfolio is supplied.

Output Schema

ParametersJSON Schema
NameRequiredDescription
auditYesReproducibility record: engine version, the rules that fired, and the resolved inputs. Deterministic, no timestamps. If the verdict is challenged months later, the same inputs on the same engine version reproduce it exactly.
wavesYesThree waves with named gates: Stops first (free the budget), quick Accelerates second (buy trust), complex Accelerates plus Fixes third (spend the trust). Present this to the user as the rollout plan.
totalsYesCounts: stopped, quick_wins, complex_or_fix, deferred.
skippedNo
bvf_versionYes
capacity_conflictsYesWhere more initiatives land on one function than it can absorb per wave, with the deferral applied. Surface these: an overloaded function is how good portfolios fail.
sequencing_principlesYes
deferred_beyond_horizonNoInitiatives that did not fit the horizon under the capacity constraint; they need their own decision.
aggregate_accelerate_value_eurNoSum of modelled net EUR for the sequenced Accelerates, low and high.

TDQS

A5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds meaningful behavioral context beyond the annotations: it explicitly states the tool is a pure deterministic calculation with no network, auth, or side effects, and that capacity overflow is never hidden but reported as a conflict or deferral. It also clarifies it does not mutate or re-score anything. Nothing contradicts the readOnly, idempotent, or destructive annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense but each sentence earns its place. It front-loads the critical call placement ('CALL THIS after score_portfolio'), gives the essential scope, then covers inputs and behavior without repetition or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex tool with nested inputs and five parameters, the description covers required input types, valid alternative input shapes, constraint behavior, overflow semantics, and integration with recommend_improvements. An output schema exists, so return-value details are not needed in the description. The context is complete enough for an agent to invoke it correctly without ambiguity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Although schema coverage is 100%, the description adds high-level semantic guidance that the schema alone doesn't provide: pass the output of score_portfolio directly into portfolio, or use organization plus initiatives; readiness sets capture rates and pacing; horizon_days splits the plan into three equal windows; and max_parallel_per_function caps simultaneous change per function per wave. This helps the agent make correct invocation decisions quickly.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource—turn a scored AI portfolio into three waves with gates over a configurable horizon—and clearly states what it does not do: it does not change verdicts or re-score the business case. It also distinguishes itself from score_portfolio and recommend_improvements by positioning the tool's role in the workflow.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly says 'CALL THIS after score_portfolio when the user asks what to stop, fund first, defer or fit into the next 90 days.' It also names recommend_improvements as a required prerequisite for Fix initiatives before wave placement is treated as permission to proceed, so the agent receives concrete when-to-use and when-not-to-proceed guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

validate_portfolioA
Read-onlyIdempotent
Inspect

Check whether a supplied AI BVF v1.0 portfolio document has the shape the portfolio tools require, before scoring, sequencing, storing or sharing it. CALL THIS when the document came from a file, another system or hand-built JSON and its structure is uncertain. It checks required fields, taxonomy values and 0–100 pillar ranges only; it does not judge the evidence or calculate a verdict. Pillars may be bare numbers or { value, confidence } objects, both are valid. Use assemble_portfolio when the user has a list of initiatives in conversation and needs the document built for them, score_portfolio when the document is already ready for verdicts, and sequence_portfolio only after its initiatives are scoreable. Returns valid=true or one error per failing JSON path. Pure deterministic validation — no network, auth, or side effects.

ParametersJSON Schema
NameRequiredDescriptionDefault
portfolioYesThe portfolio document as a JSON object following the AI BVF v1.0 schema: a top-level object with bvf_version, organization, and a non-empty "initiatives" array, each initiative carrying the same fields score_initiative expects (industry, revenue_eur, function, ai_tier, readiness, and a scores object with the four 0–100 pillars, each either a bare number or an object { value, confidence? }; both shapes pass). Checked structurally only — required fields present, correct types, enum values valid, pillar numbers in range; the pillar values are NOT scored or judged here (use score_initiative or score_portfolio for that). On failure, errors[] names each failing JSON path and the rule it broke.

Output Schema

ParametersJSON Schema
NameRequiredDescription
validYesTrue when the portfolio conforms to the schema.
errorsYesEmpty when valid; otherwise one entry per schema violation.
bvf_versionYesAI BVF protocol version validated against.

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Disclosure goes beyond annotations: states it is 'pure deterministic validation — no network, auth, or side effects', explains what it does not do ('does not judge the evidence or calculate a verdict'), and clarifies valid pillar shapes. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Description is concise, well-structured, and front-loaded. Every sentence adds unique value without repetition or fluff. The first sentence immediately states purpose and context.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given input schema details, output schema existence, and lack of output schema shown in input, the description covers validation behavior, return format (valid=true or errors), and scope. No gaps remain for the agent to select and invoke correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, but the description adds significant value: explains the portfolio document structure (bvf_version, organization, initiatives array), the validation scope (required fields, taxonomy, ranges), and the acceptable score shapes (bare number or object). This exceeds schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool validates an AI BVF v1.0 portfolio document with the verb 'check' and resource 'shape'. It explicitly distinguishes from siblings by naming assemble_portfolio, score_portfolio, and sequence_portfolio with their specific use cases.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit guidance: 'CALL THIS when the document came from a file, another system or hand-built JSON and its structure is uncertain.' Also specifies when to use alternatives (assemble_portfolio, score_portfolio, sequence_portfolio), giving clear when-not-to-use context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Frequently Asked Questions

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    A
    maintenance
    Adaptive Epistemic Triage & Recall Engine (AETRE) — Bayesian Value-of-Information (VOI) and queueing operations engine for academic peer review, grant study sections, and venture capital dealflow.
    4
    20
    AGPL 3.0
  • A
    license
    Not graded
    quality
    B
    maintenance
    Provides grounded investment decisions with evidence links and invalidation conditions, enabling users to review their portfolio through a structured decision process.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A4.7/5.0
Disambiguation4/5

Each tool has a clear trigger and purpose, with descriptions explicitly cross-referencing when to use which. However, assess_ai_initiative, score_initiative, and score_portfolio all produce verdicts and could be confused without carefully reading the canonical-vs-conversational distinction.

Naming Consistency5/5

All 13 tools follow a consistent snake_case verb_noun pattern: assemble, assess, calculate, diagnose, get, infer, list, map, recommend, score, sequence, validate. No mixed conventions or vague verbs.

Tool Count5/5

13 tools is well within the ideal range for a domain of this complexity. Each tool covers a distinct stage of the AI investment workflow—taxonomy, assessment, scoring, portfolio, sequencing, diagnostics—without redundancy or bloat.

Completeness5/5

The tool surface covers the full lifecycle: mapping input language, assembling and validating portfolio documents, assessing and scoring initiatives, diagnosing processes, measuring readiness, calculating pace-layer drag, recommending improvements, and sequencing portfolios. No obvious dead ends or missing operations for the stated domain.