mcpField
A
assiststudio-runner

assiststudio-runner

ローカル
github.com/fieldcureAI・エージェント122 週間前に更新

assiststudio-runner について

assiststudio-runnerは、AssistStudioユーザーやMCPクライアント向けのWindows専用エンジンで、自然言語によるLLMタスクをスケジュール実行します。タスク管理ツール、Windows Task Schedulerとの連携、設定可能な結果配信を備えています。

主な機能

  1. 017つのMCPツールによるタスク管理
  2. 02定期実行と一回限りの実行設定
  3. 03コマンドラインからのヘッドレス実行
  4. 04複数のLLMプロバイダーに対応
  5. 05Outboxチャネル経由で結果を配信
  6. 06Windows Credential Managerで認証情報を保存

活用シーン

  1. 01平日の調査要約を定期実行
  2. 02テスト用にタスクをすぐ実行
  3. 03実行状況と履歴の確認

MCP 対応

stdioで動作するMCPサーバーとして、タスクの作成、更新、削除、一覧表示、実行に加え、状態と履歴の確認ツールを公開します。タスクから設定済みのMCPサーバーを起動することもできます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ
パッケージ
nugetFieldCure.AssistStudio.Runner2.0.4

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

AssistStudio Runner

NuGet License: MIT

自然言語によるタスクをスケジュールに従って実行し、設定済みのチャネルを通じて結果を配信する、Windows 専用のヘッドレス LLM タスク自動化エンジンです。公式の MCP C# SDK を使用した Model Context Protocol(MCP) サーバーとして構築されています。

特長

  • デュアルモード動作 — タスク管理用の MCP サーバー(serve)と、スケジュール実行用のヘッドレス CLI(exec)
  • 7 つの MCP ツール — create_task、update_task、delete_task、list_tasks、run_task、get_task_history、get_execution_status
  • Windows タスク スケジューラとの統合 — cron 式を schtasks エントリに自動的にマッピング
  • 共有 AgentLoop — Ai.Execution による LLM 実行(SubAgentExecutor と同じループを使用)
  • 複数プロバイダーの LLM に対応 — Ai.Providers を介した Claude、OpenAI、Gemini、Ollama、Groq
  • MCP サーバーのオーケストレーション — タスクから任意の MCP サーバー(Outbox、RAG、Filesystem、カスタム)を起動可能
  • 柔軟なツール制御 — AllowedTools が null の場合はすべてのツールを許可、明示的なリストで細かく制御、空のリストの場合は安全なツールのみ許可
  • 安全な認証情報 — Windows Credential Manager(DPAPI)に API キーを保存し、AssistStudio と共有
  • 実行ログ — DB サマリーと、会話履歴を完全に含む詳細な JSON ログ
  • 一回限りのスケジュール設定 — 単一実行タスク向けの ISO 8601 日時を指定する schedule_once(「5 分後」「明日の午前 9 時」など)
  • 結果の配信 — Outbox チャネル(Slack、Telegram、Email、KakaoTalk、Discord)を介して結果を送信

インストール

dotnet tool(推奨)
dotnet tool install -g FieldCure.AssistStudio.Runner

インストール後、assiststudio-runner コマンドをグローバルに使用できます。 スケジュール設定には Windows タスク スケジューラを使用し、認証情報は Windows Credential Manager に保存するため、公開パッケージは Windows 専用です。

ソースから
git clone https://github.com/fieldcure/fieldcure-assiststudio-runner.git
cd fieldcure-assiststudio-runner
dotnet build

要件

  • .NET 8.0 Runtime 以降
  • Windows(タスク スケジューラと Credential Manager に必要)

設定

自動設定(推奨)

runner.json がない状態で serve モードを起動すると、Runner は Windows Credential Manager をスキャンして既知のプロバイダー API キーを検出し、設定ファイルを自動生成します。AssistStudio をお使いの場合、API キーはすでに保存されているため、手動設定は不要です。

手動設定
# Create runner.json config template
assiststudio-runner config init

# Set API key for a provider model
assiststudio-runner config set-credential "Claude" sk-ant-api03-...

# Verify (displays masked value)
assiststudio-runner config get-credential "Claude"

設定ファイルは %LOCALAPPDATA%/FieldCure/AssistStudio/Runner/runner.json に作成されます。

{
  "defaultModelName": "Claude",
  "models": {
    "Claude": {
      "providerType": "Claude",
      "modelId": "claude-sonnet-4-20250514"
    }
  },
  "fallbackChannel": "runner-alerts",
  "logRetentionDays": 30
}
Claude Desktop

claude_desktop_config.json に追加します。

{
  "mcpServers": {
    "runner": {
      "command": "assiststudio-runner",
      "args": ["serve"]
    }
  }
}
VS Code(Copilot)

.vscode/mcp.json に追加します。

{
  "servers": {
    "runner": {
      "command": "assiststudio-runner",
      "args": ["serve"]
    }
  }
}
ソースから(dotnet tool を使わない場合)
{
  "mcpServers": {
    "runner": {
      "command": "dotnet",
      "args": [
        "run",
        "--project", "C:\\path\\to\\fieldcure-assiststudio-runner\\src\\FieldCure.AssistStudio.Runner",
        "--", "serve"
      ]
    }
  }
}

