Skip to main content
Glama

score_portfolio

Read-onlyIdempotent

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.

Input Schema

TableJSON 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

TableJSON Schema
NameRequiredDescriptionDefault
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.

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.