Skip to main content

MCP Server for Vietnamese Fortune Telling based on Lunar Calendar

Project description

TuVi MCP - Máy Bói Toán Việt Nam

Một MCP (Model Context Protocol) server cung cấp các công cụ bói toán dựa trên lịch âm Việt Nam, sử dụng các yếu tố như Can Chi, Ngũ Hành, Xung Khắc, và các phương pháp bói toán truyền thống.

Tính năng

1. Chi Tiết Ngày Sinh (get_date_of_birth_detail)

Phân tích chi tiết ngày sinh bao gồm:

  • Ngày âm lịch
  • Tuổi Can Chi (Can + Chi)
  • Ngũ Hành mệnh
  • Nạp Âm
  • Quái số
  • Phật Đồ Mạng
  • Cung Phi (hướng tốt)

2. Dự Đoán Vận Hạn Hàng Ngày (get_daily_fortune)

Dự đoán vận hạn dựa trên tương quan giữa ngày sinh và ngày cần xem:

  • Quan hệ tổng thể
  • Quan hệ Can
  • Quan hệ Chi
  • Quan hệ Ngũ Hành

3. Dự Đoán Vận Hạn Chung (get_general_fortune)

Thông tin vận hạn chung cho mọi người trong ngày:

  • Ngày âm lịch và tiết khí
  • Can Chi ngày
  • Hướng Tài Thần, Hỷ Thần, Quý Nhân
  • Trực ngày
  • Phận Can, Phận Chi
  • Nhi thập bát tú
  • Thập nhị kiến trừ
  • Lục diệu

Cài đặt

Yêu cầu hệ thống

  • Python 3.12+
  • PDM (Python Dependency Manager)

Các bước cài đặt

  1. Clone repository:

    git clone <repository-url>
    cd tuvi-mcp
    
  2. Cài đặt dependencies:

    pdm install
    
  3. Cài đặt package:

    pdm build
    pip install dist/tuvi_mcp-0.1.0.tar.gz
    

Sử dụng

Chạy MCP Server

Sau khi cài đặt, bạn có thể chạy MCP server bằng:

tuvi-mcp

Sử dụng trong ứng dụng MCP

Server này tuân theo Model Context Protocol và có thể được tích hợp vào các ứng dụng hỗ trợ MCP như Claude Desktop, VS Code, etc.

Cấu hình FastMCP Server

Chạy trực tiếp

Sau khi cài đặt package, bạn có thể chạy server trực tiếp:

tuvi-mcp

Cấu hình với Claude Desktop

Thêm vào file cấu hình Claude Desktop (claude_desktop_config.json):

Trên macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Trên Windows: %APPDATA%/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "tuvi-mcp": {
      "command": "tuvi-mcp"
    }
  }
}

Cấu hình với VS Code (Cursor)

Thêm vào file settings VS Code/Cursor:

{
  "mcp": {
    "servers": {
      "tuvi-mcp": {
        "command": "tuvi-mcp"
      }
    }
  }
}

Chạy trong Development Mode

Khi phát triển, bạn có thể chạy server trực tiếp từ source:

Cách 1: Chạy trực tiếp với Python

# Từ thư mục gốc của project
python -m src.main

Cách 2: Sử dụng PDM script (khuyến nghị)

# Cài đặt dependencies nếu chưa có
pdm install

# Chạy server với script đã định nghĩa
pdm run dev

Cách 3: Cài đặt package ở chế độ editable

# Cài đặt package ở chế độ development
pdm install

# Sau đó có thể chạy như đã cài đặt
tuvi-mcp

Kiểm tra server hoạt động

Test với MCP Inspector (khuyến nghị):

# Cài đặt MCP Inspector
pip install mcp-inspector

# Chạy inspector và kết nối với server
mcp-inspector python -m src.main

Hoặc test với MCP CLI:

# Cài đặt mcp CLI (nếu chưa có)
pip install mcp

# Test server (cần cài đặt package trước)
pip install -e .
mcp dev tuvi-mcp

Ví dụ sử dụng

from src.main import mcp

