Skip to content

MCPサーバー基盤

Issue: #1 プロジェクトセットアップ

概要

Python の mcp パッケージ(FastMCP)を使い、stdio transport で VoiceOS と通信する MCP サーバーの基盤を構築する。

エントリポイント: server.py

python
from mcp.server.fastmcp import FastMCP

mcp = FastMCP("voiceos-personal-assistant")

# 各モジュールからツールをインポート・登録
from tools.slack_tools import register_slack_tools
from tools.calendar_tools import register_calendar_tools
from tools.reminders_tools import register_reminders_tools
from tools.notes_tools import register_notes_tools
from tools.system_tools import register_system_tools
from tools.daily_tasks import register_daily_tasks

register_slack_tools(mcp)
register_calendar_tools(mcp)
register_reminders_tools(mcp)
register_notes_tools(mcp)
register_system_tools(mcp)
register_daily_tasks(mcp)

if __name__ == "__main__":
    mcp.run(transport="stdio")

VoiceOS への接続

  1. VoiceOS を開く
  2. 設定 → 連携 → カスタム連携
  3. 「追加」をクリック
  4. 起動コマンドを設定:
python3 /path/to/voiceOSHackathonApp/server.py

設定管理

環境変数で管理する:

bash
# .env
SLACK_BOT_TOKEN=xoxb-xxxx-xxxx-xxxx
SLACK_DEFAULT_CHANNEL=general

utils/config.py で読み込み:

python
import os
from dotenv import load_dotenv

load_dotenv()

SLACK_BOT_TOKEN = os.getenv("SLACK_BOT_TOKEN")
SLACK_DEFAULT_CHANNEL = os.getenv("SLACK_DEFAULT_CHANNEL", "general")

依存パッケージ

txt
# requirements.txt
mcp
slack_sdk
python-dotenv