Skip to main content
Glama
AlexanderChen5966

kyoto-assistant-mcp

京都旅遊助理 (Kyoto Travel Assistant)

版本: v4.1 (LangChain v1.0 + LangGraph v1.0)
風格: 完全仿照維也納旅遊助理


🎯 專案特色

  • Wikivoyage API - 真實景點資料

  • 營業檢查工具 - 模擬版本(可升級 Google Places)

  • ReAct 策略 - Think → Act → Observe

  • Planning 策略 - 動態調整行程

  • LangChain v1.0 - 最新穩定 API

  • LangGraph v1.0 - StateGraph 工作流

  • 7 個 MCP 工具 - 完整協同

  • Claude Desktop - 可重用 MCP Server


Related MCP server: wanderlog-mcp

🚀 快速開始

1. 環境設置

# 建立虛擬環境
python -m venv venv
source venv/bin/activate  # macOS/Linux

# 安裝套件
pip install -r requirements.txt

2. 設定 API Keys

# 複製環境變數模板
cp .env.example .env

# 編輯 .env,填入你的 API Keys

3. 測試運行

# 測試 MCP Server(稍後實現)
python mcp_server/server.py

# 測試 CLI(稍後實現)
python main.py test

📂 專案結構

kyoto-assistant/
├── src/                    # Agent 相關
│   ├── agent/             # LangChain v1.0 Agent
│   ├── workflow/          # LangGraph v1.0 Workflow
│   └── cli/               # CLI 介面
├── mcp_server/            # MCP Server
│   └── tools/             # 7 個 MCP 工具
├── data/                  # 資料檔案
├── output/                # 輸出檔案
└── tests/                 # 測試腳本

🔧 技術棧

  • LLM: Google Gemini 2.0 Flash (免費)

  • 框架: LangChain 1.0.x + LangGraph 1.0.x

  • MCP: Model Context Protocol 1.3.2

  • Python: 3.10+


📚 使用範例

# 規劃行程
python main.py plan --days 2 --budget 25000 --interests 寺廟

# 詢問問題
python main.py ask "清水寺現在營業嗎?"

# 互動模式
python main.py interactive

🎓 學習目標

  • ✅ Wikivoyage API 整合

  • ✅ LangChain v1.0 API

  • ✅ LangGraph v1.0 StateGraph

  • ✅ MCP Server 開發

  • ✅ ReAct + Planning 策略


開發中... 🚧

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    A
    maintenance
    Wanderlog-mcp is an MCP server that lets LLM agents plan and edit Wanderlog trip itineraries — adding places, hotels, notes, and checklists to any day, managing trip dates, and searching for destinations. It turns a conversational prompt into a fully built-out travel itinerary with practical details interleaved between each stop.
    18
    170 npm
    132
    MIT