# Lấy chi tiết ngày sinh
result = mcp.call_tool("get_date_of_birth_detail", {
    "date_of_birth": "1998-07-19",
    "gender": 1,
    "format": "text"
})

# Dự đoán vận hạn hàng ngày
result = mcp.call_tool("get_daily_fortune", {
    "date_of_birth": "1998-07-19",
    "forecast_day": "2024-12-24",
    "format": "text"
})

# Dự đoán vận hạn chung
result = mcp.call_tool("get_general_fortune", {
    "forecast_day": "2024-12-24",
    "format": "json"
})

API Reference

get_date_of_birth_detail

Parameters:

  • date_of_birth (string): Ngày sinh theo định dạng YYYY-MM-DD
  • gender (int, optional): Giới tính (1: nam, 0: nữ), mặc định là 1
  • format (string, optional): Định dạng trả về ("text" hoặc "json"), mặc định là "text"

Returns: Chi tiết ngày sinh dưới dạng text hoặc JSON

get_daily_fortune

Parameters:

  • date_of_birth (string): Ngày sinh theo định dạng YYYY-MM-DD
  • forecast_day (string, optional): Ngày cần dự đoán, mặc định là hôm nay
  • format (string, optional): Định dạng trả về ("text" hoặc "json"), mặc định là "text"

Returns: Dự đoán vận hạn hàng ngày

get_general_fortune

Parameters:

  • forecast_day (string, optional): Ngày cần dự đoán, mặc định là hôm nay
  • format (string, optional): Định dạng trả về ("text" hoặc "json"), mặc định là "text"

Returns: Dự đoán vận hạn chung

Dependencies

  • fastmcp (>=2.14.1): Framework cho MCP server
  • lunardate (>=0.2.2): Xử lý ngày âm lịch
  • lunar-python (>=1.4.8): Thư viện lịch âm Trung Quốc/Việt Nam

Kiến trúc dự án

src/
├── main.py           # Entry point và định nghĩa MCP tools
├── libs/
│   ├── can_chi.py    # Các hàm liên quan đến Can Chi, Ngũ Hành
│   ├── lunar_date.py # Xử lý ngày âm lịch
│   ├── xung_khac.py  # Tính toán xung khắc
│   └── khuyen.py     # Các bảng khuyên, phán đoán
└── tools/            # Các công cụ bổ sung

Phát triển

Chạy tests

python -m pytest tests/

Chạy development server

python src/main.py

Đóng góp

Mời đóng góp bằng cách tạo Issue hoặc Pull Request trên GitHub.

Giấy phép

MIT License - Xem file LICENSE để biết thêm chi tiết.

Lưu ý

Thông tin được cung cấp chỉ mang tính tham khảo và giải trí. Không nên sử dụng để đưa ra quyết định quan trọng trong cuộc sống.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tuvi_mcp-1.0.1.tar.gz (17.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tuvi_mcp-1.0.1-py3-none-any.whl (17.2 kB view details)

Uploaded Python 3

File details

Details for the file tuvi_mcp-1.0.1.tar.gz.

File metadata

  • Download URL: tuvi_mcp-1.0.1.tar.gz
  • Upload date:
  • Size: 17.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.11

File hashes

Hashes for tuvi_mcp-1.0.1.tar.gz
Algorithm Hash digest
SHA256 1e209fab37b09d65094cdcd0d924a437922ed39f42a52e1c04d0c08e307ff61f
MD5 c199a773d79578472e751e809b790978
BLAKE2b-256 65d6c2718557e4cfd2571cab66adbd9bd764c955bc6a6a955746a36fcd3a2b5c

See more details on using hashes here.

File details

Details for the file tuvi_mcp-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: tuvi_mcp-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 17.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.11

File hashes

Hashes for tuvi_mcp-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 552508321f5157d276bbfe550ac27d15e68fcc386eefcc7221a67592d0d6abcf
MD5 9990af28f2db2e94f4c13a8fafad8727
BLAKE2b-256 e70a23b59820b260a98d0f45407bf1267a72f08db686ddd7df2857333cb7ebb2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page