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