mcpField
R
RoutineKit

RoutineKit

ローカル
github.comAI・エージェント18 週間前に更新

RoutineKit について

RoutineKitは、明示的に選んだMCPまたはWebMCPの呼び出しを、レビュー可能なパラメーター付きルーチンとして保存し、人の承認後に再実行します。各手順をモデルに再構成させずに定型ワークフローを再利用したいエージェント利用者向けです。

主な機能

  1. 01選択したツール呼び出しの記録
  2. 02型付き入力と前段の結果のバインド
  3. 03実行時のツール契約の検証
  4. 04実行内容の確認と承認
  5. 05SKILL.md付きルーチンのエクスポート

活用シーン

  1. 01新しい入力でファイル書き込みを再実行
  2. 02保存前にルーチンの結果を確認
  3. 03承認済みルーチンを別のエージェントと共有

MCP 対応

RoutineKitは、設定済みのローカルstdio MCPサーバーへの接続、ルーチンの記録・実行、保存済みルーチンの管理に使うツールを提供するMCPサーバーです。対応するMCP AppsホストではワークベンチUIを開けます。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"sjh9714-routinekit": {
"command": "npx",
"args": [
"-y",
"routinekit"
],
"env": {
"ROUTINEKIT_CONFIG": "<ROUTINEKIT_CONFIG>",
"ROUTINEKIT_HOME": "<ROUTINEKIT_HOME>"
}
}
}
}
起動コマンドnpx -y routinekit
設定が必要な環境変数
ROUTINEKIT_CONFIGOptional absolute path to your reviewed local stdio server configuration.
ROUTINEKIT_HOMEOptional directory for saved routines. Defaults to ~/.routinekit.

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmroutinekit0.2.0

ツール

16

掲載時のツール一覧 · 3 週間前に更新

このツールにパラメーターはありません。

詳細

RoutineKit

エージェントが一度実行した操作を、何度でも実行できるツールにしましょう。

RoutineKit は、成功した呼び出しのうち明示的に選択されたものを、レビュー済みで、パラメーター化され、実行可能なルーチンに変換します。入力を変更し、実際に稼働しているツールを確認して、実行を承認すれば、モデルに各ステップを再構成させずに再実行できます。

ローカルワークベンチでのキャプチャ、承認、再実行の実際の画面

公式 filesystem MCP サーバーを使ったスクリプト実行によるキャプチャ/再実行チュートリアルです。新しいファイルパス、新しい内容、読み戻しによる成功確認が含まれています。録画を見る。

DeepSeek Harness (DSH) から開始するか、スタンドアロンのワークベンチと、ネイティブの WebMCP ページを使う MCP サーバーを利用できます。別のエージェントが見つけて実行できるように、付属の SKILL.md とともにルーチンをエクスポートできます。

v0.2 プレビュー。 明示的に設定したローカル MCP サーバーを接続し、その呼び出しをキャプチャして、ツールとして保存し、型指定された入力で再利用できます。互換性のあるホストでは、ワークベンチは MCP App としても実行できます。これは、レビュー済みの直線的なワークフロー向けの決定的なランナーであり、汎用のコンピューター操作エージェントや OS サンドボックスではありません。

ローカルで試す

Node 22.19+ が必要です。ネイティブ WebMCP には、現行の Chrome/Edge または Playwright Chromium も必要です。Chromium 151 と Chrome 152 でローカルテスト済みです。ブラウザー API は実験的なため、変更される場合があります。ローカル MCP のファイルワークフローには、WebMCP 対応ブラウザーは必要ありません。

npx routinekit doctor
npx routinekit demo

