Skip to main content
Glama

get_zodiac_info

Retrieve detailed zodiac sign information including personality traits, ruling planets, and elemental associations for astrological analysis.

Instructions

获取指定星座的详细信息,包括性格特征、守护星、元素等

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
zodiacYes星座名称(中文或英文)

Implementation Reference

  • Handler for get_zodiac_info tool: resolves zodiac name to key, fetches data from zodiacData, formats and returns detailed zodiac information as markdown text.
          case 'get_zodiac_info': {
            const zodiacKey = getZodiacKey(args.zodiac);
            if (!zodiacKey) {
              throw new Error(`未找到星座: ${args.zodiac}`);
            }
            
            const zodiac = zodiacData[zodiacKey];
            result = {
              content: [
                {
                  type: 'text',
                  text: `# ${zodiac.symbol} ${zodiac.name} (${zodiac.english})
                  
    **基本信息:**
    - 日期范围: ${zodiac.dateRange}
    - 元素: ${zodiac.element}
    - 性质: ${zodiac.quality}
    - 守护星: ${zodiac.ruler}
    
    **性格特征:**
    ${zodiac.traits.map(trait => `- ${trait}`).join('\n')}
    
    **描述:**
    ${zodiac.description}`
                }
              ]
            };
            break;
          }
  • index.js:435-449 (registration)
    Tool registration in the tools array, defining name, description, and input schema for get_zodiac_info.
    {
      name: 'get_zodiac_info',
      description: '获取指定星座的详细信息,包括性格特征、守护星、元素等',
      inputSchema: {
        type: 'object',
        properties: {
          zodiac: {
            type: 'string',
            description: '星座名称(中文或英文)',
            enum: Object.keys(zodiacData).concat(Object.values(zodiacData).map(z => z.name))
          }
        },
        required: ['zodiac']
      }
    },
  • Input schema definition for get_zodiac_info, specifying required 'zodiac' string parameter with enum validation.
    inputSchema: {
      type: 'object',
      properties: {
        zodiac: {
          type: 'string',
          description: '星座名称(中文或英文)',
          enum: Object.keys(zodiacData).concat(Object.values(zodiacData).map(z => z.name))
        }
      },
      required: ['zodiac']
    }
  • Helper function to normalize and resolve zodiac name (Chinese or English lowercase) to the internal object key in zodiacData.
    function getZodiacKey(zodiacName) {
      const lowerName = zodiacName.toLowerCase();
      if (zodiacData[lowerName]) {
        return lowerName;
      }
      
      for (const [key, data] of Object.entries(zodiacData)) {
        if (data.name === zodiacName || data.english.toLowerCase() === lowerName) {
          return key;
        }
      }
      return null;
    }
  • Data structure containing detailed information for all 12 zodiac signs, used by the get_zodiac_info handler.
    const zodiacData = {
      aries: {
        name: '白羊座',
        english: 'Aries',
        element: '火',
        quality: '基本',
        ruler: '火星',
        symbol: '♈',
        dateRange: '3月21日-4月19日',
        traits: ['勇敢', '热情', '冲动', '领导力', '冒险'],
        description: '白羊座是黄道十二宫的第一宫,象征着春天的开始。白羊座的人通常充满活力,勇敢无畏,喜欢挑战和冒险。'
      },
      taurus: {
        name: '金牛座',
        english: 'Taurus',
        element: '土',
        quality: '固定',
        ruler: '金星',
        symbol: '♉',
        dateRange: '4月20日-5月20日',
        traits: ['稳重', '务实', '耐心', '忠诚', '享受'],
        description: '金牛座是黄道十二宫的第二宫,象征着稳定和物质享受。金牛座的人通常稳重可靠,重视安全和舒适。'
      },
      gemini: {
        name: '双子座',
        english: 'Gemini',
        element: '风',
        quality: '变动',
        ruler: '水星',
        symbol: '♊',
        dateRange: '5月21日-6月21日',
        traits: ['灵活', '好奇', '善变', '沟通', '学习'],
        description: '双子座是黄道十二宫的第三宫,象征着沟通和学习。双子座的人通常思维敏捷,善于表达,好奇心强。'
      },
      cancer: {
        name: '巨蟹座',
        english: 'Cancer',
        element: '水',
        quality: '基本',
        ruler: '月亮',
        symbol: '♋',
        dateRange: '6月22日-7月22日',
        traits: ['敏感', '保护', '家庭', '直觉', '情感'],
        description: '巨蟹座是黄道十二宫的第四宫,象征着家庭和情感。巨蟹座的人通常情感丰富,重视家庭,具有很强的保护欲。'
      },
      leo: {
        name: '狮子座',
        english: 'Leo',
        element: '火',
        quality: '固定',
        ruler: '太阳',
        symbol: '♌',
        dateRange: '7月23日-8月22日',
        traits: ['自信', '慷慨', '领导', '戏剧性', '忠诚'],
        description: '狮子座是黄道十二宫的第五宫,象征着创造力和自我表达。狮子座的人通常自信大方,具有天生的领导才能。'
      },
      virgo: {
        name: '处女座',
        english: 'Virgo',
        element: '土',
        quality: '变动',
        ruler: '水星',
        symbol: '♍',
        dateRange: '8月23日-9月22日',
        traits: ['完美', '分析', '服务', '谦虚', '实用'],
        description: '处女座是黄道十二宫的第六宫,象征着服务和完美。处女座的人通常注重细节,追求完美,具有很强的分析能力。'
      },
      libra: {
        name: '天秤座',
        english: 'Libra',
        element: '风',
        quality: '基本',
        ruler: '金星',
        symbol: '♎',
        dateRange: '9月23日-10月23日',
        traits: ['平衡', '和谐', '公正', '社交', '优雅'],
        description: '天秤座是黄道十二宫的第七宫,象征着关系和平衡。天秤座的人通常追求和谐,重视公平,具有很强的社交能力。'
      },
      scorpio: {
        name: '天蝎座',
        english: 'Scorpio',
        element: '水',
        quality: '固定',
        ruler: '冥王星',
        symbol: '♏',
        dateRange: '10月24日-11月22日',
        traits: ['神秘', '强烈', '洞察', '忠诚', '激情'],
        description: '天蝎座是黄道十二宫的第八宫,象征着深度和转化。天蝎座的人通常神秘深邃,洞察力强,情感强烈。'
      },
      sagittarius: {
        name: '射手座',
        english: 'Sagittarius',
        element: '火',
        quality: '变动',
        ruler: '木星',
        symbol: '♐',
        dateRange: '11月23日-12月21日',
        traits: ['乐观', '自由', '冒险', '哲学', '诚实'],
        description: '射手座是黄道十二宫的第九宫,象征着探索和智慧。射手座的人通常乐观开朗,热爱自由,追求真理。'
      },
      capricorn: {
        name: '摩羯座',
        english: 'Capricorn',
        element: '土',
        quality: '基本',
        ruler: '土星',
        symbol: '♑',
        dateRange: '12月22日-1月19日',
        traits: ['野心', '责任', '耐心', '实用', '纪律'],
        description: '摩羯座是黄道十二宫的第十宫,象征着事业和成就。摩羯座的人通常有野心,责任感强,追求成功。'
      },
      aquarius: {
        name: '水瓶座',
        english: 'Aquarius',
        element: '风',
        quality: '固定',
        ruler: '天王星',
        symbol: '♒',
        dateRange: '1月20日-2月18日',
        traits: ['独立', '创新', '人道', '理性', '独特'],
        description: '水瓶座是黄道十二宫的第十一宫,象征着友谊和理想。水瓶座的人通常独立特行,富有创新精神,关心人类福祉。'
      },
      pisces: {
        name: '双鱼座',
        english: 'Pisces',
        element: '水',
        quality: '变动',
        ruler: '海王星',
        symbol: '♓',
        dateRange: '2月19日-3月20日',
        traits: ['同情', '直觉', '艺术', '梦想', '灵性'],
        description: '双鱼座是黄道十二宫的第十二宫,象征着灵性和梦想。双鱼座的人通常富有同情心,直觉敏锐,具有艺术天赋。'
      }
    };
