Token导航 LogoToken导航TokenDH.com
Vienna Live MCP logo
运维云端stdio官方级别未说明来源级核验

Vienna Live MCP

MCP Server

Vienna Live MCP Server是一款多功能个人助理服务器,通过整合购物管理、旅行规划、财务管理、媒体管理和个人计划等功能,为用户提供全面的程序化访问服务。

工具数

67

提示词数

0

GitHub Stars

0

资源数

0
财务管理PythonClaudeClaude DesktopClaudeCursor

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

sandraschi

提供方

sandraschi

最后核验

2026/5/17 20:21

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

uvx vienna-live-mcp

详细介绍

维也纳实时MCP服务器

![Beta](https://github.com/sandraschi/vienna-live-mcp) ![Python](https://python.org) ![FastMCP](https://github.com/sugarforever/FastMCP) ![License](LICENSE)

一个全面的MCP服务器,通过整合的组合工具提供对维也纳生活助理功能的编程访问。

概述

维也纳直播mcp 服务器将维也纳生活助理转换为完全可编程的个人助理。它实现了 波特曼托图案 在5个逻辑类别中组织63个工具,为以下对象提供干净、可发现的API:

  • 购物管理 -商店优惠、购物清单、预算跟踪
  • 旅行计划 -交通时间表、行程规划、天气综合
  • 费用跟踪 -财务管理、预算分析、支出洞察
  • 媒体管理 -统一访问Plex、Calibre和Immich库
  • 个人计划 -待办事项管理、日历、目标和生产力工具

建筑

波特曼托图案

每个组合都为特定领域提供了一组有凝聚力的工具:

graph TD
    A[Vienna Live MCP Server] --> B[shopping_manager]
    A --> C[travel_manager]
    A --> D[expenses_manager]
    A --> E[media_manager]
    A --> F[planning_manager]

    B --> B1[get_store_offers]
    B --> B2[compare_prices]
    B --> B3[shopping_list_create]

    C --> C1[get_next_tram]
    C --> C2[plan_day_trip]
    C --> C3[get_train_schedule]

    D --> D1[add_expense]
    D --> D2[analyze_spending_patterns]
    D --> D3[set_budget]

    E --> E1[search_plex_library]
    E --> E2[search_calibre_library]
    E --> E3[search_immich_photos]

    F --> F1[create_todo]
    F --> F2[get_productivity_stats]
    F --> F3[set_goal]

双重运输支持

服务器支持两种MCP传输:

  • STDIO传输:用于与MCP客户端(Cursor、Claude Desktop等)集成
  • HTTP传输:用于直接web API访问和web应用程序集成

快速开始

先决条件

  • Python 3.11+
  • 数据库:SQLite(默认,无需设置)或PostgreSQL(可选,用于生产)
  • 可选外部API:

- 维也纳API(维也纳公共交通) - OpenWeatherMap API(天气数据) - 货币兑换API - BB API(奥地利铁路) - Plex、Calibre、Immich API(媒体服务)

备注:默认情况下,服务器使用模拟数据。真正的API集成是可选的,需要API密钥。

安装

先决条件

快速开始

立即通过运行 uvx:

uvx vienna-live-mcp

Claude桌面集成

添加到您的 claude_desktop_config.json:

"mcpServers": {
  "vienna-live-mcp": {
    "command": "uv",
    "args": ["--directory", "D:/Dev/repos/vienna-live-mcp", "run", "vienna-live-mcp"]
  }
}

运行服务器

STDIO模式(MCP客户端集成):

python -m vienna_live_mcp.server

HTTP模式(直接API访问):

python -m vienna_live_mcp.server --transport http --port 8000

工具类别

购物经理(11个工具)

工具说明
get_store_offers获取Spar、Billa、Hofer的最新报价
compare_prices比较各商店的价格
find_stores_nearby查找某个地点附近的商店
shopping_list_create创建购物清单
shopping_list_add_item将项目添加到列表
get_shopping_recommendations人工智能购物建议
budget_check_item根据预算检查采购情况
find_coupons查找可用的优惠券和折扣
analyze_receiptOCR和分类收据项目
get_shopping_history历史购物数据和模式

差旅经理(15个工具)

工具说明
get_next_tram下一站从Wiener Linien站出发
get_transport_schedule线路和车站的完整时间表
get_transport_disruptions当前的延误和服务中断
plan_day_trip完整的一日游行程
get_travel_info城市旅游综合信息
get_weather_for_travel针对旅行优化的天气预报
get_train_scheduleBB列车时刻表
get_bus_schedule长途巴士时刻表
get_flight_info航班信息(为API集成做好准备)
get_currency_exchange当前汇率
get_visa_requirements目的地签证信息
calculate_travel_cost总差旅费计算
get_sleeper_train_schedule夜航卧铺列车时刻表
get_traffic_info实时交通信息
book_transport_ticket交通票预订(API已准备就绪)

费用管理器(12个工具)

工具说明
add_expense添加费用条目
update_expense更新现有费用
delete_expense删除费用条目
get_expenses_by_category按类别分组的费用
get_expenses_by_date_range日期范围内的费用
get_top_spending_categories最高支出类别
analyze_spending_patterns人工智能驱动的支出分析
set_budget设置类别预算
get_budget_status当前预算状态和警报
predict_monthly_expense费用预测
compare_expenses_period期间比较
get_savings_recommendations个性化储蓄建议
export_expenses以CSV/JSON/PDF格式导出
import_expenses从外部来源导入

媒体管理器(10个工具)

工具说明
search_plex_library搜索Plex媒体收藏
get_currently_watching当前正在观看/阅读项目
get_recently_added最近跨服务添加的媒体
get_plex_recommendations个性化媒体推荐
search_calibre_library搜索电子书库
get_reading_progress阅读进度跟踪
search_immich_photos搜索照片库
get_recent_photos带有元数据的最新照片
create_media_playlist跨服务创建播放列表
get_media_stats全面的媒体消费统计数据
find_similar_media跨库查找类似内容
analyze_media_preferences媒体偏好分析
get_media_suggestions基于人工智能的媒体建议

计划经理(15种工具)

工具说明
create_todo创建具有优先级的待办事项
update_todo更新现有待办事项
get_todos_by_category按类别/状态筛选待办事项
complete_todo将待办事项标记为已完成
get_calendar_events日期范围内的日历事件
schedule_meeting安排会议和约会
check_schedule_conflicts检测日程安排冲突
get_productivity_stats生产力指标和见解
set_goal设定并跟踪目标
get_goals_progress目标进展监测
create_habit培养追踪习惯
log_habit_completion记录习惯完成情况
get_habit_streak习惯追踪
get_motivational_quote按类别列出的励志名言
plan_week生成每周计划建议

配置

环境变量

# Database Configuration
DATABASE_URL=postgresql://user:password@localhost:5432/vienna_life_assistant

# External API Keys
WIENER_LINIEN_API_KEY=your_wiener_linien_key
OPENWEATHER_API_KEY=your_weather_key
CURRENCY_API_KEY=your_currency_key

# Media Service URLs
PLEX_SERVER_URL=http://plex.local:32400
PLEX_TOKEN=your_plex_token
CALIBRE_URL=http://calibre.local:8080
IMMICH_URL=http://immich.local:2283
IMMICH_API_KEY=your_immich_key

# Redis (for background tasks)
REDIS_URL=redis://localhost:6379/0

服务集成

该服务器与Vienna Life Assistant的生态系统集成:

  • 数据库:与web应用程序共享PostgreSQL
  • 维也纳 线:公共交通数据
  • plex流媒体服务器:媒体服务器集成
  • 卡利伯:电子书库访问
  • 伊姆希:照片管理
  • 天气API:旅行计划支持
  • 货币API:差旅费计算

测试

# Run all tests
pytest

# Run with coverage
pytest --cov=vienna_live_mcp

# Run specific portmanteau tests
pytest tests/test_shopping_manager.py
pytest tests/test_travel_manager.py

MCPB包装

服务器支持MCPB(MCP二进制)打包,便于分发:

# Build MCPB package
mcpb build

# Install from MCPB
mcpb install vienna-live-mcp.mcpb

集成

MCP客户端集成

import asyncio
from mcp import ClientSession, StdioServerParameters
from mcp.client.stdio import stdio_client

async def main():
    # Connect to vienna-live-mcp server
    server_params = StdioServerParameters(
        command="python",
        args=["-m", "vienna_live_mcp.server"]
    )

    async with stdio_client(server_params) as (read, write):
        async with ClientSession(read, write) as session:
            await session.initialize()

            # Use shopping manager tools
            result = await session.call_tool("get_store_offers", {"store_name": "spar"})
            print(f"Spar offers: {result}")

            # Use travel manager tools
            tram_info = await session.call_tool("get_next_tram", {"station_name": "Stephansplatz"})
            print(f"Next tram: {tram_info}")

Web应用程序集成

Vienna Life Assistant网络应用程序与此MCP服务器集成,以增强功能:

// Example: Using MCP client in React
import { MCPClient } from '@vienna-life-assistant/mcp-client';

const client = new MCPClient({
  transport: 'http',
  baseURL: 'http://localhost:8000'
});

// Get shopping recommendations
const recommendations = await client.callTool('get_shopping_recommendations', {
  based_on: 'recent_purchases'
});

未来的增强功能

  • 真正的API集成:与所有外部服务完全集成
  • 机器学习:增强的人工智能建议和预测
  • 多用户支持:用户隔离和权限
  • 高级分析:深入洞察和趋势分析
  • 移动SDK:本地移动应用程序集成
  • 插件系统:可扩展的工具架构

🛡️ 工业级质量堆栈

该项目坚持 索塔14.1 高保真代理编排的工业标准:

  • Python(核心): 拉夫 用于裁剪和格式化。零容忍 print 核心处理程序中的语句(T201).
  • Web应用程序(用户界面): 生物群系 用于亚毫秒级的起毛。严格 noConsoleLog 执行。
  • 协议遵从:硬化 stdout/stderr 隔离,以确保防崩溃的JSON-RPC通信。
  • 自动化: Justfile 所有舰队行动的食谱(just lint, just fix, just dev).
  • 安全:通过以下方式进行自动化审计 banditsafety.

许可证

MIT许可证-请参阅 许可证 了解详情。

贡献

  1. 分叉存储库
  2. 创建要素分支
  3. 添加新功能的测试
  4. 提交拉取请求

支持

致谢

______________________________________________________________________

维也纳制造

目录标签

目录标签

财务管理PythonClaude个人助理本地部署购物管理旅行规划媒体管理个人计划

支持客户端

Claude DesktopClaudeCursor

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

session

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

67

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiosession部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP