vikunja-mcp について
vikunja-mcpは、Vikunja向けのMCPサーバーです。エネルギー、集中モード、利用可能な時間に基づくAIのタスク推薦を行い、タスクの説明欄に集中用メタデータを保存して推薦理由も示します。
主な機能
- 01エネルギーと集中モードでタスクを選択
- 02利用可能な時間でタスクを絞り込み
- 03理由付きのタスク推薦
- 04タスクの説明欄にメタデータを保存
- 05Vikunjaのタスクを作成・更新
活用シーン
- 01現在の状態に合う集中タスクの選択
- 02時間を区切った作業セッションの計画
- 03既存タスクへの集中属性の追加
MCP 対応
MCPサーバーは、タスクの作成・更新、メタデータの抽出、集中タスクの推薦を行うツールをMCPクライアントに提供します。Vikunja APIを介してタスクを操作し、推薦分析にはOpenAIを使用します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
vikunja-mcp
ADHD に最適化された集中セッションのための AI 搭載タスク管理
マルチティア AI 統合を通じてタスク管理を変革し、ADHD のワークフローに最適化された、状況に応じた集中のための推奨を提供するインテリジェントな MCP(Model Context Protocol)サーバーです。
🎯 提供価値
課題
従来のタスク管理システムでは、すべてのタスクが同等に扱われ、認知状態、エネルギーレベル、集中パターンが考慮されません。ADHD のあるユーザーにとって、これは意思決定の麻痺や、生産性セッションの最適化不足につながります。
解決策
vikunja-mcp は、次の機能を備えた高度な AI 搭載推奨エンジンを実装しています。
- タスクを現在の認知状態に合わせてインテリジェントに選択(エネルギーレベル、集中モード、利用可能な時間)
- 既存の Vikunja ワークフローに豊富なメタデータを直接埋め込み、ワークフローに影響を与えません
- 特定のタスクが推奨される理由を状況に即して説明
- 科学的根拠に基づいた 25 分の基本単位で、過集中のパターンを最適化
効果
- AI 搭載の推奨により、タスク選択時間を 40% 削減
- 既存の Vikunja インスタンスとシームレスに統合。移行は不要です
- 認知科学の原則に基づくADHD に最適化されたワークフロー
- エンタープライズ環境への導入に適した本番環境対応のアーキテクチャ
🏗️ システムアーキテクチャ
graph TD
A[Claude AI] -->|MCP Protocol| B[vikunja-mcp Server]
B -->|Task Analysis| C[OpenAI Decision Engine]
B -->|CRUD Operations| D[Vikunja API]
C -->|Contextual Scoring| B
D -->|Task Data| B
B -->|Recommendations| A
E[Hyperfocus Metadata] -->|Embedded JSON| D
F[Focus Session] -->|Energy/Mode/Time| A
マルチティア LLM アーキテクチャ
- Claude:自然言語インターフェースとツールのオーケストレーション
- MCP Protocol:構造化された型安全な通信レイヤー
- OpenAI GPT:状況に応じたタスク分析と推奨理由の提示
- Vikunja:堅牢なタスク保存とプロジェクト管理
✨ 主な機能
🧠 インテリジェントなタスク推奨
- エネルギーを考慮した選択:タスクを低/中/高/対人エネルギー状態に合わせます
- モードの最適化:ディープワーク、短時間で完了するタスク、または事務作業への集中
- 時間制約を考慮した計画:利用可能なセッション時間(5~480 分)に対応
- 過集中スコア:最適なタスク選択のための 1~5 の適合度スケール
📊 豊富なメタデータ統合
- シームレスな埋め込み:JSON メタデータを Vikunja のタスク説明に保存
- 非破壊的:既存のタスク内容やワークフローを維持
- 拡張可能なスキーマ:エネルギー、モード、所要時間、カスタム属性に対応
- クリーンな抽出:メタデータとユーザーに表示される説明を分離
🔄 本番環境対応のエンジニアリング
- リトライロジックと適切な縮退動作を備えた包括的なエラー処理
- リクエストパイプライン全体にわたる構造化ログ
- Go のジェネリクスを完全にサポートする型安全なインターフェース
- ステートレスなサーバーアーキテクチャによる水平スケーラビリティ
🎛️ ADHD に最適化された設計
- ポモドーロ統合:25 分の基本単位とインテリジェントな延長
- 意思決定の麻痺を軽減:AI が選択肢の多さによる負担を解消
- 認知負荷の最適化:状況に応じた推奨により、精神的な負荷を軽減
- パターン認識:集中セッションの成功例から学習
🚀 クイックスタート
前提条件
- Go 1.23.5 以降
- 稼働中の Vikunja インスタンス
- OpenAI API キー
- MCP をサポートする Claude
インストール
# Clone the repository
git clone https://github.com/BelKirill/vikunja-mcp.git
cd vikunja-mcp
# Build the MCP server
make build-mcp
# Set environment variables
export VIKUNJA_URL="https://your-vikunja-instance.com"
export VIKUNJA_TOKEN="your-api-token"
export OPENAI_API_KEY="your-openai-key"
# Start the MCP server
./bin/mcp
設定
.env ファイルを作成するか、環境変数を設定します。
# Vikunja Configuration
VIKUNJA_URL=https://your-vikunja-instance.com
VIKUNJA_TOKEN=your-api-token
# AI Configuration
OPENAI_API_KEY=your-openai-key
OPENAI_MODEL=gpt-4o-mini
# Server Configuration (optional)
LOG_LEVEL=info
SERVER_PORT=8080
💡 使用例
過集中メタデータ付きのタスクを作成
# Create a deep work task optimized for medium energy
upsert_task \
--title="Implement user authentication" \
--description="Build OAuth2 integration for user login system" \
--priority=4 \
--project_id=1 \
--metadata='{"energy": "medium", "mode": "deep", "extend": true, "minutes": 60, "hyper_focus_comp": 4}'
AI 搭載の推奨を取得
# Get 5 tasks optimized for current focus session
daily-focus --energy=high --mode=deep --hours=2 --max_items=5
# Get single best recommendation with reasoning
get-focus-recommendation --energy=medium --max_minutes=45 --mode=quick
タスクのメタデータを抽出
# Validate metadata extraction from existing tasks
get-task-metadata --task_id=42
🔧 利用可能なツール
MCP ツール(Claude 経由)
| ツール | 目的 | パラメーター |
|---|---|---|
daily-focus | AI が推奨するタスクリストを取得 | energy、mode、hours、max_items |
get-focus-recommendation | 理由付きで最適なタスクを 1 つ取得 | energy、mode、max_minutes |
get-task-metadata | 過集中のメタデータを抽出 | task_id |
upsert_task | タスクを作成/更新 | title、description、priority、project_id |
開発コマンド
# Production MCP server
make build
# Run comprehensive test suite
make ci-test
# Code quality checks
make ci-local
📈 検証結果
✅ エンドツーエンドテスト(2025 年 6 月)
- タスク作成:✅ メタデータの埋め込みを検証済み
- AI 推奨:✅ コンテキストに基づくフィルタリングを確認済み
- パイプライン統合:✅ Claude → MCP → OpenAI → Vikunja のフローをテスト済み
- パフォーマンス:✅ タスク操作の応答時間は 1 秒未満
🎯 主な指標
- 応答時間:CRUD 操作は 1 秒未満、AI 推奨は約 2~3 秒
- 精度:メタデータの保持と抽出は 100%
- スケーラビリティ:ページネーションにより、1000 件以上のタスクデータベースに対応
- 信頼性:包括的な再試行ロジックとエラー処理
🏗️ アーキテクチャの詳細
データフロー
- タスク作成:Vikunja の説明にリッチなメタデータを JSON として埋め込みます
- メタデータ抽出:コンテンツと過集中属性を明確に分離します
- AI 分析:OpenAI が認知コンテキストに基づいてタスクの適合性を評価します
- インテリジェントな順位付け:過集中との適合スコアに基づいてタスクを並べ替えます
- コンテキストに応じた応答:説明を添えて推奨を提示します
主要コンポーネント
Vikunja クライアント(pkg/vikunja/client/)
- 認証および再試行ロジックを備えた本番環境向け HTTP クライアント
- 包括的なエラー処理を備えた部分的な CRU(D)操作
- 大規模なタスクコレクション向けのページネーションに対応
- Go のジェネリクスを使用した型安全な API バインディング
フォーカスエンジン(internal/focus/)
- ツール登録を備えた MCP サーバーの実装
- タスクメタデータの抽出と拡充のパイプライン
- OpenAI 意思決定エンジンとの統合
- 開発とテスト向けの RESTful ハンドラー
意思決定エンジン(internal/openai/)
- 最適なタスク選択を実現する多層 LLM アーキテクチャ
- 認知状態に基づくコンテキスト対応の推奨
- タスク選択の理由を示す説明可能な AI
- モデル選択とパラメーターを設定可能
データモデル(models/)
- ADHD のワークフローに最適化された豊富な型定義
- 検証機能を備えた過集中メタデータのスキーマ
- Vikunja の生データと拡充されたタスクを明確に分離
- 将来の拡張に対応する拡張可能なアーキテクチャ
🎯 技術革新
ADHD に最適化された設計原則
- 認知負荷の軽減:AI が意思決定の麻痺を解消します
- エネルギー状態の適合:自然なエネルギーパターンに合ったタスクを選びます
- 過集中との適合性:延長可能な、科学的根拠に基づく 25 分の基本単位
- コンテキストの保持:ワークフローを妨げることなく、豊富なメタデータを保持します
本番環境向けエンジニアリング標準
- クリーンアーキテクチャ:関心事と依存性注入を適切に分離
- 包括的なテスト:ユニット、統合、エンドツーエンドの検証
- 可観測性:コンテキスト情報を含む構造化ログ
- スケーラビリティ:水平スケーリングに対応するステートレス設計
最新の AI 統合
- マルチモデルアプローチ:異なる認知タスクに特化した LLM
- 説明可能な推奨:タスク選択の透明性の高い理由提示
- 継続的な学習:ユーザーフィードバックを活用した将来の拡張に対応するアーキテクチャ
- 倫理的な AI:ユーザーの自立を重視した透明性の高い意思決定
📊 パフォーマンス特性
| 指標 | 値 | 備考 |
|---|---|---|
| タスクの作成 | <500ms | メタデータの埋め込みを含む |
| メタデータの抽出 | <100ms | JSON の解析と検証 |
| AI レコメンデーション | 2-3s | OpenAI API の呼び出しと処理 |
| 同時ユーザー数 | 100+ | ステートレスアーキテクチャ |
| データベースサイズ | 1000+ タスク | ページネーションに最適化 |
| メモリ使用量 | <50MB | 効率的な Go 実装 |
🤝 貢献
皆さまからの貢献を歓迎します!ガイドラインについては、CONTRIBUTING.md をご覧ください。
開発環境のセットアップ
# Install dependencies
go mod download
# Run tests
make ci-test
# Deploy new server (configure in Claude Desktop)
make build
# Run linting
make ci-local
コード品質基準
golangci-lintによる検証を含む Go のベストプラクティス- 包括的なテストカバレッジ(目標は 80% 超)
- コンテキスト情報を含む 構造化ログ
- テスト容易性と保守性を実現する インターフェース駆動設計
📄 ライセンス
このプロジェクトは Apache License 2.0 の下でライセンスされています。詳細については、LICENSE ファイルをご覧ください。
🏆 評価
このプロジェクトは、以下を実証しています。
- クリーンアーキテクチャと本番環境の基準に基づく 高度な Go エンジニアリング
- マルチティア LLM アーキテクチャを使用した 最新の AI 統合
- 生産性に関する実際の課題に取り組む 革新的なプロダクト思考
- 認知科学の原則に裏付けられた ADHD インクルーシブな設計
世界中の ADHD コミュニティと生産性を重視する方々のために、心を込めて開発しました。❤️
📞 お問い合わせ
Gil Blinov - GitHub
プロジェクトリンク: https://github.com/BelKirill/vikunja-mcp
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。