デモでは、実際のブラウザープレイグラウンドの横にローカルワークベンチが開きます。開示されたスクリプト実行によるチュートリアルであり、LLM ではありません。WebMCP の実際の呼び出しを 2 回行い、サンプルプロジェクトを見つけて、返された ID を使ってそのプロジェクトを開きます。

  1. Preview capture をクリックします。入力のバインドと、最初のステップで返された ID への参照を確認します。
  2. Add success check をクリックし、step_2 /opened を選択して、true を入力します。Save as a named tool にチェックを入れ、Review & save をクリックして、正確なルーチンを承認します。JSON エディターの使用は任意です。
  3. 新しい category に timer(または drawing)を入力し、Review & run をクリックします。
  4. 実行と各 WebMCP 呼び出しを承認します。選択されたプロジェクトが変わります。2 番目のステップでは、記録済みの ID ではなく、新しい結果の ID が使われます。

デモの localhost オリジンは、プロセスの実行中のみ存在します。デモのルーチンは、再起動後に別のオリジンへ暗黙的に再バインドされないよう意図的に設計されています。継続して利用するには、安定したオリジンで独自の WebMCP アプリを接続してください。

チュートリアルにはアカウント、モデル API キー、GPU は必要ありません。対応ブラウザーがインストールされていない場合:

npx [email protected] install chromium
実際の filesystem MCP ワークフローを試す

新しい空のデモディレクトリで、参照サーバーと RoutineKit を明示的にインストールします。

npm init -y
npm install routinekit @modelcontextprotocol/[email protected]
npx routinekit demo-files ./node_modules/@modelcontextprotocol/server-filesystem/dist/index.js

この開示されたスクリプト実行によるチュートリアルでは、インストール済みの公式 filesystem MCP サーバーを新しい一時ワークスペースとともに起動し、first-note.txt に書き込んでから読み戻します。既存のファイルは使用しません。ワークベンチでは、次の操作を行います。

  1. step_2 /content と Input: content を比較するチェックを追加します。
  2. Save as a named tool を選択してバインドを確認し、保存を承認します。
  3. ターミナルに表示された新しいファイルパスを使用し、異なる内容を入力して、承認のうえ実行します。結果は新しい内容と一致する必要があります。
  4. 同じルーチンは、所有する MCP セッションで、file と content を直接入力する routine_saved_write_and_check として利用できます。保存するには Export skill ZIP を選択します。

終了すると、デモの一時ファイルとルーチンは削除されます。エクスポートしたルーチンを別の場所で実行するには、一致する files サーバーを新たに承認する必要があります。権限とファイルアクセスは引き継がれません。このキャプチャはスクリプトによるものであり、モデルが自律的に成功した証拠ではありません。

DeepSeek Harness で

dsh plugin --profile web add routinekit

このプレビューでは DSH 0.1.2-rc.1 を使用してください。プラグインはツールを登録し、ウェブサイドバーに RoutineKit ボタンを追加します。DSH コアを変更したり、既存のツール権限を置き換えたりすることはありません。

パネルを開いて Initialize RoutineKit in DSH を選択するか、次のように依頼してください。

routine_tools を使って、記録できるツールを一覧表示してください。[変化する入力] を使って [自分のタスク] を繰り返したいです。実行する前に、必要なツールだけを使い、引数には正確な例の値を指定して routine_record を使ってください。タスクを完了し、routine_preview を表示して、その結果を検証できるチェック項目を提案してください。承認するまでは保存しないでください。

DSH ネイティブのルーチンを再生する場合、パネルの Run in DSH ボタンは、現在の会話を通じて routine_run リクエストをキューに追加します。この起動にはホストモデルを使用する場合があります。再生エンジン自体はモデルを一切呼び出しません。各ステップは ctx.tools.execute を通じてディスパッチされ、同じエージェントスコープ、キャンセル、承認ポリシー、ガードが維持されます。

記録はタスク単位です。保存した DSH ルーチンは DSH_HOME/routinekit(利用可能なワークスペース/タスクの ID ごとに分割)に保存されます。スタンドアロンのストレージには ROUTINEKIT_HOME または ~/.routinekit を使用します。明示的に公開された保存済みツールは、所有するエージェントのスコープに登録され、すべてのワークスペースでグローバルに登録されることはありません。ルーチンを保存しても、実行権限は付与されません。

