Skip to main content
Glama
SiwuXue

Yijing Bazi MCP Server

by SiwuXue

destiny_consult

Analyze destiny using traditional Chinese metaphysics by providing birth data and questions to receive personalized guidance on career, relationships, wealth, and health predictions.

Instructions

提供命理咨询服务

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
user_profileYes用户基本信息,包含八字或其他命理数据
questionYes咨询问题
contextNo历史咨询上下文(可选)
consultation_typeYes咨询类型

Implementation Reference

  • Core handler function that executes the destiny_consult tool logic, performing specialized analysis based on consultation_type and generating action plans and risk assessments.
    async provideDestinyConsultation({ bazi_chart, consultation_type, specific_question, context = {}, include_hexagram = false }) { try { this.logger.info('开始命运咨询', { consultation_type, specific_question }); // 生成针对性卦象(如果需要) let consultationHexagram = null; if (include_hexagram) { consultationHexagram = await this.yijingEngine.generateHexagram({ method: 'plum_blossom', question: specific_question, seed: specific_question + new Date().toISOString() }); } // 根据咨询类型进行专项分析 let specializedAnalysis; switch (consultation_type) { case 'life_direction': specializedAnalysis = await this.analyzeLifeDirection(bazi_chart, consultationHexagram, context); break; case 'career_decision': specializedAnalysis = await this.analyzeCareerDecision(bazi_chart, consultationHexagram, specific_question, context); break; case 'relationship_guidance': specializedAnalysis = await this.analyzeRelationshipGuidance(bazi_chart, consultationHexagram, context); break; case 'financial_planning': specializedAnalysis = await this.analyzeFinancialPlanning(bazi_chart, consultationHexagram, context); break; case 'health_wellness': specializedAnalysis = await this.analyzeHealthWellness(bazi_chart, consultationHexagram, context); break; case 'timing_decision': specializedAnalysis = await this.analyzeTimingDecision(bazi_chart, consultationHexagram, specific_question, context); break; default: specializedAnalysis = await this.analyzeGeneral(bazi_chart, consultationHexagram, specific_question, context); } // 生成行动计划 const actionPlan = await this.generateActionPlan( specializedAnalysis, consultation_type, specific_question, context ); // 风险评估 const riskAssessment = await this.assessRisks( specializedAnalysis, consultation_type, context ); const result = { timestamp: new Date().toISOString(), consultation_type: consultation_type, specific_question: specific_question, context: context, hexagram_used: consultationHexagram, specialized_analysis: specializedAnalysis, action_plan: actionPlan, risk_assessment: riskAssessment, follow_up_recommendations: this.generateFollowUpRecommendations(specializedAnalysis, consultation_type), consultation_summary: this.generateConsultationSummary(specializedAnalysis, actionPlan) }; this.logger.info('命运咨询完成'); return result; } catch (error) { this.logger.error('命运咨询失败', { error: error.message }); throw error; } }
  • src/index.js:288-316 (registration)
    Tool registration in ListToolsRequestHandler, defining name, description, and input schema for destiny_consult.
    name: 'destiny_consult', description: '提供命理咨询服务', inputSchema: { type: 'object', properties: { user_profile: { type: 'object', description: '用户基本信息,包含八字或其他命理数据' }, question: { type: 'string', description: '咨询问题' }, context: { type: 'array', items: { type: 'object' }, description: '历史咨询上下文(可选)' }, consultation_type: { type: 'string', enum: ['guidance', 'analysis', 'prediction', 'suggestion'], description: '咨询类型' } }, required: ['user_profile', 'question', 'consultation_type'] } },
  • src/index.js:448-450 (registration)
    Handler dispatch in CallToolRequestHandler switch statement for destiny_consult.
    case 'destiny_consult': result = await combinedEngine.provideConsultation(args); break;
  • Joi schema definition for validating destiny_consult input parameters, used in validateToolInput.
    function createDestinyConsultSchema() { return Joi.object({ user_profile: Joi.object({ birth_time: Joi.alternatives().try( Joi.date().iso(), Joi.string().pattern(/^\d{4}-\d{2}-\d{2}(\s\d{2}:\d{2}(:\d{2})?)?$/) ).required(), gender: Joi.string().valid('male', 'female', '男', '女').required(), birth_location: Joi.object().optional(), bazi_chart: Joi.object().optional() }).required(), question: Joi.string().min(3).max(500).required(), context: Joi.array().items(Joi.string()).default([]), consultation_type: Joi.string().valid( 'guidance', 'analysis', 'prediction', 'suggestion' ).default('analysis') }); }
  • Validation helper method for destiny_consult parameters in ValidationUtils class.
    validateDestinyConsult(params) { const schema = Joi.object({ birth_datetime: this.schemas.birthDateTime, gender: this.schemas.gender, consultation_type: this.schemas.consultationType, specific_question: Joi.string().max(500).messages({ 'string.max': '具体问题不能超过500个字符' }), timezone: this.schemas.timezone }); return this.validate(schema, params); }

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