Skip to main content
Glama
septapod

Emoji Storyteller MCP Server

by septapod

tell_themed_story

Generate themed stories using only emojis for adventure, romance, horror, space, food, or party narratives.

Instructions

Tells a themed emoji story. Choose your adventure! πŸ—ΊοΈβœ¨

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
themeYesStory theme: 'adventure', 'romance', 'horror', 'space', 'food', or 'party'

Implementation Reference

  • Handler logic for tell_themed_story tool: extracts theme from input, generates story using generateThemedStory, and returns formatted output.
    if (toolName === "tell_themed_story") {
      const theme = toolInput.theme || "random";
      const story = generateThemedStory(theme);
      return `🎭 ${theme.toUpperCase()} STORY 🎭\n\n${story}`;
    }
  • Input schema for tell_themed_story, defining the required 'theme' string parameter with allowed enum values.
    inputSchema: {
      type: "object",
      properties: {
        theme: {
          type: "string",
          description:
            "Story theme: 'adventure', 'romance', 'horror', 'space', 'food', or 'party'",
          enum: ["adventure", "romance", "horror", "space", "food", "party"],
        },
      },
      required: ["theme"],
    },
  • index.js:121-137 (registration)
    Registration of the tell_themed_story tool in the TOOLS array, including name, description, and input schema.
    {
      name: "tell_themed_story",
      description:
        "Tells a themed emoji story. Choose your adventure! πŸ—ΊοΈβœ¨",
      inputSchema: {
        type: "object",
        properties: {
          theme: {
            type: "string",
            description:
              "Story theme: 'adventure', 'romance', 'horror', 'space', 'food', or 'party'",
            enum: ["adventure", "romance", "horror", "space", "food", "party"],
          },
        },
        required: ["theme"],
      },
    },
  • Helper function that generates predefined emoji stories for specific themes or falls back to random chaos.
    function generateThemedStory(theme) {
      const themeMap = {
        adventure: () => {
          return `πŸ—ΊοΈ πŸ§— πŸ”οΈ\n⚑ πŸ‰ πŸ’ͺ\nπŸ† πŸ’Ž ✨\nπŸŽ‰ πŸ₯³ 🎊`;
        },
        romance: () => {
          return `πŸ’• πŸ’‘ πŸ’\n🌹 😍 πŸ’«\nπŸ’” πŸ₯Ί 😒\nπŸ’•πŸ’•πŸ’•`;
        },
        horror: () => {
          return `🏚️ πŸ‘» 😱\nπŸ”ͺ πŸ’€ ☠️\n😲 πŸƒ πŸ’¨\nπŸŒ™ 😡 πŸ’₯`;
        },
        space: () => {
          return `πŸš€ 🌌 πŸ‘½\nπŸͺ ⭐ 🌠\nπŸ›Έ πŸ”­ πŸ’«\n🌍 πŸ’₯ πŸŽ†`;
        },
        food: () => {
          return `πŸ• πŸ” 🍟\nπŸ˜‹ 🀀 😍\n🍽️ πŸ”₯ πŸ’¨\nπŸ’€ 😱 πŸš€`;
        },
        party: () => {
          return `πŸŽ‰ 🎊 πŸ₯³\nπŸ’ƒ πŸ•Ί 🎡\n🍾 🍻 πŸŽͺ\n😡 πŸ’« ✨`;
        },
      };
    
      return themeMap[theme]
        ? themeMap[theme]()
        : `Random chaos incoming...\n${generateEmojiStory("random", 7)}`;
    }

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/septapod/mcp-emoji-stories'

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