0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

SkillからMCPツールを呼ぶ設計:手順・依存関係・実行制御を分ける

0
Posted at

初めに

Skillに「社内資料を検索する」と書くだけでは、検索ツールは使えるようになりません。

必要なのは、作業手順、ツールへの接続、実行条件の検証です。

今回は、Agent Skillsの仕様とPiの実装を参考に、SkillとMCPを組み合わせる設計を整理します。

1. Skillには「何ができるか」と「いつ使うか」を書く

Skillは、エージェントに専門的な作業手順を渡す仕組みです。

descriptionには、機能だけでなく、ユーザーのどんな依頼に適用するかを書きます。Agent Skillsの仕様でも、両方を記述することが推奨されています。

---
name: doc-answer
description: >
  社内資料を検索・取得し、根拠と出典URL付きで回答する。
  社内の仕様、手順、設計、決定事項について質問された場合や、
  社内ドキュメントの検索・確認を依頼された場合に使う。
compatibility: 社内資料検索用のMCP接続が必要。
metadata:
  owner: "情シス 運用課"
---

## 手順
1. 質問から検索語を作る。
2. 接続済みの社内検索ツールの定義を確認する。
3. 定義に合う引数で検索する。
4. 空結果なら、検索語を変えて1回だけ再検索する。
5. 根拠が得られたら、回答と出典URLを返す。
6. 接続失敗・権限不足なら、その旨を伝えて終了する。

保守責任者は、標準の拡張用フィールドであるmetadataに記載できます。compatibilityは環境要件の説明に使えますが、接続や権限を設定する機能ではありません。

2. 必要な道具は、依存関係として明示する

「このSkillには、どのツールが必要か」を明示すると、不足を実行前に検出しやすくなります。

ただし、mcp_requirementsはAgent Skillsの標準フィールドではありません。機械的に検証したい場合は、ホストが解釈する独自の依存定義として設計します。

たとえば、別ファイルreferences/mcp-tools.jsonに書きます。

{
  "required": {
    "rag": ["knowledge_base_search"]
  }
}

これは独自形式です。ホスト側に、このファイルを読み、接続先とツールの存在を確認する実装が必要です。

また、資料検索Skillにチケット作成ツールまで要求する必要はありません。その作業に必要な道具を絞ることで、依存関係を管理しやすくなります。

3. Piは、Skillとツールを段階的に読み込む

Piは起動時にSkillの名前・説明・パスをモデルへ提示し、必要になったときに本文を読み込みます。

MCPツールにも、公開方法を選ぶ仕組みがあります。

方法 使い方
direct 小さく、頻繁に使うツール群を直接公開
deferred 必要なツールを検索して定義を読み込む
codemode コード内でツールを探索・呼び出す

Piの標準はcodemodeです。Skill本文もツール定義も、必要に応じて読み込む構成が参考になります。

なお、先ほどの独自依存ファイルの自動処理は、Piの標準機能として確認できたものではありません。採用する場合はExtensionなどで追加します。

4. 宣言と実行制御を組み合わせる

依存定義にツールが書かれていても、それだけで実行を許可しません。

ホストとサーバーで、引数・アクセス権・実行結果を検証します。PiでもMCP呼び出しは共通のツール実行経路を通り、Extensionの確認処理を適用できます。

実装では、次の分担を明確にすると保守しやすくなります。

  • Skill:適用条件、作業手順、結果の扱い
  • 依存定義:作業に必要なツール
  • ホスト/サーバー:接続、権限、検証、実行制御

標準フィールドを使いつつ、独自の依存管理には実行側の実装を用意する。この組み合わせが、再利用しやすいSkillを作るポイントです。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?