Skip to main content
Glama
kruthin-daacs

Vedha JSON MCP

Vedha JSON MCP

A fixture-backed, read-only MCP plus Claude skills for discovering Vedha access patterns before connecting a production data backend.

Architecture

  • fixtures/mbr_review.json is the recipe: six fixed review steps and declared semantic reads.

  • The vedha_get_atlas_review MCP tool is the fact layer: it resolves recipe reads from JSON fixtures and returns evidence IDs.

  • skills/mbr-view/ is the judgment layer: it selects typed operations from Atomic Insight Library v4 and frames the review.

  • scripts/render-report.mjs is the deterministic presentation layer: it renders a validated review-object to HTML.

  • skills/business-map/ owns value-free Atlas orientation and semantic-model presentation.

Related MCP server: Claude Code Codegraph Harness

Setup

Requires Node.js 20 or newer.

npm install
npm run build
npm test

Test as a local Claude Code plugin:

claude --plugin-dir .

Then ask Claude to run a scenario, for example:

/vedha-playground:analyze Run scenario T1: why is mid-market churning?

For an MBR demo:

1. Show me the business map.
2. Run my business review.
3. Show me the semantic model behind this. (Optional.)
4. Go ahead.

For Cowork, build the server first, then install this directory as a custom plugin in Claude Desktop. Local plugin MCP servers require the desktop application.

Boundaries

  • fixtures/ is source evidence and is read only through MCP tools.

  • skills/analyze/ owns scope routing, skills/business-map/ owns orientation, and skills/mbr-view/ owns the approval-gated MBR judgment flow. None contains business facts.

  • runs/ contains generated request.json, result.json, audit.json, and index.html.

  • The MCP accepts known canvas IDs and never accepts arbitrary filesystem paths.

MCP tools

  • vedha_list_contexts — the DataOrbit altitude/workflow/flow tree

  • vedha_get_semantic_model — value-free labels for entities, activities, goal metrics, dimensions, and input measures

  • vedha_get_review_plan — query-free MBR questions and semantic-model scope for human approval

  • vedha_get_canvas — one workflow's semantic model (revenue_accounting, cash_accounting, new_business, retention, expansion, churn_engine)

  • vedha_get_diagnosis — guardrails + a dimension breakdown, within one canvas (Thread scope)

  • vedha_get_atlas_review — deterministically executes the mbr_review recipe and returns resolved cross-canvas facts (Atlas scope)

  • vedha_get_audit — replay which canvases/route produced a prior result

MBR validation and rendering

npm run validate:review -- examples/mbr-review-object.json
npm run render -- examples/mbr-review-object.json runs/A1/index.html

schemas/review-object.schema.json defines the six-section MBR contract. schemas/atomic-insight.schema.json defines the supported v4 atom payloads, and scripts/lib/review-object.mjs enforces ordering and computation invariants before HTML is written.

Internal recipe section keys and Atomic Insight Library IDs remain in JSON for validation, but neither is rendered in user-facing HTML.

json-mcp

Available Tools

5 tools
vedha_get_atlas_reviewRun a Vedha Atlas review recipeA
Read-onlyIdempotent

Deterministically compose an Atlas-level review by walking a named recipe's steps, resolving each step's declared field reads against the named canvases. Use for cross-canvas/cross-altitude reviews (e.g. the Monthly Business Review). Fill each step's emits_template from the returned resolved values only — never invent a value not present in resolved.

ParametersJSON Schema
NameRequiredDescriptionDefault
stepNo
skill_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, openWorldHint, and idempotentHint. The description adds valuable context: the review is 'deterministically' composed, field reads are resolved against named canvases, and the agent must never invent a value not present in `resolved`. This is meaningful behavior disclosure beyond 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.

Conciseness5/5

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

The description is compact and front-loaded with the core operation. Each sentence earns its place: the operation, the use case, and the critical no-invention instruction. There is no redundancy or filler.

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

Completeness3/5

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

The output schema and annotations cover return shape and safety, and the description gives strong procedural guidance. However, the unexplained `step` parameter and undefined 'named canvases' leave enough ambiguity that an agent may not know the full valid invocation space.

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

Parameters2/5

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

Schema description coverage is 0%, and the description never explicitly explains `step` or `skill_id`. It refers vaguely to 'named recipe' and 'steps', but does not clarify whether `step` selects a single step or whether omitting it runs all steps. This is a significant gap for confident invocation.

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 operation: 'compose an Atlas-level review by walking a named recipe's steps' and identifies the scope as cross-canvas/cross-altitude reviews. It differentiates itself from sibling tools like vedha_get_canvas or vedha_get_diagnosis with the example 'Monthly Business Review'.

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