ツール

ツール説明確認
create_taskプロンプト、スケジュール、MCP サーバー設定を指定してタスクを作成必須
update_taskタスクのフィールドを変更 — 部分更新に対応し、変更したフィールドのみを更新必須
delete_taskタスク、その実行履歴、ログファイルを削除必須
list_tasksフィルタリングと最終実行ステータスを含めてタスクを一覧表示—
run_task実行を開始(デフォルトは非同期、オプションで 60 秒待機)必須
get_task_historyステータスで絞り込み、実行履歴を照会—
get_execution_status実行のリアルタイムのステータスを確認—

使用方法

会話の例
User: "Summarize competitor news every morning at 9 AM and send it to Slack"
  LLM → create_task (schedule: "0 9 * * 1-5", mcp_servers: [outbox, rag])

User: "Run a test"
  LLM → run_task (wait: true) → reports result

User: "Exclude weekends"
  LLM → update_task (schedule: "0 9 * * 1-5")

User: "What were yesterday's results?"
  LLM → get_task_history (limit: 1)
実行モード
モードコマンド目的
Serveassiststudio-runner serveタスク管理用の MCP サーバー(stdio)
Execassiststudio-runner exec <task-id>ヘッドレス実行(schtasks から呼び出されます)
Configassiststudio-runner config init設定テンプレートを作成します
assiststudio-runner config set-credential <key> <value>API キーまたは環境変数を保存します
assiststudio-runner config get-credential <key>認証情報を取得します(マスク済み)
終了コード(exec モード)
コード意味
0成功
1失敗
2タイムアウト
3タスクが見つかりません
4すでに実行中です

スケジュール設定

Cron 式は Windows タスク スケジューラのエントリに自動的にマッピングされます。

スケジュールパラメーターschtasks
指定時刻に1回schedule_once: "2026-04-07T15:30:00+09:00"/SC ONCE /SD 2026/04/07 /ST 15:30
30分ごとschedule: "*/30 * * * *"/SC MINUTE /MO 30
2時間ごとschedule: "0 */2 * * *"/SC HOURLY /MO 2
毎日午前9時schedule: "0 9 * * *"/SC DAILY /ST 09:00
平日の午前9時schedule: "0 9 * * 1-5"/SC WEEKLY /D MON,TUE,WED,THU,FRI /ST 09:00
毎月1日schedule: "0 9 1 * *"/SC MONTHLY /D 1 /ST 09:00

スケジュールされたタスクは schtasks /IT を使って作成されるため、対話型ユーザーのコンテキストで実行され、トリガー時にユーザーがログインしている必要があります。

schtasks のコマンドラインでは dnx(NuGet の npx 相当、.NET 10+)を使用してワーカーを取得し、実行します。dnx FieldCure.AssistStudio.Runner@<major>.* --yes exec <id> の形式です。ワーカーが使用するステートレス MCP サーバー(Essentials、Outbox)も、同じ方法で現在のメジャーバージョン範囲に固定して起動されます。NuGet に接続できないワークフローで具体的な実行ファイルを指定するには、RunnerConfig.ToolPath を設定してください。

データストレージ

データ保存場所
設定%LOCALAPPDATA%/FieldCure/AssistStudio/Runner/runner.json
タスクデータベース%LOCALAPPDATA%/FieldCure/AssistStudio/Runner/runner.db(SQLite、WAL)
実行ログ%LOCALAPPDATA%/FieldCure/AssistStudio/Runner/logs/{id}.json
API キーWindows 資格情報マネージャー(FieldCure.AssistStudio)

プロジェクト構成

src/FieldCure.AssistStudio.Runner/
├── Program.cs                    # Dual-mode entry point (serve/exec/config)
├── Models/                       # RunnerTask, TaskExecution, RunnerConfig, ExecutionLog
├── Storage/TaskStore.cs          # SQLite storage with WAL mode
├── Credentials/                  # ICredentialService + Windows PasswordVault
├── Scheduling/                   # CronToSchtasks parser, SchedulerService (schtasks)
├── Execution/                    # TaskExecutor (AgentLoop-based), McpServerPool
├── Tools/                        # 7 MCP tools for serve mode
└── Configuration/ConfigRunner.cs # CLI config subcommands

開発

# Build
dotnet build

# Test
dotnet test

# Pack
dotnet pack -c Release

AssistStudio 向けに設計

Runner は AssistStudio エコシステム向けに特化して作られています。通常、タスクは AssistStudio での自然言語による会話を通じて作成されます。AssistStudio がワークフローの設計、MCP サーバーの選択、ツールの権限設定を自動的に処理します。

Runner は serve モードを使って Claude Desktop や VS Code と単独で使用することもできますが、その場合はタスクのパラメーター(プロンプト、MCP サーバー、許可するツール)を手動で組み立てる必要があります。すべての機能を利用するには、AssistStudio を使用してください。

関連項目

AssistStudio エコシステムの一部です。

ライセンス

MIT

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。