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

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

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

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / plot / x-required-any-of
      Added value: +[
      +  [
      +    "width",
      +    "depth"
      +  ],
      +  [
      +    "polygon"
      +  ]
      +]
  2. 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
      +}
  3. 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"
      +}
  4. First observed

TDQS

A4.1/5.0
Behavior5/5

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

Beyond the read-only annotations, the description discloses important behavior: verdicts cite chapter and verse or explicitly say they are convention, and the two ground-level schools genuinely disagree while both readings are returned. It also surfaces useful side details such as lossless compact output and English fallback for untranslated fields.

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

Conciseness4/5

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

The description is front-loaded with purpose and return behavior, then moves to sourcing caveats and usage context. It is dense but appropriately sized for a complex 11-parameter tool, with no clearly wasted sentences.

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?

Given the rich schema, output schema, and annotations, the description supplies enough context to call the tool correctly: it explains the input domain, the verdict scope, and the sourced-vs-convention distinction. The remaining gap is sibling routing and explicit alternative selection guidance.

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 schema already carries detailed parameter semantics for plot geometry, facing, slope, water, road, language, and compact mode. The description adds a useful high-level input summary but no additional meaning beyond what the structured schema provides.

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 names a specific verb and resource: 'Vastu plot analysis from typed geometry,' then enumerates the core inputs and the verdicts returned. It clearly scopes the tool to land/site assessment, but does not explicitly distinguish it from sibling Vastu endpoints such as post_vastu_mandala or post_vastu_entrance.

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?

It gives clear usage context: 'Built for listing and land assessment tools, practitioner site reports and buyer facing checks.' This tells an agent when the tool is relevant, but it does not state when to choose it over sibling tools or mention any exclusions.

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