Usage Guidelines4/5

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

The description explicitly says to use the tool for cross-canvas/cross-altitude reviews, giving a concrete example. It does not explicitly state when not to use it or name alternative sibling tools, so it stops short of full exclusionary guidance.

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

vedha_get_auditGet result auditA
Read-onlyIdempotent

Explain which canvases and route produced a result returned earlier in this session.

ParametersJSON Schema
NameRequiredDescriptionDefault
result_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true, covering safety and repeatability. The description adds the session-scoping constraint ('result returned earlier in this session'), which is useful behavioral context, but it does not disclose additional traits beyond what annotations already convey.

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?

A single, front-loaded sentence contains all necessary information with no filler. Every word contributes to explaining the tool's scope and purpose.

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

Completeness4/5

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

For a simple one-parameter, read-only tool with an output schema present, the description is nearly complete. It explains the purpose, the session constraint, and implies the input. It does not mention failure modes or how to obtain result_id, but these are minor given the tool's simplicity.

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 description coverage is 0%, so the description must compensate. It indirectly indicates that result_id refers to a result from earlier in the session, but it never explicitly says 'provide the result_id of that result'. The parameter's meaning is partly inferable but not fully documented.

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 action ('Explain') and a specific resource ('which canvases and route produced a result'). It clearly distinguishes this audit tool from siblings like vedha_get_canvas or vedha_get_diagnosis by focusing on result provenance within the session.

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

Usage Guidelines4/5

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

The description gives clear context for when to use the tool: when a result was returned earlier in this session and the agent needs to know its origin. It does not explicitly contrast with sibling alternatives, but the session-scoped result auditing is a distinct and well-specified use case.

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

vedha_get_canvasGet a Vedha canvasA
Read-onlyIdempotent

Read one workflow's bounded semantic model (goal, drivers, inputs, guardrails, funnel, entities, dimensions). Optionally narrow to one dimension and value.

ParametersJSON Schema
NameRequiredDescriptionDefault
valueNo
canvas_idYes
dimensionNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.6/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, so the 'Read' verb aligns with those. The description adds behavioral context beyond annotations by calling the model 'bounded' and by disclosing that results can be narrowed to one dimension and value. No contradiction with annotations is present.

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 exactly two sentences with no wasted words. The primary action and resource are front-loaded, and the optionality is stated in one compact follow-up sentence. The parenthetical enumeration adds useful content without bloat.

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

Completeness4/5

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

For a simple read-only tool, the description covers the core behavior, the bounded scope, and optional filtering. The output schema and annotations handle return format and safety profile. The only notable gap is the unexplained required canvas_id parameter, but the schema enum provides allowed values, so overall completeness is adequate.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate by explaining parameters. It mentions 'dimension' and 'value' in the optional narrowing clause, giving those some meaning. However, the required canvas_id parameter is never described or mapped to 'one workflow,' leaving a significant gap for the agent.

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

Purpose4/5

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

The description uses the specific verb 'Read' and identifies the resource as 'one workflow's bounded semantic model' with a concrete list of contents (goal, drivers, inputs, guardrails, funnel, entities, dimensions). This clearly distinguishes it from the sibling audit/diagnosis tools by the nature of the data returned. It doesn't explicitly name a sibling to differentiate, so it misses the top score.

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

Usage Guidelines3/5

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

The description implies usage when you need a workflow's semantic canvas model, and the optional narrowing clause hints at filtering behavior. However, there is no explicit statement about when to choose this tool over vedha_get_audit or vedha_get_diagnosis, nor any mention of exclusions or prerequisites. Guidance is only implicit.

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

vedha_get_diagnosisDiagnose within a Vedha canvasA
Read-onlyIdempotent

Return the guardrails and a dimension breakdown for one canvas, to support a causal 'why' question. Thread-scoped: stays inside one canvas. Never use it for cross-canvas questions — escalate to vedha_get_atlas_review instead.

ParametersJSON Schema
NameRequiredDescriptionDefault
valueNo
canvas_idYes
dimensionYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare read-only and idempotent behavior, and the description does not contradict them. It adds useful behavioral context beyond the annotations: the tool is thread-scoped, stays inside one canvas, and returns guardrails plus a dimension breakdown.

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 short and front-loaded, with the core behavior stated first and the alternative routing stated second. Minor redundancy exists between 'for one canvas', 'Thread-scoped: stays inside one canvas', and 'Never use it for cross-canvas questions', but the structure remains efficient.

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