このプレビューでは、ウェブパネルはループバック接続のみに対応しています。リモート/LAN アクセスはサポートされていません。DSH のパッケージ経過日数ポリシーによって公開直後のパッケージが拒否された場合は、そのポリシーの待機期間が終わるまで待ってください。RoutineKit をインストールするためにポリシーを緩和しないでください。

MCP クライアントで

クライアントの通常の MCP 設定を使って、この stdio サーバーを追加してください。

{
  "mcpServers": {
    "routinekit": {
      "command": "npx",
      "args": ["-y", "routinekit", "mcp"]
    }
  }
}

アクションには人間によるフォーム入力の要求が必要です。この機能がないクライアントでは、ルーチンの一覧表示や確認はできますが、実行を自動承認できません。代わりに、スタンドアロンのワークベンチには npx routinekit open を使用してください。基本的な MCP サポートだけを根拠に、クライアントが完全に互換性があると判断しないでください。

停止すると、アクティブなサーバー操作が完了し、保留中の入力要求に対してプロトコル上のキャンセルが送信されます。クライアントの承認 UI を閉じられるかどうかは、そのクライアントのキャンセル対応に依存します。

MCP Apps ホストでは、routine_workbench を呼び出してインライン UI を開きます。ツール実行には同じ経路を使い、ホスト側の人間によるフォーム入力のプロンプトも引き続き必要です。モデルから呼び出し可能な承認のバイパスは公開されていません。パッケージ化された HTML には外部スクリプト、スタイル、ネットワークリソースは含まれていません。ブラウザー連携は公式の @modelcontextprotocol/ext-apps AppBridge SDK でテストされていますが、個々のデスクトップクライアントでの動作は認定されていません。ホストによっては ZIP のダウンロードがブロックされる場合があります。その場合も CLI によるエクスポートは利用できます。

独自のローカル MCP ツールを接続する

RoutineKit は、同じ階層にある MCP の設定を調べたり、その呼び出しを自動的に記録したりしません。インストール済みの実行可能ファイルとサーバーへの絶対パスを指定して、独自のローカル設定を作成し、routinekit open --config /absolute/path/routinekit.config.json または routinekit mcp --config /absolute/path/routinekit.config.json を実行します。DSH では、ホストを起動する前に同じパスを ROUTINEKIT_CONFIG で指定します。

{
  "servers": {
    "files": {
      "command": "/absolute/path/to/node",
      "args": ["/absolute/path/to/server-filesystem/dist/index.js", "/absolute/path/to/allowed-workspace"],
      "tools": ["write_file", "read_text_file"]
    }
  }
}

Windows では絶対 Windows パスを使用し、JSON では通常どおりエスケープします。Review & connect(または server: "files" を指定した routine_mcp_connect)を使うと、起動前にコマンドと引数が表示されます。記録するには、生成された mcp:files:write_file ツールと mcp:files:read_text_file ツールを選択します。これらはワークベンチのフォームまたは routine_mcp_call から呼び出します。省略可能な envFrom 配列では、継承する環境変数を指定します。認証情報の値をファイルやルーチンに記述しないでください。

このプレビューがサポートするのは、ローカル stdio、明示的なツール許可リスト、構造化 JSON または単一のテキスト結果です。HTTP/OAuth サーバー、サンプリング、ルートリクエスト、上流からのエリシテーションはプロキシしません。起動されるプロセスは、コンテナーではなく、OS ユーザーの権限を持つ信頼されたローカルコードです。ファイルやネットワークに関する制限は、そのプロセス自体の設定が重要になります。RoutineKit はサーバーをインストールしません。ソフトウェアをインストールしたり、サブプロセスを起動したりする可能性がある設定済みのコマンドは、必ず確認してください。

ツールとして保存する

