Skip to main content
Glama

Vastu Shastra MCP Server by RoxyAPI

Analyse a plot - Vastu land and site assessment API

post_vastu_plot
Read-only

Vastu plot analysis from typed geometry: send the outline, the facing, where the ground falls and where the water is, and the API returns a verdict on the shape, the proportion, the ground level under two schools, each corner extension and cut, the road and the water. Every verdict names the chapter and verse behind it, or says plainly that it is convention, which matters because the ground level verses and the widely taught modern rule genuinely disagree. Built for listing and land assessment tools, practitioner site reports and buyer facing checks.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
cutsNoQuarters where a corner is missing from the rectangle. Every cut verdict is convention, for the same reason as the extensions.
langNoResponse language (BCP 47). Supported: en, tr, de, es, hi, pt, fr, ru, zh-Hans, zh-Hant. Defaults to en. Coverage varies by domain, and a field with no translation in the requested language returns English.en
plotYesThe ground the mandala is projected over. Send width and depth for a compass-aligned rectangle, or polygon for anything else. The x axis runs east and the y axis north, and the mandala is aligned to the compass rather than to the building.
roadNoWhich side a road runs along. The verdict is convention: the chapter states no rule for the side a road is on, only that an obstruction facing the gate brings misery unless it lies beyond twice the height of the house.
waterNoWhich quarter holds standing water, a well, a tank or a sump. This one IS sourced: 53.119 gives a distinct effect for each of the eight directions and calls only the north and the north-east favourable.
facingNoDirection the front of the house looks out toward, one of the eight compass sectors. Case and punctuation are folded, so north-east, northeast and NorthEast all resolve. Send this or facingDegrees, never both.
compactNoSet true for the same data in a compact shape: arrays of same-shaped objects arrive columnar as {"__cols":[names],"__rows":[[values]]}. Lossless, typically 40 to 52 percent fewer tokens.
extensionsNoQuarters where the plot bulges out beyond a rectangle. Every extension verdict is convention: the chapter states no rule for a named corner and the nearest verses speak of a figure with a limb wanting.
slopeSchoolNoWhich reading of the ground level to lead with. brihat-samhita applies verses 115 to 117 as written, where a higher north-east is a loss, a higher east or north is permitted when level ground is unavoidable and still carries its stated cost, and a higher south or west carries its cost with no allowance. modern applies the widely taught rule that the north-east must be the lowest point, which agrees with verse 115 and contradicts the verse 116 allowance. Both readings are returned whichever you choose, so the disagreement is visible rather than hidden. Defaults to brihat-samhita.brihat-samhita
facingDegreesNoDirection the front of the house looks out toward, as a compass bearing in degrees clockwise from true north, measured looking OUT from the building. The same convention the feng shui facing endpoints use, so a bearing works unchanged across the two domains. Send this or facing, never both.
slopeLowDirectionNoWhich quarter of the plot the ground falls toward, that is where the LOW point is. The chapter states its rules in terms of the side that stands HIGHER, so the opposite of this value is what the verses are read against, and both are returned. Omit it if the ground is level.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
cutsYes
roadNo
ratioYes
shapeYes
slopeNo
waterNo
sourcesYes
dimensionsYes
extensionsYes
conventionsYes
orientationYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedInput schema / examples
      Added value: +[
      +  {
      +    "plot": {
      +      "depth": 40,
      +      "unit": "feet",
      +      "width": 30
      +    }
      +  }
      +]
    • addedInput schema / properties / plot / example
      Added value: +{
      +  "depth": 40,
      +  "unit": "feet",
      +  "width": 30
      +}
  2. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "conventions": {
      +      "properties": {
      +        "slopeSchool": {
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "slopeSchool"
      +      ],
      +      "type": "object"
      +    },
      +    "cuts": {
      +      "items": {
      +        "properties": {
      +          "auspiciousness": {
      +            "type": "string"
      +          },
      +          "direction": {
      +            "type": "string"
      +          },
      +          "effect": {
      +            "type": "string"
      +          },
      +          "source": {
      +            "properties": {
      +              "basis": {
      +                "type": "string"
      +              },
      +              "chapter": {
      +                "type": "number"
      +              },
      +              "publicDomain": {
      +                "type": "boolean"
      +              },
      +              "text": {
      +                "type": "string"
      +              },
      +              "translation": {
      +                "type": "string"
      +              },
      +              "verse": {
      +                "type": "string"
      +              },
      +              "year": {
      +                "type": "number"
      +              }
      +            },
      +            "required": [
      +              "text"
      +            ],
      +            "type": "object"
      +          }
      +        },
      +        "required": [
      +          "direction",
      +          "auspiciousness",
      +          "effect",
      +          "source"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "dimensions": {
      +      "properties": {
      +        "area": {
      +          "type": "number"
      +        },
      +        "breadth": {
      +          "type": "number"
      +        },
      +        "length": {
      +          "type": "number"
      +        },
      +        "ratio": {
      +          "type": "number"
      +        }
      +      },
      +      "required": [
      +        "length",
      +        "breadth",
      +        "area",
      +        "ratio"
      +      ],
      +      "type": "object"
      +    },
      +    "extensions": {
      +      "items": {
      +        "properties": {
      +          "auspiciousness": {
      +            "type": "string"
      +          },
      +          "direction": {
      +            "type": "string"
      +          },
      +          "effect": {
      +            "type": "string"
      +          },
      +          "source": {
      +            "properties": {
      +              "basis": {
      +                "type": "string"
      +              },
      +              "chapter": {
      +                "type": "number"
      +              },
      +              "publicDomain": {
      +                "type": "boolean"
      +              },
      +              "text": {
      +                "type": "string"
      +              },
      +              "translation": {
      +                "type": "string"
      +              },
      +              "verse": {
      +                "type": "string"
      +              },
      +              "year": {
      +                "type": "number"
      +              }
      +            },
      +            "required": [
      +              "text"
      +            ],
      +            "type": "object"
      +          }
      +        },
      +        "required": [
      +          "direction",
      +          "auspiciousness",
      +          "effect",
      +          "source"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "orientation": {
      +      "properties": {
      +        "facing": {
      +          "type": "string"
      +        },
      +        "facingDegrees": {
      +          "type": "number"
      +        },
      +        "mountain": {
      +          "type": "string"
      +        },
      +        "sitting": {
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "facing",
      +        "sitting"
      +      ],
      +      "type": "object"
      +    },
      +    "ratio": {
      +      "properties": {
      +        "effect": {
      +          "type": "string"
      +        },
      +        "source": {
      +          "properties": {
      +            "basis": {
      +              "type": "string"
      +            },
      +            "chapter": {
      +              "type": "number"
      +            },
      +            "publicDomain": {
      +              "type": "boolean"
      +            },
      +            "text": {
      +              "type": "string"
      +            },
      +            "translation": {
      +              "type": "string"
      +            },
      +            "verse": {
      +              "type": "string"
      +            },
      +            "year": {
      +              "type": "number"
      +            }
      +          },
      +          "required": [
      +            "text"
      +          ],
      +          "type": "object"
      +        },
      +        "verdict": {
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "verdict",
      +        "effect",
      +        "source"
      +      ],
      +      "type": "object"
      +    },
      +    "road": {
      +      "properties": {
      +        "auspiciousness": {
      +          "type": "string"
      +        },
      +        "direction": {
      +          "type": "string"
      +        },
      +        "effect": {
      +          "type": "string"
      +        },
      +        "source": {
      +          "properties": {
      +            "basis": {
      +              "type": "string"
      +            },
      +            "chapter": {
      +              "type": "number"
      +            },
      +            "publicDomain": {
      +              "type": "boolean"
      +            },
      +            "text": {
      +              "type": "string"
      +            },
      +            "translation": {
      +              "type": "string"
      +            },
      +            "verse": {
      +              "type": "string"
      +            },
      +            "year": {
      +              "type": "number"
      +            }
      +          },
      +          "required": [
      +            "text"
      +          ],
      +          "type": "object"
      +        }
      +      },
      +      "required": [
      +        "direction",
      +        "auspiciousness",
      +        "effect",
      +        "source"
      +      ],
      +      "type": "object"
      +    },
      +    "shape": {
      +      "properties": {
      +        "effect": {
      +          "type": "string"
      +        },
      +        "source": {
      +          "properties": {
      +            "basis": {
      +              "type": "string"
      +            },
      +            "chapter": {
      +              "type": "number"
      +            },
      +            "publicDomain": {
      +              "type": "boolean"
      +            },
      +            "text": {
      +              "type": "string"
      +            },
      +            "translation": {
      +              "type": "string"
      +            },
      +            "verse": {
      +              "type": "string"
      +            },
      +            "year": {
      +              "type": "number"
      +            }
      +          },
      +          "required": [
      +            "text"
      +          ],
      +          "type": "object"
      +        },
      +        "verdict": {
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "verdict",
      +        "effect",
      +        "source"
      +      ],
      +      "type": "object"
      +    },
      +    "slope": {
      +      "properties": {
      +        "chosen": {
      +          "type": "string"
      +        },
      +        "highDirection": {
      +          "type": "string"
      +        },
      +        "lowDirection": {
      +          "type": "string"
      +        },
      +        "reading": {
      +          "type": "string"
      +        },
      +        "schools": {
      +          "items": {
      +            "properties": {
      +              "effect": {
      +                "type": "string"
      +              },
      +              "school": {
      +                "type": "string"
      +              },
      +              "verdict": {
      +                "type": "string"
      +              },
      +              "verse": {
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "school",
      +              "verdict",
      +              "verse",
      +              "effect"
      +            ],
      +            "type": "object"
      +          },
      +          "type": "array"
      +        }
      +      },
      +      "required": [
      +        "lowDirection",
      +        "highDirection",
      +        "reading",
      +        "schools",
      +        "chosen"
      +      ],
      +      "type": "object"
      +    },
      +    "sources": {
      +      "items": {
      +        "properties": {
      +          "basis": {
      +            "type": "string"
      +          },
      +          "chapter": {
      +            "type": "number"
      +          },
      +          "publicDomain": {
      +            "type": "boolean"
      +          },
      +          "text": {
      +            "type": "string"
      +          },
      +          "translation": {
      +            "type": "string"
      +          },
      +          "verse": {
      +            "type": "string"
      +          },
      +          "year": {
      +            "type": "number"
      +          }
      +        },
      +        "required": [
      +          "text"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "water": {
      +      "properties": {
      +        "auspiciousness": {
      +          "type": "string"
      +        },
      +        "direction": {
      +          "type": "string"
      +        },
      +        "effect": {
      +          "type": "string"
      +        },
      +        "source": {
      +          "properties": {
      +            "basis": {
      +              "type": "string"
      +            },
      +            "chapter": {
      +              "type": "number"
      +            },
      +            "publicDomain": {
      +              "type": "boolean"
      +            },
      +            "text": {
      +              "type": "string"
      +            },
      +            "translation": {
      +              "type": "string"
      +            },
      +            "verse": {
      +              "type": "string"
      +            },
      +            "year": {
      +              "type": "number"
      +            }
      +          },
      +          "required": [
      +            "text"
      +          ],
      +          "type": "object"
      +        }
      +      },
      +      "required": [
      +        "direction",
      +        "effect",
      +        "auspiciousness",
      +        "source"
      +      ],
      +      "type": "object"
      +    }
      +  },
      +  "required": [
      +    "orientation",
      +    "dimensions",
      +    "shape",
      +    "ratio",
      +    "extensions",
      +    "cuts",
      +    "sources",
      +    "conventions"
      +  ],
      +  "type": "object"
      +}
  3. First observed

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare the operation read-only and non-destructive. The description adds genuine behavioral value on top: every verdict either names the chapter and verse behind it or says plainly that it is convention, and the ground-level analysis is run under two schools whose real disagreement is surfaced rather than hidden. Nothing contradicts the read-onlyHint=true 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?

Three sentences, each earning its place: inputs/outputs in sentence one, the citation-and-convention behavior plus the two-school disagreement in sentence two, and target users in sentence three. The purpose is front-loaded in the first clause, and there is zero filler for a tool of this complexity.

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?

The tool is complex — 11 parameters, a nested plot object, and multiple enums — but the description is complete because the schema and output schema carry the structural weight: 100% parameter coverage, per-field explanations, and a documented return shape. The description covers purpose, key output behavior, and use cases; only an explicit pointer to sibling tools for non-plot analysis is absent, which is a mild gap.

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 100%, so the baseline is 3 — the schema itself documents all 11 parameters in unusual depth (slopeSchool's two-school explanation, facingDegrees' feng shui convention, unit's scale-free mandala note). The tool description only maps high-level input categories ('outline, facing, ground fall, water') and adds no parameter-level meaning beyond the schema, so the baseline correctly holds.

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 opening line names the verb and resource — 'Vastu plot analysis from typed geometry' — then enumerates the exact inputs (outline, facing, ground fall, water) and the verdicts returned (shape, proportion, ground level under two schools, corner extensions/cuts, road, water). The plot/site domain is unmistakably distinct from siblings like post_vastu_rooms and post_vastu_entrance, so an agent can select it without opening the schema.

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 closing sentence gives concrete application contexts — 'listing and land assessment tools, practitioner site reports and buyer facing checks' — which is clear when-to-use guidance. It stops short of explicitly naming sibling exclusions (e.g., 'for room-level checks use post_vastu_rooms'), so cross-tool routing must be inferred from the domain rather than stated; with eight vastu siblings, an explicit pointer would have pushed this to 5.

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.

Resources