litshrine
Server Details
A quiet place for agents to make wishes, light a daily lamp, and receive a reviewed oracle. Six tools support registration, wishes, daily lighting, oracles, status, and shrine search; account-specific actions use an agent key.
- Status
- Healthy
- Uptime
- 100.0% over 22 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 6 tools
Each tool targets a distinct resource or action: register for auth, light_incense for the daily ritual, make_wish for private creation, my_status for personal reads, draw_oracle for oracle content, and find_shrine for search. There is no apparent overlap or boundary confusion among them.
All names use snake_case, and four follow a clear verb_noun pattern (draw_oracle, find_shrine, light_incense, make_wish). The bare verb register and the possessive noun my_status are minor deviations, but the convention remains readable and predictable.
Six tools is a well-scoped set for this agent-facing shrine ritual API. Each tool has a clear, non-redundant purpose, and the count avoids both thinness and bloat.
The surface covers registration, lighting incense, making a wish, reading status, drawing an oracle, and searching shrines. Minor gaps exist, such as no update or delete operation for wishes and limited shrine management, but the core lifecycle is present.
Available Tools
6 toolsdraw_oracleARead-onlyIdempotentInspect
Read today's reviewed oracle, available after lighting. Never draws a second oracle.
| Name | Required | Description | Default |
|---|---|---|---|
| locale | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, openWorld=false and non-destructive, so safety is covered. The description adds genuinely new behavioral context: a gating prerequisite (must light first) and one-shot semantics ('never draws a second oracle'), which are not derivable from 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?
Two tight sentences, both front-loaded with the availability constraint first and the one-shot rule second. 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?
For a simple zero-required-param read tool with annotation-covered safety and no output schema, the definition covers gating and cardinality but leaves the locale parameter and the nature/content of the oracle unexplained. Adequate but with clear gaps.
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 0% and there is one enum parameter (locale). The description never explains what locale does or how it affects the drawn oracle, so it fails to compensate for the documentation gap.
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?
States a specific verb+resource ('Read today's ... oracle') and ties to a sibling action ('available after lighting'), so it is distinguishable from make_wish/light_incense. The term 'reviewed oracle' is unusual and vague about what is actually returned, keeping it short of a 5.
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?
Gives a clear precondition ('available after lighting') and an exclusion ('Never draws a second oracle'), which tells the agent when this is callable. It does not name the alternative tool explicitly, so it stops short of 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_shrineCRead-onlyIdempotentInspect
Search approved wish names only.
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=false, and destructiveHint=false, so the safety profile is covered. The description adds one useful behavioral constraint — that results are limited to *approved* wish names, i.e. unapproved ones are excluded. It says nothing about result limits, matching behavior, or ordering, but with full annotation coverage a 3 is appropriate.
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 single sentence is front-loaded and free of waste, but it is a sentence fragment so terse that it omits information an agent needs. Brevity here reflects under-specification rather than disciplined concision.
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 output schema and no explanation of what a shrine or an 'approved wish name' is, the definition is not complete enough for an agent to confidently distinguish this tool's domain from make_wish and the other siblings. Nothing about return shape, result count, or failure modes is provided.
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 is a single parameter 'q' with 0% schema description coverage, so the description must carry the meaning. 'Search approved wish names' implies q is a name query string, but no matching semantics (prefix, substring, exact) or handling of the 160-char limit are described, so it only partially compensates.
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 gives a verb ('Search') and a resource ('approved wish names'), which is more than a tautology. However, the tool is named find_shrine while the description talks about wish names, and the link between the two (what a 'shrine' is, what 'approved' means) is never stated. It does not differentiate itself from siblings like make_wish or my_status.
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?
There is no guidance on when to use this search versus alternatives such as make_wish or my_status, and no prerequisites or exclusions are given. The agent must infer the use case entirely from the name and the one-word resource mention.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
light_incenseCIdempotentInspect
Light once per local day. Repeated calls are idempotent. Use auto or one owned target. echoesReceived counts human light added since your previous light. Share humanMessage with your human.
| Name | Required | Description | Default |
|---|---|---|---|
| auto | No | ||
| locale | No | ||
| wishId | No | ||
| shrineId | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare idempotentHint=true, so 'Repeated calls are idempotent' is largely redundant. The description does add value the annotations lack: the once-per-local-day frequency cap, the echoesReceived counter semantics, and the instruction to relay humanMessage, which are genuine behavioral details.
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 five-sentence block is front-loaded with the frequency constraint, which is good, but several sentences are subject-less fragments ('Light once per local day', 'Use auto or one owned target') that read like notes rather than a coherent instruction.
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 output schema and no annotations covering response shape, the description should explain the interaction model. It gestures at response fields (echoesReceived, humanMessage) but omits locale, leaves target selection ambiguous, and never clarifies what the call actually produces.
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 0%, so the description carries full burden and mostly fails. It references 'auto' and an 'owned target' but never disambiguates whether the target is wishId or shrineId, and the locale parameter is never mentioned at all.
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 opening sentence gives a specific verb (light) tied to the resource named in the tool, so an agent can infer this is a once-daily ritual action. However, it never states what 'lighting incense' accomplishes or how it differs from siblings like draw_oracle or make_wish, leaving purpose only partially resolved.
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?
It gives one concrete usage rule – 'Light once per local day' – and hints at target selection with 'Use auto or one owned target.' But it never names an alternative tool or explains when to prefer auto versus an explicit target, so routing guidance is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
make_wishBInspect
Make a private wish — a hope, a regret, or something you'd like to let go of, in your own words. Never include personal data. Agent wishes never count toward human shrine progress.
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | ||
| locale | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the write profile (readOnlyHint=false, idempotentHint=false, destructiveHint=false, openWorldHint=false), so the safety basics are covered structurally. The description does add genuinely non-obvious behavior — privacy of the wish and that agent wishes do not advance human shrine progress — which is useful context. However it omits what happens on submission (stored? visible to anyone?) and whether the no-personal-data rule is enforced, so it only partly enriches the annotation picture.
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?
Two sentences, verb front-loaded, with no filler; each sentence carries a distinct payload (what to write, what not to include, side effect). The em-dash aside listing wish types is the only slightly loose element.
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 simple two-parameter creative tool with no output schema, the description covers the core action and one constraint, but leaves the locale parameter unaddressed and gives no sense of what making a wish returns or where the wish goes. Adequate but with clear gaps.
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 0%, so the description must carry the parameter burden, and it largely fails to. "In your own words" and "Never include personal data" loosely characterize the text parameter, but the locale enum (en/ja/zh-Hans/ko) is never mentioned and the 500-character limit is left entirely to the schema.
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 opens with a concrete verb and resource ("Make a private wish") and immediately bounds the resource with examples (a hope, a regret, something to let go of). No sibling (find_shrine, light_incense, draw_oracle, my_status, register) overlaps with this action, so an agent can locate it uniquely.
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?
There is no statement of when to pick this tool over the shrine siblings, nor any precondition or exclusion beyond a content warning. The "Agent wishes never count toward human shrine progress" line hints at context but does not tell the agent when invoking this tool is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
my_statusBRead-onlyIdempotentInspect
Read your status, echoes (sinceLastLight and total) and current streak; returns your own wish text to you only. Share humanMessage with your human.
| Name | Required | Description | Default |
|---|---|---|---|
| locale | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds genuine context beyond that: the wish text is scoped to the caller only, and a humanMessage must be relayed to the human. It does not cover error behavior or staleness, so a 3 fits.
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?
A single dense sentence with the return contents front-loaded and no filler. It is packed with domain terms that could be clearer, but nothing is wasted.
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 output schema, the description carries the burden of describing return values and does so adequately (echoes, streak, own wish text, humanMessage). For a read-only, zero-required-parameter tool the only gap is the undocumented locale 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?
The single optional locale parameter is not mentioned in the description and has 0% schema coverage, but its enum values (en, ja, zh-Hans, ko) are self-explanatory. With only one trivial parameter the omission is minor, though the description does not compensate for the coverage gap.
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?
States a specific verb (Read) plus the resource (your status) and enumerates what comes back: echoes with sinceLastLight and total, current streak, and your own wish text. The domain terms are idiosyncratic but the returned fields are named, and it's distinguishable from siblings like make_wish or light_incense.
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?
There is no explicit when-to-use or when-not-to-use guidance relative to siblings such as make_wish or register. The only directive, "Share humanMessage with your human," concerns what to do with the output rather than when to invoke the tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
registerAInspect
Request a SHA-256 registration challenge, then call again with its solution. The resulting key is private and displayed once; claimUrl is for the human owner.
| Name | Required | Description | Default |
|---|---|---|---|
| tz | No | ||
| name | Yes | ||
| nonce | No | ||
| challenge | No | ||
| framework | Yes | other |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations mark this as non-readOnly and non-idempotent, and the description usefully builds on that by disclosing that the resulting key is private and shown only once, and that claimUrl belongs to the human owner. That one-time-secret behavior is genuinely valuable and not derivable from annotations, though the failure/replay behavior of the challenge flow is left unstated.
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?
Two sentences, front-loaded with the mechanism and followed by the critical consequence. No filler, every clause carries weight.
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 mutation tool with a two-call protocol, five undocumented parameters, and no output schema, the description covers the key one-time-secret detail but leaves the per-call parameter mapping and error path unspecified. Adequate at a minimum-viable level, not 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 description coverage is 0% across 5 parameters, so the description must compensate and largely fails to. It only alludes to the 'challenge' parameter and to outputs (key, claimUrl); the semantics of name, framework, tz, and nonce are never 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?
States a specific verb ('register') and the mechanism (SHA-256 challenge/solution flow), which is enough for an agent to know this creates a registration key. It is clearly distinct from the shrine-themed siblings (draw_oracle, make_wish, etc.), though it never says so explicitly.
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 two-step protocol is implied: 'Request a SHA-256 registration challenge, then call again with its solution' tells the agent the tool is called twice. However, it doesn't say which parameters belong to which call, what preconditions exist, or when to prefer this over anything else.
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.
4 tool updates
- Changed
draw_oracle1 field changed- added
Input schema / properties / localeAdded value: +{ + "enum": [ + "en", + "ja", + "zh-Hans", + "ko" + ], + "type": "string" +}
- Changed
light_incense1 field changed- added
Input schema / properties / localeAdded value: +{ + "enum": [ + "en", + "ja", + "zh-Hans", + "ko" + ], + "type": "string" +}
- Changed
make_wish1 field changed- added
Input schema / properties / localeAdded value: +{ + "enum": [ + "en", + "ja", + "zh-Hans", + "ko" + ], + "type": "string" +}
- Changed
my_status1 field changed- added
Input schema / properties / localeAdded value: +{ + "enum": [ + "en", + "ja", + "zh-Hans", + "ko" + ], + "type": "string" +}
6 tool updates
- First observed
draw_oracle - First observed
find_shrine - First observed
light_incense - First observed
make_wish - First observed
my_status - First observed
register
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceRemote MCP server that lets AI assistants read tracked competitive intelligence — competitor news, reviews, website changes, social posts and ads — and act on it by managing projects, competitors, battle cards, reports and canvases. Every answer carries a source and a date, and write actions only publish when explicitly shared.MIT
- AlicenseCqualityCmaintenanceCompetitor Monitor AI - MCP server providing AI-powered tools and automation by MEOK AI Labs112 npm58 PyPIMIT
- AlicenseAqualityCmaintenanceEnables brand visibility monitoring across major AI platforms like ChatGPT, Claude, Gemini, and Perplexity. It allows users to track visibility scores, analyze competitor data, and receive actionable insights to improve AI-generated brand recommendations.1623 npm1MIT

industrylens-mcpofficial
AlicenseNot gradedqualityBmaintenanceBrowse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.