expose: true を指定して routine_save を使用するか、ワークベンチのチェックボックスをオンにします。write-and-check という名前のルーチンは routine_saved_write_and_check となり、inputs_json ではなく、名前付き入力を直接受け取ります。互換性の上限を超える長さの名前には、決定的なハッシュサフィックスが付加されます。MCP はツールリストの変更を通知し、DSH は所有エージェントに対してのみツールを登録します。同じワークスペースを再度開くと、保存済みのツール定義が読み込まれます。新しい入力、実行時のコントラクト検証、ホストガード、新たな承認は引き続き必要です。

一般的なフロー:

routine_web_open → routine_tools → routine_record
→ routine_web_call … → routine_preview → routine_save
→ routine_run with new inputs

routine_record は、name、inputs_json(スカラー値の例を含む JSON オブジェクト)、明示的な tools 配列を受け取ります。routine_web_call は、完全一致する webmcp: ツール名と arguments_json を受け取ります。routine_run は、name と inputs_json を受け取ります。JSON 文字列を使うことで、DSH と MCP のインターフェースに一貫性を持たせています。

その他のツール:routine_list、routine_inspect、routine_import、routine_export、routine_discard、routine_stop。ネイティブの DSH ツールは dsh: 名前空間を使用し、引き続き DSH でそれらのツールを利用できる必要があります。RoutineKit がホストをまたぐ同等のツールを新たに作ることはありません。

保存される内容

次の内容を含む小さな JSON ルーチンです。

  • 名前付き入力の型。元の入力例の値は含まれません。
  • 選択したツールの識別情報、該当する場合は正確なオリジン、入出力コントラクト。
  • パラメーターのバインディングと、先行する結果への曖昧さのない参照を含む、順序付きの引数。
  • 構造的な出力チェックと、追加した明示的な成功チェック。

生の記録出力は、最大 40 回の呼び出し/15 分間/上限付き JSON サイズの範囲で、メモリ内にのみ保持されます。ルーチンには保存されません。確認済みのリテラル引数は保存され、非公開の業務データを含む場合があります。共有する前に内容を確認してください。

バインディングの推論は、スカラー値が完全に一致する場合にのみ行われます。RoutineKit は、部分文字列、ループ、分岐、変換、曖昧な依存関係を推論しません。小さな数値定数(0/1)、ブール値、短い結果文字列、曖昧な値は、先行する結果に自動的に紐付けられません。提案されたバインディングを確認し、ルーチンを信頼して使用する前に、入力を変更した代表的なケースでテストしてください。

コントラクトのフィンガープリントは、スキーマやオリジンの変更、および上流 MCP の場合はサーバーのエイリアス/名前/バージョンの変更を検出しますが、同じ識別情報とスキーマを報告する実装の変更は検出しません。形状チェックでは業務上の成功は証明できません。/opened == true や、名前付き入力と一致する結果フィールドなどのチェックを追加してください。後続のステップが失敗しても、それ以前の副作用はロールバックされません。

実行可能なスキルを共有する

routinekit list
routinekit inspect my-routine
routinekit export my-routine ./my-routine

新しいディレクトリには SKILL.md と routine.json が含まれています。スキル ZIP をエクスポートすると、CLI を使わずにワークベンチから同じ 2 つのファイルをダウンロードできます。ZIP を展開し、インポートフォームで routine.json を選択してください。既存の保存先が上書きされることはありません。別のユーザーが JSON を確認してインポートし、自分の入力を指定して、互換性のあるツールを再接続し、新しい実行を承認します。

エクスポートしたスキルは、認証情報や同意を移行するものではありません。ホスト、ツール、オリジン、スキーマが異なると、ルーチンが意図的に実行できない場合があります。欠落したツールをシェルやコンピューター操作のフォールバックで、決して暗黙に置き換えないでください。