Completeness3/5

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

The description does a good job with when-to-use and scoping, and an output schema exists to cover return values. However, with 0% schema description coverage and three parameters, the lack of detail about the 'dimension' and optional 'value' parameters leaves a meaningful gap.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate, but it only loosely references 'canvas' and 'dimension'. It does not explain the optional 'value' parameter, define what 'dimension' should be, or clarify how canvas_id relates to the guardrails and breakdown.

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 ('Return') and resource ('guardrails and a dimension breakdown for one canvas'), and ties it to a causal 'why' question. It also distinguishes itself from siblings by explicitly naming the cross-canvas tool, vedha_get_atlas_review.

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 clearly says when to use the tool: for a causal 'why' question within a single canvas. It also gives an explicit exclusion and alternative: never use it for cross-canvas questions, escalate to vedha_get_atlas_review instead.

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

vedha_list_contextsList Vedha contextsA
Read-onlyIdempotent

List the altitudes, workflows, and flows of the DataOrbit operating model (Atlas scope map). Call this first when scope is ambiguous.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true, so the safety profile is covered. The description adds the behavioral nuance that this is a preliminary scoping call but does not describe pagination, result size, ordering, or any side effects. With strong annotations and an output schema present, a 3 is appropriate rather than lower.

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 a single, dense sentence that front-loads the verb and object, then immediately provides the key usage cue. Every word earns its place; there is no filler or repetition of schema/annotation information.

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 zero-parameter, read-only, idempotent tool with an output schema, the description is complete: it names the resource, indicates the return scope, and states when to invoke it. Nothing an agent needs to decide whether to call this tool is missing.

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 tool takes zero parameters, so the description does not need to explain parameter meanings. The schema coverage is effectively 100% (empty schema fully documented), and the baseline for zero-parameter tools is 4. The description even adds semantic context about what the returned 'contexts' refer to.

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 uses a specific verb ('List') and resource ('altitudes, workflows, and flows of the DataOrbit operating model'), clarifying both the action and the object. It also slots the tool relative to its get_* siblings by framing this as the scope-map listing entry point, so an agent can distinguish it without inspecting other tools.

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

Usage Guidelines4/5

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

The description explicitly tells the agent when to call this tool: 'Call this first when scope is ambiguous.' This is clear, actionable context for a common decision point. It does not enumerate exclusions or explicitly name alternatives, so it falls short of a full when-to-use/when-not-to-use guide.

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. 5 tool updatesv0.1.0
    • First observedvedha_get_atlas_review
    • First observedvedha_get_audit
    • First observedvedha_get_canvas
    • First observedvedha_get_diagnosis
    • First observedvedha_list_contexts

TDQS

A4.2/5.0

Scored across 5 tools

Disambiguation5/5

Each tool targets a distinct operation: listing scope, reading a canvas, diagnosing a single canvas, composing a cross-canvas review, and explaining prior results. The descriptions reinforce boundaries, especially between vedha_get_diagnosis and vedha_get_atlas_review.

Naming Consistency5/5

All tools follow a clear vedha_<verb>_<noun> pattern, with vedha_get_* for resource retrieval and vedha_list_* for enumerating contexts. The naming is uniform and predictable.

Tool Count5/5

Five tools is well-scoped for this server's read-only, explanation-oriented purpose. Each tool covers a distinct aspect of the domain without redundancy or unnecessary bulk.

Completeness5/5

The tool surface covers the full workflow: scoping, single-canvas reading, single-canvas diagnosis, cross-canvas review, and audit of prior answers. There are no obvious dead ends or significant missing operations for the stated domain.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    B
    maintenance
    Enables read-only access to the AtlasRepo decision catalog, allowing users to search for evidence-backed projects, tools, and repository decision records without loading the full catalog.
    3
    7 npm
    2
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables bounded, read-only code-graph search, neighbor/impact tracing, and architecture queries through a local offline gateway, while keeping source contents and mutation operations out of model-callable tools.
    Apache 2.0
  • F
    license
    A
    quality
    B
    maintenance
    Enables local, read-only viewing of brokerage accounts, holdings, and transactions using fixture data without real credentials.
    3
    -
  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables read-only inspection of ad-bid recommendations, scenario analysis, and explanation of threshold decisions using synthetic fixtures, without requiring live ad accounts or credentials.
    -