Qibla for prayer
prayer_qiblaGet the qibla — the compass bearing to face for Islamic prayer from a location
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| lat | Yes | Latitude of the location | |
| lon | Yes | Longitude of the location |
prayer_qiblaGet the qibla — the compass bearing to face for Islamic prayer from a location
| Name | Required | Description | Default |
|---|---|---|---|
| lat | Yes | Latitude of the location | |
| lon | Yes | Longitude of the location |
Changes observed during successful MCP inspections.
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true and idempotentHint=true, so the safety profile is covered. The description adds no additional behavioral context (e.g., return format, error conditions), but for a simple, read-only lookup this is acceptable. 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 one concise, front-loaded sentence: 'Get the qibla — the compass bearing to face for Islamic prayer from a location.' Every word adds value, no filler.
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 tool is simple: two numeric inputs, no output schema, and annotations cover the read-only/idempotent behavior. The description fully explains the core function and what it returns (a compass bearing). This is complete for the tool's complexity.
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 schema fully describes both parameters (lat and lon) with 'Latitude of the location' and 'Longitude of the location', giving 100% coverage. The description doesn't add extra parameter details (e.g., valid ranges), so it relies on the schema, which is adequate for a baseline score.
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: to get the qibla compass bearing for Islamic prayer from a given location. It uses a specific verb ('get') and identifies the resource (qibla bearing), distinguishing it from sibling prayer tools like prayer_times and prayer_verse.
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 the use case (determining qibla direction) but provides no explicit guidance on when to use this tool vs. alternatives or any exclusions. It doesn't say 'Use this when you need the direction to Mecca' or mention alternatives like prayer_times, so it's only implicitly clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.