知っておくべき境界

  • キャプチャは明示的に行われ、選択したツールと 1 つの DSH タスクまたは MCP 接続に限定されます。呼び出しが重複した場合や失敗した場合、記録は無効になります。
  • WebMCP は新しいブラウザーコンテキストを使用します。既存の Cookie、ログインプロファイル、ローカルファイル、デスクトップキャプチャは使用しません。サードパーティーのサイトにはポリフィルを注入しません。
  • クロスオリジンリクエスト、ポップアップ、ダウンロード、サービスワーカーはブロックされます。そのため、クロスオリジンの依存関係があると、サイトが読み込めない場合があります。承認済みの WebMCP 呼び出し以外では、GET 以外のリクエストはブロックされます。
  • サイトのツールの説明や読み取り専用のヒントは信頼できない情報です。WebMCP の呼び出しにはすべて承認が必要です。承認した呼び出しでも、サイトの状態が変更されることがあります。これは悪意あるサイトに対するセキュリティサンドボックスではありません。
  • 認証情報の検出はヒューリスティックです。秘密情報を記録しないでください。DSH、MCP クライアント、Web サイトは、それぞれ独立して独自のログを保持する場合があります。
  • ローカルエンドポイントではソケット、Host、Origin、Fetch Metadata を確認します。スタンドアロン API では、さらに一時的なケイパビリティトークンが必要です。これらの確認では、OS ユーザーとして実行されている悪意あるソフトウェアから保護できません。
  • JSON Schema の参照、正規表現による制約、フォーマット制約は拒否されます。サポートされていないコントラクトは、検証済みとして扱われずに停止します。ネストされた入力引数には、高度な JSON エディターが必要な場合があります。
  • 停止すると、リプレイがキャンセルされ、RoutineKit が所有するブラウザーと直接起動した MCP プロセスが閉じられます。信頼されたサーバーが独自に起動した孫プロセスのクリーンアップは保証できません。DSH ネイティブツールはキャンセルに協力する必要があります。RoutineKit は、プロセス内の任意のプラグインを強制終了できません。
  • アカウント、クラウドバックエンド、テレメトリー、モデルサンプリング、スケジュール実行、マーケットプレイス、ユーザーのアカウントでの GitHub アクションの自動実行はありません。

開発

npm ci
npm run build
npm run check
npm test
npm run test:e2e

ユニットテストと統合テストでは、バインディング、結果参照、コントラクトの変更、明示的な成功確認、承認拒否、キャンセル、秘密情報の拒否、ファイル境界、実際の DSH ツールパイプライン、保存済みツールのスコープ、スキル ZIP の内容、実際のファイルシステム MCP サブプロセスを対象としています。ブラウザー E2E テストでは、3 つのネイティブ WebMCP ワークフロー、ワークベンチのフォーム、公式 AppBridge SDK 内の MCP App を実行します。テストでの承認は合成されたものであり、UI テストではユーザーが実際に目にするものと同じ承認コントロールをクリックします。これらは、自律的なモデルタスクの成功を主張するものではありません。

問題を報告する際は、DSH/ブラウザーのバージョン、ツール名、期待する結果、サニタイズ済みの最小再現手順を記載してください。生の記録、Cookie、トークン、非公開のルーチン内リテラルは添付しないでください。

なぜ別のツールが必要なのでしょうか?

Microsoft Skill Recorder のような記録からスキルを作成するプロジェクトは、作業を再利用する価値を示しています。RoutineKit は、より対象を絞ったアプローチを探ります。既存のハーネスで構造化された呼び出しを記録し、レビュー済みのデータフローを保持して、実際のコントラクトに対して再生します。記録、スキル、ワークフローエンジンを発明したと主張するものではありません。

WebMCP は実験的なウェブ標準です。ブラウザーアダプターは、ネイティブの検出/呼び出し API に従っています。ワークフローの保持に関する議論は関連する先行事例ですが、RoutineKit の JSON 形式を支持するものでも、採用された標準でもありません。

役に立った場合は、GitHub でスターを付けていただくと、ほかの開発者にも見つけてもらいやすくなります。再利用できる小さなサンプルや失敗事例を共有していただければ、さらに改善に役立ちます。

MIT ライセンスです。

コメント

MCP は初めてですか?

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

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