bva-corpus
Server Details
900,000+ Board of Veterans' Appeals decisions: VA outcomes, grant rates, PACT Act, ratings.
- Status
- Healthy
- Uptime
- 99.9% over 38 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
TDQS
Scored across 10 tools
Each tool targets a distinct user need: eligibility, rating math, appeals, representation, claim process, and corpus search. Some functional overlap exists between find_similar_appeals, search_bva_decisions, and get_condition_report, but the detailed descriptions make their different intents clear.
All tool names follow a consistent verb_noun pattern in snake_case: check_, estimate_, explain_, find_, get_, list_, search_. This makes the set predictable and easy to navigate.
Ten tools is well-scoped for a veteran-focused corpus assistant. Each tool covers a meaningful capability without redundancy or bloat, and the count aligns with the breadth of the domain.
The tool set covers the veteran's journey: presumptive eligibility, rating calculation, claim process, appeal options, representative lookup, and researching BVA decisions. It also includes statistical/list/search utilities for exploring the corpus, leaving no obvious dead ends.
Available Tools
10 toolscheck_presumptive_conditionsCheck presumptive conditionsARead-onlyIdempotentInspect
Check whether a condition may be a PRESUMPTIVE service connection for a veteran — meaning VA presumes it is service-connected for qualifying service/exposure, so no medical nexus needs to be proven. Covers Agent Orange/herbicides, PACT Act burn pits & airborne hazards, Camp Lejeune water, ionizing radiation, and Gulf War illness. Returns who qualifies, the legal basis, representative conditions, and how many vetted BVA decisions granted on this basis. Lists are representative, not exhaustive; educational only.
| Name | Required | Description | Default |
|---|---|---|---|
| condition | No | Claimed condition, e.g. "type 2 diabetes", "asthma". | |
| exposure_basis | No | Known/suspected exposure, if any. |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | Tool-specific result payload. |
| link | Yes | Tagged deep link into the matching veterans-rights.com page. |
| disclaimer | Yes | Standing not-legal-advice / not-VA framing. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and idempotentHint; the description adds meaningful context about being educational, that lists are representative, and what return information includes, exceeding annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single paragraph of four sentences, front-loaded with main purpose, no waste, each sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the schema, annotations, output schema, and sibling tools, the description fully covers the tool's behavior, limitations, and usage context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the parameter descriptions are already clear. The tool description doesn't add significant new meaning beyond the schema's parameter descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool checks if a condition is a presumptive service connection, specifies covered exposure categories, and distinguishes it from sibling tools like list_conditions or search_bva_decisions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains when to use the tool (for presumptive conditions) and covers the scope, but does not explicitly state when not to use or name specific alternatives, though siblings imply context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
estimate_combined_ratingEstimate combined ratingARead-onlyIdempotentInspect
Calculate a veteran’s VA combined disability rating from individual ratings, using the official whole-person formula (38 CFR § 4.25) — ratings do NOT add (e.g. 50% + 30% combines to 65% and rounds to 70%, not 80%). Supports the bilateral factor for paired-limb disabilities (§ 4.26). Returns the exact combined value, the final rating rounded to the nearest 10, and a step-by-step breakdown. Deterministic estimate for education; VA controls the official rating.
| Name | Required | Description | Default |
|---|---|---|---|
| ratings | Yes | The individual disability ratings to combine. |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | Tool-specific result payload. |
| link | Yes | Tagged deep link into the matching veterans-rights.com page. |
| disclaimer | Yes | Standing not-legal-advice / not-VA framing. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond annotations (readOnlyHint, idempotentHint), the description adds that ratings do not add linearly, supports bilateral factor, returns step-by-step breakdown, and is a deterministic estimate. This provides useful behavioral context without contradicting annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is 3 sentences, front-loaded with purpose, then key behaviors, then disclaimer. Every sentence adds value with no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity, the description covers the algorithm, official reference, bilateral factor, output structure, and deterministic nature. An output schema exists, so return values are handled. Minor omission: max items limit is in schema but not in description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema is fully documented with descriptions for percent, label, and bilateral. The description adds context about the formula and rounding but does not add significant parameter-specific meaning beyond the schema. Baseline 3 is appropriate given high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool calculates a veteran's VA combined disability rating from individual ratings using the official formula. It specifies the verb 'calculate' and resource 'combined rating' and distinguishes itself from siblings which are about conditions, appeals, or reps, with no similar calculation tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for combining disability ratings with examples and formula details. It does not explicitly state when not to use or name alternatives, but given no similar siblings, the context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
explain_appeal_optionsExplain appeal optionsARead-onlyIdempotentInspect
Explain a veteran’s options after a VA decision under the Appeals Modernization Act (AMA): the three review lanes — Higher-Level Review, Supplemental Claim, and Board Appeal — and the three Board dockets (Direct Review, Evidence Submission, Hearing). Returns what each is, whether new evidence is allowed, who reviews it, when each is the best fit, and the general 1-year deadline. Optionally tailors a suggested starting point based on whether new evidence exists or a hearing is wanted. Educational only, not legal advice.
| Name | Required | Description | Default |
|---|---|---|---|
| wants_hearing | No | Does the veteran want a hearing before a judge? | |
| has_new_evidence | No | Does the veteran have new, relevant evidence to add? | |
| eligible_review_context_confirmed | No | Only true when the user explicitly confirms this is an initial claim or Supplemental Claim decision within one year and is not a contested claim. Never infer this from preferences. |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | Tool-specific result payload. |
| link | Yes | Tagged deep link into the matching veterans-rights.com page. |
| disclaimer | Yes | Standing not-legal-advice / not-VA framing. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark the tool as readOnly and idempotent, lowering the burden. The description adds meaningful behavioral context beyond that: it produces educational content, tailors a suggested starting point conditionally, and explicitly disclaims legal advice. This is useful and non-contradictory.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and information-dense, front-loading the core purpose before enumerating specific return content. Every clause earns its place: lanes, dockets, decision factors, tailoring behavior, and the educational disclaimer. It is organized for quick parsing by an agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no required parameters, a fully documented schema, and an output schema present, the description covers all necessary context for correct invocation. It explains what the tool returns, when it is appropriate, and the optional tailoring behavior. No critical operational gaps remain.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds value by explaining that wants_hearing and has_new_evidence influence a tailored suggested starting point, which goes beyond the raw schema field names. The third parameter, eligible_review_context_confirmed, is left to the schema, but the schema describes it thoroughly.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the specific verb 'Explain' with a precise resource: a veteran's options after a VA decision under the AMA. It lists the concrete content covered (three review lanes, three Board dockets, evidence rules, deadlines, best-fit guidance), which distinguishes it clearly from sibling tools like search_bva_decisions or get_claim_process.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description establishes clear context: this is for explaining appeal options after a VA decision under the AMA, and it explicitly notes the tool is educational only and not legal advice. It does not explicitly name sibling alternatives or exclusions, but the context is specific enough for an agent to select it appropriately among the listed siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_accredited_repFind an accredited representativeARead-onlyIdempotentInspect
Find a VA-accredited representative to help with a disability claim or appeal. By law only accredited people may represent veterans: VSO (Veterans Service Organization) representatives — who help FREE — plus accredited claims agents and accredited attorneys. This tool leads with free options first. Returns representatives filtered by state, city, type, and language. Attorneys/agents may only charge fees after an initial VA decision, per 38 CFR. Not legal advice; not affiliated with the VA.
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| limit | No | ||
| state | No | US state (2-letter code or full name). | |
| rep_type | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | Tool-specific result payload. |
| link | Yes | Tagged deep link into the matching veterans-rights.com page. |
| disclaimer | Yes | Standing not-legal-advice / not-VA framing. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses key behavioral traits: it leads with free options, filters by multiple criteria, and mentions fee regulations for attorneys/agents. This adds value beyond the annotations (readOnlyHint, idempotentHint) by explaining the ordering and legal constraints. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with three sentences: the first states the purpose, the second explains representative types, and the third adds legal context. It is front-loaded with the main action and avoids unnecessary details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is fairly complete for a read-only lookup tool. It covers purpose, filters, fee rules, and a disclaimer. The presence of an output schema reduces the need to describe return values. However, the inconsistency about 'language' filtering is a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds meaning by explaining the rep_type enum values and the fee implications for attorneys/agents. However, it mentions filtering by 'language' which is not a parameter in the input schema, causing confusion. Schema coverage is low (25%), so the description should compensate more fully, but it does not fully clarify all parameters (e.g., 'limit' is not explained).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: finding a VA-accredited representative for disability claims or appeals. It specifies the verb 'Find' and the resource 'representative', and distinguishes itself from sibling tools like 'check_presumptive_conditions' by focusing on locating a human representative. The mention of filtering by state, city, type, and language further clarifies the scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides context on when to use this tool: when one needs accredited representation for a claim or appeal. It explains the types of representatives and that free options are shown first. While it doesn't explicitly state when not to use it or contrast with siblings, the context is sufficient for typical use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_similar_appealsFind similar appealsARead-onlyIdempotentInspect
Find source-linked recent Board decisions mentioning one or more canonical conditions. Resolves exact names, slugs and aliases; inspects at most the 50 most recent indexed decisions per condition, then applies optional decision-level filters. Results are research examples, not a representative sample, complete filtered cohort, condition-specific outcomes or chances of winning. Grant rates are withheld. Verify each issue against the original Board decision.
| Name | Required | Description | Default |
|---|---|---|---|
| conditions | Yes | Canonical names, slugs or exact aliases, e.g. ["PTSD", "tinnitus"]. Matches ANY supplied condition. Use list_conditions to discover valid slugs. | |
| is_pact_act | No | ||
| sample_limit | No | ||
| exposure_basis | No | ||
| service_connection_theory | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | Tool-specific result payload. |
| link | Yes | Tagged deep link into the matching veterans-rights.com page. |
| disclaimer | Yes | Standing not-legal-advice / not-VA framing. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint/idempotentHint annotations, the description discloses several behavioral specifics: name/slug/alias resolution, a 50-decision-per-condition inspection cap, optional decision-level filtering, non-representative results, withheld grant rates, and the need to verify each issue against the original decision. No statement contradicts the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Each sentence adds distinct information: core operation, resolution and filtering behavior, then the limitations and verification caveats. The material is dense but front-loaded and contains no filler or restatement of the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with an output schema and read-only annotations, the description covers the operation, algorithm, limitations, and safety caveats well. It is slightly incomplete in not providing parameter-level detail for four optional filters and in not routing to sibling tools, but the enums and output schema reduce the impact of those omissions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 20%; the description compensates for the conditions parameter by explaining canonical names, slugs, aliases, and the per-condition inspection window. However, it only collectively calls the remaining parameters 'optional decision-level filters' and does not explain is_pact_act, sample_limit, exposure_basis, or service_connection_theory individually, leaving the enums to inference.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the operation (find source-linked recent Board decisions mentioning canonical conditions) and the resource/scope, so an agent understands the tool's core purpose. It does not explicitly name or contrast sibling tools such as search_bva_decisions or get_condition_report, so the differentiation is implied rather than stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit negative guidance: results are research examples, not a representative sample, complete filtered cohort, outcomes, or chances of winning, and grant rates are withheld. It lacks an explicit 'use X instead' routing to sibling tools, but the boundary of appropriate use is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_claim_processVA claim process guideARead-onlyIdempotentInspect
Plain-English guide to the 8 stages of a VA disability claim, from Intent to File through the C&P exam, the rating decision, the three AMA review lanes, the Board of Veterans’ Appeals, and the 120-day CAVC court deadline. Call with no arguments for an overview of all stages with typical durations; call with a stage number (1-8) for a deep dive on that stage: what to expect, how long it takes, the key tip, and do/don’t guidance. Use this whenever a veteran asks what happens after filing, where they are in the process, what a C&P exam is, or what to do at their current stage. Educational only, not legal advice.
| Name | Required | Description | Default |
|---|---|---|---|
| stage | No | Stage number 1-8 for a deep dive on one stage. Omit for an overview of all eight stages. |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | Tool-specific result payload. |
| link | Yes | Tagged deep link into the matching veterans-rights.com page. |
| disclaimer | Yes | Standing not-legal-advice / not-VA framing. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true and idempotentHint=true, so the tool is safe and idempotent. The description adds behavioral context: it is educational only, not legal advice, and provides overviews and deep dives with typical durations, tips, and do/don't guidance, which aligns with the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured paragraph that front-loads the purpose ('Plain-English guide to the 8 stages'), then explains usage patterns, and ends with a disclaimer. Every sentence is necessary; no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one optional parameter, read-only, idempotent, with output schema), the description covers the tool's purpose, usage, behavior, and limitations comprehensively. It includes educational-only disclaimer, satisfying completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with the parameter 'stage' having a description in the schema. The description adds meaning beyond the schema by explaining that omitting the parameter gives an overview and providing a stage number (1-8) gives a deep dive, including what to expect.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it provides a 'Plain-English guide to the 8 stages of a VA disability claim', using specific verbs ('guide') and resources ('8 stages'). It distinguishes from sibling tools (e.g., 'check_presumptive_conditions', 'estimate_combined_rating') by focusing on process overview and deep dives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use: 'whenever a veteran asks what happens after filing, where they are in the process, what a C&P exam is, or what to do at their current stage.' It also differentiates between calling with no arguments (overview) or with a stage number (deep dive). No explicit when-not-to-use, but the context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_condition_reportCondition reportARead-onlyIdempotentInspect
For a single condition (by slug like "ptsd" or "sleep-apnea", or by common name/alias like "PTSD", "acid reflux", "ringing in the ears"), return a full corpus-grounded report: how Board decisions mentioning it turned out (whole-decision granted / partly granted / remanded / denied), decision-level service-connection theory labels, an explicit decision-level attribution limitation and a notice that unverified extracted ratings are withheld, and — when available — a plain-English, source-cited summary of how the VA defines and rates the condition. The richest single call for "tell me about VA claims for ". Educational statistics, not a prediction or legal advice.
| Name | Required | Description | Default |
|---|---|---|---|
| condition | Yes | Condition slug (e.g. "ptsd", "sleep-apnea") or a common name/alias (e.g. "PTSD", "acid reflux"). | |
| example_limit | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | Tool-specific result payload. |
| link | Yes | Tagged deep link into the matching veterans-rights.com page. |
| disclaimer | Yes | Standing not-legal-advice / not-VA framing. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and idempotentHint, and the description adds substantial behavioral context beyond those: the report is corpus-grounded, includes a decision-level attribution limitation, withholds unverified extracted ratings, is educational (not prediction or legal advice), and may include source-cited summaries. These are valuable disclosures that help an agent set user expectations and understand limitations. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense yet efficient, packing a high amount of meaningful information into a compact structure. It front-loads the core action and result, then enumerates contents and caveats. Every clause adds value: scoping, content list, limitation, withheld data, source-cited summary, and the educational/prediction caveat. No redundant or filler words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so the description does not need to detail return fields. It covers the tool's purpose, content, limitations, and usage context well. The only notable gap is that example_limit is not explained anywhere, though it is optional with a default and the output schema may clarify its effect. For a complex report tool, the description is otherwise very complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 50% (condition has a description, example_limit does not). The description repeats the condition parameter's slug/alias semantics but adds nothing new for either parameter. Crucially, it does not explain what example_limit controls (e.g., number of examples or case listings), leaving a gap that the schema also fails to fill. Since coverage is low, the description should compensate but does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'return a full corpus-grounded report' for a single condition. It enumerates the report's components (outcomes, theory labels, attribution limitation, withheld ratings, source-cited summary) and explicitly differentiates from siblings by calling itself 'The richest single call for "tell me about VA claims for <condition>"'. This leaves no ambiguity about what the tool does or how it differs from sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a clear usage context ('The richest single call for ...') which implies using this tool when a comprehensive condition overview is needed. However, it does not explicitly name alternative tools or state when not to use it, e.g., for searching individual decisions. This falls just short of explicit when/when-not guidance, but the context is clear enough for an agent to infer appropriate use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_corpus_statsCorpus statisticsARead-onlyIdempotentInspect
Return live statistics about the Veterans’ Rights corpus: the number of vetted Board of Veterans’ Appeals decisions analyzed, the distribution of outcomes (granted / denied / remanded / mixed), the date range the decisions cover, and the number of accredited representatives in the directory. Use this to establish the scale of the data behind an answer, or when someone asks "how much data do you have / how current is it". Counts reflect only quality-filtered, publicly visible decisions.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | Tool-specific result payload. |
| link | Yes | Tagged deep link into the matching veterans-rights.com page. |
| disclaimer | Yes | Standing not-legal-advice / not-VA framing. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint=true and idempotentHint=true. The description adds context that counts reflect only quality-filtered, publicly visible decisions, which is a useful behavioral nuance 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three concise sentences. The first lists return values, the second provides usage guidance, the third adds a qualifier. No wasted words, all information is relevant and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description fully covers the tool's purpose and output for a zero-parameter tool. It lists all returned statistics and adds a qualifier about data filtering. With an output schema expected, the description is complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, so the baseline is 4. The description does not need to add parameter information; it appropriately focuses on the output and usage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns live corpus statistics and lists specific data points (number of decisions, outcome distribution, date range, accredited representatives). It distinguishes itself from siblings by providing a general overview rather than specific case processing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says when to use: 'to establish the scale of the data behind an answer, or when someone asks how much data do you have / how current is it.' It does not mention when not to use or alternatives, but sibling context makes differentiation clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_conditionsList conditionsARead-onlyIdempotentInspect
List the standardized conditions the Veterans’ Rights corpus organizes Board of Veterans’ Appeals decisions under, each with the number of vetted decisions, grants, and remands (full-corpus counts) and the body-system category. Use this to discover which conditions have data, to get the exact slug for get_condition_report, or to see which conditions occur in this collection. Counts describe whole decisions mentioning each condition, not condition-specific wins or individual chances. Counts reflect only quality-filtered, publicly visible decisions.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | Tool-specific result payload. |
| link | Yes | Tagged deep link into the matching veterans-rights.com page. |
| disclaimer | Yes | Standing not-legal-advice / not-VA framing. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and idempotentHint, but the description adds crucial behavioral nuance: counts represent whole decisions, not condition-specific wins, and counts reflect only quality-filtered, publicly visible decisions. This goes beyond the annotations and clarifies data semantics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured: main purpose in the first sentence, followed by usage guidance, then important caveats about count semantics and filtering. Every sentence adds value, and the length is appropriate for the tool's complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no parameters and an output schema exists (signaled), the description covers all necessary context: what data is returned, the key caveat about counts, and how it relates to get_condition_report. Nothing essential is missing for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With zero parameters, the baseline is 4. The description doesn't need to explain parameters, but it does describe the output fields (counts, grants, remands, body-system category), which aids the agent even though no inputs are required.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('List') and names the exact resource: standardized conditions with counts and body-system categories. It clearly states what the tool does and implicitly differentiates itself from the sibling get_condition_report, making it easy for an agent to understand its role.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use the tool: 'discover which conditions have data, to get the exact slug for get_condition_report, or to see which conditions occur in this collection.' This provides clear context and references the alternative tool, leaving no ambiguity about selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_bva_decisionsSearch BVA decisionsARead-onlyIdempotentInspect
Search real U.S. Board of Veterans’ Appeals (BVA) decisions by keyword, claimed condition, disposition (granted/denied/remanded), toxic-exposure basis, service-connection theory, PACT Act, and date. Returns vetted decisions with a plain-English summary, the deciding factor, and a link to the full decision. Use to ground any claim about how VA appeals have actually been decided.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | No | Free-text search over the plain-English decision summary. | |
| date_to | No | ||
| condition | No | A claimed condition, e.g. "tinnitus", "PTSD". | |
| date_from | No | ||
| disposition | No | ||
| is_pact_act | No | ||
| exposure_basis | No | ||
| service_connection_theory | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | Tool-specific result payload. |
| link | Yes | Tagged deep link into the matching veterans-rights.com page. |
| disclaimer | Yes | Standing not-legal-advice / not-VA framing. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true, establishing the safety profile. The description adds that results are 'vetted decisions with a plain-English summary, the deciding factor, and a link', adding context beyond annotations but not contradicting them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences, front-loading the action ('Search real...') and listing filters efficiently. Every phrase adds value with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (9 parameters, 22% schema coverage), the description outlines the key return fields (summary, factor, link) and the presence of an output schema reduces burden. However, it omits important behavioral details like pagination or result limits beyond the limit parameter.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 22%, and the description does not add detailed parameter semantics beyond listing filter categories (e.g., 'keyword, claimed condition, disposition'). For the many parameters without schema descriptions, the description offers no additional guidance on format, syntax, or constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool searches real U.S. BVA decisions by multiple criteria and lists specific filters. It distinguishes from sibling tools like find_similar_appeals or get_corpus_stats by focusing on searching actual decisions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says 'Use to ground any claim about how VA appeals have actually been decided.' This provides clear context for when to use the tool, though it doesn't explicitly mention when not to use it or compare to alternative tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
- Changed
find_similar_appeals7 fields changed- removed
Input schema / properties / conditions / defaultRemoved value: -[] - changed
Input schema / properties / conditions / descriptionPrevious value: -"Claimed conditions, e.g. [\"PTSD\",\"tinnitus\"]. The strongest similarity signal."New value: +"Canonical names, slugs or exact aliases, e.g. [\"PTSD\", \"tinnitus\"]. Matches ANY supplied condition. Use list_conditions to discover valid slugs." - added
Input schema / properties / conditions / items / maxLengthAdded value: +80 - added
Input schema / properties / conditions / items / minLengthAdded value: +1 - added
Input schema / properties / conditions / maxItemsAdded value: +5 - added
Input schema / properties / conditions / minItemsAdded value: +1 - changed
Input schema / requiredPrevious value: -[]New value: +[ + "conditions" +]
1 tool update
- Changed
explain_appeal_options1 field changed- added
Input schema / properties / eligible_review_context_confirmedAdded value: +{ + "description": "Only true when the user explicitly confirms this is an initial claim or Supplemental Claim decision within one year and is not a contested claim. Never infer this from preferences.", + "type": "boolean" +}
3 tool updates
- Changed
find_accredited_rep1 field changed- changed
Input schema / requiredPrevious value: -[ - "limit" -]New value: +[]
- Changed
find_similar_appeals1 field changed- changed
Input schema / requiredPrevious value: -[ - "conditions" -]New value: +[]
- Changed
search_bva_decisions1 field changed- changed
Input schema / requiredPrevious value: -[ - "limit" -]New value: +[]
1 tool update
- Changed
find_accredited_rep1 field changed- removed
Input schema / properties / languageRemoved value: -{ - "maxLength": 40, - "type": "string" -}
10 tool updates
- Changed
check_presumptive_conditions1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result payload.", + "type": "object" + }, + "disclaimer": { + "description": "Standing not-legal-advice / not-VA framing.", + "type": "string" + }, + "link": { + "description": "Tagged deep link into the matching veterans-rights.com page.", + "type": "string" + } + }, + "required": [ + "data", + "link", + "disclaimer" + ], + "type": "object" +}
- Changed
estimate_combined_rating1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result payload.", + "type": "object" + }, + "disclaimer": { + "description": "Standing not-legal-advice / not-VA framing.", + "type": "string" + }, + "link": { + "description": "Tagged deep link into the matching veterans-rights.com page.", + "type": "string" + } + }, + "required": [ + "data", + "link", + "disclaimer" + ], + "type": "object" +}
- Changed
explain_appeal_options1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result payload.", + "type": "object" + }, + "disclaimer": { + "description": "Standing not-legal-advice / not-VA framing.", + "type": "string" + }, + "link": { + "description": "Tagged deep link into the matching veterans-rights.com page.", + "type": "string" + } + }, + "required": [ + "data", + "link", + "disclaimer" + ], + "type": "object" +}
- Changed
find_accredited_rep1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result payload.", + "type": "object" + }, + "disclaimer": { + "description": "Standing not-legal-advice / not-VA framing.", + "type": "string" + }, + "link": { + "description": "Tagged deep link into the matching veterans-rights.com page.", + "type": "string" + } + }, + "required": [ + "data", + "link", + "disclaimer" + ], + "type": "object" +}
- Changed
find_similar_appeals1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result payload.", + "type": "object" + }, + "disclaimer": { + "description": "Standing not-legal-advice / not-VA framing.", + "type": "string" + }, + "link": { + "description": "Tagged deep link into the matching veterans-rights.com page.", + "type": "string" + } + }, + "required": [ + "data", + "link", + "disclaimer" + ], + "type": "object" +}
- Changed
get_claim_process1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result payload.", + "type": "object" + }, + "disclaimer": { + "description": "Standing not-legal-advice / not-VA framing.", + "type": "string" + }, + "link": { + "description": "Tagged deep link into the matching veterans-rights.com page.", + "type": "string" + } + }, + "required": [ + "data", + "link", + "disclaimer" + ], + "type": "object" +}
- Changed
get_condition_report1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result payload.", + "type": "object" + }, + "disclaimer": { + "description": "Standing not-legal-advice / not-VA framing.", + "type": "string" + }, + "link": { + "description": "Tagged deep link into the matching veterans-rights.com page.", + "type": "string" + } + }, + "required": [ + "data", + "link", + "disclaimer" + ], + "type": "object" +}
- Changed
get_corpus_stats1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result payload.", + "type": "object" + }, + "disclaimer": { + "description": "Standing not-legal-advice / not-VA framing.", + "type": "string" + }, + "link": { + "description": "Tagged deep link into the matching veterans-rights.com page.", + "type": "string" + } + }, + "required": [ + "data", + "link", + "disclaimer" + ], + "type": "object" +}
- Changed
list_conditions1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result payload.", + "type": "object" + }, + "disclaimer": { + "description": "Standing not-legal-advice / not-VA framing.", + "type": "string" + }, + "link": { + "description": "Tagged deep link into the matching veterans-rights.com page.", + "type": "string" + } + }, + "required": [ + "data", + "link", + "disclaimer" + ], + "type": "object" +}
- Changed
search_bva_decisions1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result payload.", + "type": "object" + }, + "disclaimer": { + "description": "Standing not-legal-advice / not-VA framing.", + "type": "string" + }, + "link": { + "description": "Tagged deep link into the matching veterans-rights.com page.", + "type": "string" + } + }, + "required": [ + "data", + "link", + "disclaimer" + ], + "type": "object" +}
2 tool updates
- Added
get_condition_report - Added
list_conditions
8 tool updates
- First observed
check_presumptive_conditions - First observed
estimate_combined_rating - First observed
explain_appeal_options - First observed
find_accredited_rep - First observed
find_similar_appeals - First observed
get_claim_process - First observed
get_corpus_stats - First observed
search_bva_decisions
Related MCP Connectors
Real Board of Veterans' Appeals outcome data for VA disability claims. No key needed.
VA disability rating and compensation calculations, condition lookup, and 38 CFR authority search
Search 13,000+ US vaccine court (VICP) decisions: cases, court text, statistics, attorneys. Free.
Insurer denial rates, appeal outcomes by treatment and condition, and appeal rights lookups.
Related MCP Servers
- FlicenseNot gradedqualityCmaintenanceEnables users to search and retrieve over 50,000 European Patent Office Boards of Appeal decisions using keyword full-text and semantic vector search, plus citation graph lookups for EPC provisions and precedent decisions.-
- AlicenseAqualityDmaintenanceEnables AI assistants to analyze insurance denial appeals, providing win probabilities, appeal strategies, payer behavioral intelligence, and regulatory leverage for any CPT code.528 npmMIT
- AlicenseNot gradedqualityCmaintenanceEnables querying GAO bid-protest decisions, including recent decisions filtered by outcome, retrieval of a single decision by B-number, search by protester, and coverage statistics.MIT
- AlicenseAqualityBmaintenanceEnables high-performance access to USPTO Final Petition Decisions API with intelligent context reduction (80-99%), customizable fields, hybrid document extraction (free PyPDF2 + Mistral OCR fallback), and seamless cross-MCP integration for complete patent lifecycle analysis including prosecution history, PTAB challenges, and citation intelligence.85MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.