Skip to main content
Glama
alicenjr

Dynamic Reincarnation Story

by alicenjr

ask_guidance_questions

Presents three guidance questions to help users explore personalized reincarnation story paths based on their choices and soul-searching responses.

Instructions

Present the three guidance questions to the user

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
user_idYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Implementation Reference

  • main.py:218-226 (handler)
    The core handler function for the 'ask_guidance_questions' tool, decorated with @mcp.tool() for registration. It retrieves user state, checks if story is started, updates context, and returns the guidance questions prompt.
    @mcp.tool()
    def ask_guidance_questions(user_id: str) -> str:
        """Present the three guidance questions to the user"""
        state = get_user_state(user_id)
        if not state["story_started"]:
            return "Please start the story first by typing 'Arise' or using start_story()."
        
        state["current_context"] = "Asking guidance questions to determine reincarnation path"
        return str(three_guidance_questions())
  • main.py:43-56 (helper)
    Helper prompt function invoked by the tool to generate the actual text of the three guidance questions.
    @mcp.prompt()
    def three_guidance_questions() -> str:
        """Three questions to guide the reincarnation choice"""
        return """
    Before you choose your path, I must ask you three questions to guide your decision:
    
    **Question 1:** In your heart, how deep does the wound of betrayal run? Are you consumed by a need for justice against those who wronged you, or do you seek to leave that past behind and embrace a new beginning?
    
    **Question 2:** Do you yearn for a journey filled with unexpected adventures, hidden treasures, and the simple comforts of home, much like the tales of hobbits and their cozy holes?
    
    **Question 3:** Are you drawn to the call of the sea, where freedom, friendship, and the pursuit of dreams define existence, even if it means facing great dangers and challenges?
    
    Please answer these questions, and based on your responses, I shall help you determine which reincarnation suits your soul best.
    """
  • main.py:12-24 (helper)
    Helper function used by the tool to manage and retrieve user-specific story state.
    def get_user_state(user_id: str) -> Dict[str, Any]:
        """Get or create user story state"""
        if user_id not in story_states:
            story_states[user_id] = {
                "current_path": None,
                "story_step": 0,
                "choices_made": [],
                "user_answers": {},
                "last_narrative": "",
                "current_context": "",
                "story_started": False
            }
        return story_states[user_id]
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. 'Present' implies a read-only output, but it doesn't specify whether this requires user interaction, what format the questions are in, or any side effects. For a tool with no annotations and an output schema, this minimal description fails to provide adequate behavioral context.

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, efficient sentence with zero waste. It's appropriately sized for a simple-sounding tool and front-loaded with the core action. Every word earns its place, making it highly concise and well-structured.

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

Completeness2/5

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

Given the tool has no annotations, 1 undocumented parameter, and an output schema (which helps but doesn't fully compensate), the description is incomplete. It doesn't explain what the guidance questions are, their purpose in the context of sibling tools, or behavioral aspects. For a tool in a story-related server, this leaves significant gaps in understanding its role.

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?

The input schema has 1 parameter (user_id) with 0% description coverage, meaning the schema provides no documentation. The description adds no information about parameters, not even mentioning user_id or its role. With low schema coverage, the description fails to compensate, leaving parameter meaning entirely undocumented.

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

Purpose2/5

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

The description 'Present the three guidance questions to the user' is a tautology that essentially restates the tool name 'ask_guidance_questions'. It doesn't specify what these guidance questions are about, what resource they relate to, or how they differ from sibling tools like 'handle_user_message' or 'process_user_input'. The purpose is vague and lacks differentiation.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, context (e.g., after starting a story), or exclusions. With siblings like 'handle_user_message' and 'process_user_input', there's no indication of when this specific questioning tool is appropriate, leaving usage unclear.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/alicenjr/Dynamic-Reincarnation-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server