Behavior2/5

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

No annotations are provided, so the description carries full burden. It states it '获取' (gets/retrieves) information, implying a read-only operation, but doesn't explicitly confirm this or mention other behavioral traits like authentication needs, rate limits, error handling, or response format. For a tool with no annotation coverage, this leaves significant gaps in understanding how it behaves.

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 a single, efficient sentence that front-loads the core purpose ('获取指定星座的详细信息') and lists included details. There's no wasted text, though it could be slightly more structured (e.g., separating purpose from details).

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

Completeness3/5

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

Given 1 parameter with full schema coverage and no output schema, the description is minimally adequate. It explains what the tool returns (personality traits, ruling planet, element), compensating for the lack of output schema. However, with no annotations and multiple siblings, it should provide more context on usage and behavior to be fully complete.

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%, with the single parameter 'zodiac' fully documented in the schema (including enum values in Chinese and English). The description adds no parameter-specific information beyond implying it takes a zodiac sign. Baseline 3 is appropriate as the schema does the heavy lifting.

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 clearly states the tool's purpose: '获取指定星座的详细信息,包括性格特征、守护星、元素等' (Get detailed information about a specified zodiac sign, including personality traits, ruling planet, element, etc.). It specifies the verb '获取' (get) and resource '星座的详细信息' (detailed zodiac information), but doesn't explicitly differentiate from siblings like 'get_all_zodiacs' or 'get_zodiac_by_date' beyond the '指定' (specified) qualifier.

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 siblings like 'get_all_zodiacs' (for listing all zodiacs), 'get_zodiac_by_date' (for finding zodiac by date), or 'get_compatibility' (for zodiac relationships). The agent must infer usage from the name and description alone.

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/jlankellii/star-mcp'

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