Skip to main content
Glama
SiwuXue

Yijing Bazi MCP Server

by SiwuXue

yijing_advise

Get I Ching-based decision advice for your specific questions by analyzing hexagrams, considering time frames, and evaluating optional action plans.

Instructions

基于卦象提供决策建议

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
hexagramYes卦象数据
questionYes用户的具体问题
optionsNo可选的行动方案(可选)
time_frameNo决策的时间框架

Implementation Reference

  • The core handler function for the 'yijing_advise' tool. It processes the hexagram data, analyzes action guidance, timing, options, and generates personalized advice based on Yijing principles.
    async provideAdvice({ hexagram, question, options = [], time_frame = 'short_term' }) {
      try {
        this.logger.info('开始提供决策建议', { question, time_frame });
    
        const originalInfo = await this.hexagramDB.getHexagram(hexagram.original?.id || hexagram.id || 1);
        const changedInfo = hexagram.changed
          ? await this.hexagramDB.getHexagram(hexagram.changed?.id || 1)
          : null;
    
        // 确保changing_lines是数组
        const changingLines = hexagram.changing_lines || [];
    
        // 分析卦象的行动指导
        const actionGuidance = this.analyzeActionGuidance(originalInfo, changedInfo, changingLines);
    
        // 判断吉凶和时机
        const timingAnalysis = this.analyzeTimingAndLuck(originalInfo, changedInfo, time_frame);
    
        // 针对选项进行分析
        const optionAnalysis = (options && options.length > 0)
          ? this.analyzeOptions(options, originalInfo, changedInfo)
          : null;
    
        // 生成个性化建议
        const personalizedAdvice = this.generatePersonalizedAdvice(
          question,
          actionGuidance,
          timingAnalysis,
          optionAnalysis
        );
    
        const result = {
          timestamp: new Date().toISOString(),
          question: question,
          time_frame: time_frame,
          overall_guidance: actionGuidance,
          timing_analysis: timingAnalysis,
          option_analysis: optionAnalysis,
          recommendations: personalizedAdvice,
          cautions: this.generateCautions(originalInfo, changedInfo),
          follow_up_suggestions: this.generateFollowUpSuggestions(originalInfo, question)
        };
    
        this.logger.info('决策建议生成成功');
        return result;
      } catch (error) {
        this.logger.error('决策建议生成失败', { error: error.message });
        throw error;
      }
    }
  • Joi schema for validating input parameters of the 'yijing_advise' tool, used in validateToolInput.
    function createYijingAdviseSchema() {
      return Joi.object({
        hexagram: Joi.object().required(),
        question: Joi.string().min(3).max(500).required(),
        time_frame: Joi.string().valid('immediate', 'short_term', 'medium_term', 'long_term').default('medium_term')
      });
    }
  • src/index.js:130-158 (registration)
    Tool registration in the ListToolsRequestSchema handler, including name, description, and input schema definition.
    {
      name: 'yijing_advise',
      description: '基于卦象提供决策建议',
      inputSchema: {
        type: 'object',
        properties: {
          hexagram: {
            type: 'object',
            description: '卦象数据'
          },
          question: {
            type: 'string',
            description: '用户的具体问题'
          },
          options: {
            type: 'array',
            items: {
              type: 'string'
            },
            description: '可选的行动方案(可选)'
          },
          time_frame: {
            type: 'string',
            enum: ['immediate', 'short_term', 'long_term'],
            description: '决策的时间框架'
          }
        },
        required: ['hexagram', 'question']
      }
  • Dispatch case in the main CallToolRequestSchema handler that routes 'yijing_advise' calls to the YijingEngine's provideAdvice method.
    case 'yijing_advise':
      result = await yijingEngine.provideAdvice(args);
      break;

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/SiwuXue/yijing-bazi-mcp-server'

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