日本語
← ホームに戻る

MCP / Agent / Skill / Harness

エージェント応用に関係する概念の編集マップ

MCP、Agent、Skill、Harness は、エージェント応用におけるコンテキスト交換、タスク実行、再利用可能な指示、ホストランタイムという別々の関心を表します。この四分類は Aphrodite の編集モデルであり、業界共通のアーキテクチャでも、全製品が四者を実装するという主張でもありません。

最終確認:現行 MCP アーキテクチャ(2026-07-28)

MCPアーキテクチャ図
  1. Claude Code
    1. Harness
      1. Skill
      2. Agent
      3. Tool
      1. MCP
        1. 外部ツール/データ
🔗

MCP - Model Context Protocol

接続レイヤープロトコル

MCP は AI アプリケーションと外部システムがコンテキストを交換するためのオープンなクライアント—サーバープロトコルです。ホストがクライアントを調整し、サーバーは許可されたツール、リソース、プロンプトなどを公開します。モデル学習、推論、Agent 内部の推論ループは定義しません。

MCPとは?

MCPは通信プロトコルであり、AIが以下をどう行うかを規定します:

  • 操作の実行を要求する
  • 外部データを取得する
  • ローカルアプリケーションとやり取りする

仕組み

  1. MCPクライアントがローカルプロセスまたはリモートサービスに接続
  2. クライアントとサーバーがJSON-RPCのリクエスト、レスポンス、通知を交換
  3. サーバーが許可済みのツール、リソース、プロンプトへアクセス
  4. クライアントが正規化した結果をモデルまたはホストUIへ提示

設定例

{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-filesystem", "/Users/you/Projects"]
    },
    "git": {
      "command": "uvx",
      "args": ["mcp-server-git", "--repository", "/Users/you/Projects/example"]
    }
  }
}

Windowsでは cmd /c 経由で npx を呼び出す必要がある場合があります。設定パスはClaude Desktop、Claude Code、Codex、Cursorで異なります。2026-07-29にMCP公式リポジトリと照合しました。

公式リファレンスサーバー

運営委員会のリファレンスサーバー公式リポジトリ):

  • Everything
  • Fetch
  • Filesystem
  • Git
  • Memory
  • Sequential Thinking
  • Time

これらは学習・参照用の実装であり、そのまま本番環境に適するとは限りません。MCP Registry で第三者サーバーを探し、導入前に公開者、権限、セキュリティ、保守状況を評価してください。アーカイブ済みサーバーとベンダーまたはコミュニティのサーバーは別の分類です。

🤖

Agent - AIエージェント

タスク実行レイヤー

Agentは複雑なタスクを自律的に計画・実行できるAIシステムです。単純な質疑応答とは異なり、Agentは次のように行動します:目標を理解する → 計画を立てる → 行動を実行する → 結果を評価する → 戦略を調整する。

コア機能

  • 複雑な指示を理解する
  • 大きなタスクを小さなステップに分解する
  • 次のアクションを自律的に判断する
  • ツールを使って具体的な操作を完了する
  • 実行結果から学習する

使用例

Claude Agentとの会話例

ユーザー:このプロジェクトのエラーハンドリングをリファクタリングしてほしい

Claude Agent:

エラーハンドリングのリファクタリングをお手伝いします。まず現在のコード構造を分析します…

  1. プロジェクト内のエラーハンドリングコードをスキャン
  2. 繰り返されているパターンを特定
  3. 統一されたエラーハンドリング方針を設計
  4. モジュールごとにリファクタリングを実施
  5. テストを実行して既存機能が壊れていないことを確認

[Agentが上記のすべてのステップを自律的に実行]

GitHub Copilotとの比較

Claude CodeとGitHub Copilotはいずれも、ターミナルまたはIDEでエージェント型コーディングとコードレビューを提供します。権限確認、サンドボックス、モデル選択、クラウド非同期タスク、MCPの対応範囲は製品、クライアント、バージョンによって異なります。ローカルレビューとプルリクエストレビューを区別し、最新の製品ドキュメントを確認してください。

最終確認:。出典:Claude Codeドキュメント · GitHub Copilot機能

🛠️

Skill - ケイパビリティ拡張

機能強化レイヤー

Skillは、エージェントが専門的なタスクのために必要に応じて読み込む指示・スクリプト・リソースのまとまりです。SKILL.md形式は公開されており、特定の製品に固有のものではありません。Claude Codeはそれを読み込むホストの一つです。Skillを使うことで、よく使うコマンドの定義、複雑なワークフローのカプセル化、ドメイン知識の追加などが可能になります。

Skillの種類

  • 個人Skill~/.claude/skills/ に保存して複数プロジェクトで再利用
  • プロジェクトSkill.claude/skills/ に保存してリポジトリで共有
  • プラグインSkill:インストール済みプラグインが提供
  • 組み込み機能:バージョン依存のため /help で確認

定義例

---
name: component-docs
description: Generate documentation for Vue components. Use when the user asks to document a component or component library.
---

Component documentation

  1. Inspect component props, emits, slots, and dependencies.
  2. Generate a usage example.
  3. Document accessibility and edge cases.
  4. Link to related components.

Path: ~/.claude/skills/component-docs/SKILL.md

使い方

  1. ~/.claude/skills/<name>/ または .claude/skills/<name>/ に完全な SKILL.md を含むフォルダーを作成
  2. 上記の YAML namedescription フィールドを記述
  3. タスクを説明するか Skill 名を指定し、文書化されていない組み込みコマンドを前提にしない
  4. /help を実行し、バージョン固有のコマンドは最新ドキュメントで確認

組み込みコマンド

Claude Code の組み込み機能名はバージョンによって変わる場合があります。/help を実行するか、最新のコマンドリファレンスを確認してください。個人・プロジェクト・プラグインの Skill が /skill-name コマンドを提供することもあります。

🧩

Harness - エージェントスキャフォールド

ランタイムレイヤー

ここで Harness は、モデルまたは Agent を囲むホストランタイムを表す編集上の用語です。システム指示、ツールループ、セッション状態、メモリ、権限、連携を組み合わせる場合がありますが、その境界は製品ごとに異なり、このページの全要素を必要とするわけではありません。

コア機能

  • system promptとツールループの組み立て
  • セッションコンテキストと長期メモリを維持
  • SkillとMCPサーバーのロードとスケジューリング
  • 権限管理、サンドボックス、ログを提供
  • 複数形態でホスト(CLI、IDEプラグイン、デーモン、Serverless)

Harness の構造解剖

最小Harnessの構造(Claude Codeを例に)

  1. system prompt → CLAUDE.md / リポジトリ説明
  2. tool loop → Read/Edit/Bash/Grep(組み込みツール群)
  3. MCP clients → mcpServers 設定で外部サーバーに接続
  4. skills → ~/.claude/skills/*.md(オンデマンドロード)
  5. runtime → ターミナル REPL / VS Code プラグイン / ゲートウェイデーモン

他のHarness実装:

  • Codex CLI (openai/codex) — Rustで書かれたターミナルHarness
  • OpenClaw — クロスプラットフォームマルチチャネルゲートウェイHarness
  • Hermes Agent — 学習ループを内蔵したHarness
  • Cursor Agent — IDEに組み込まれたHarness

四者の関係

MCP + Agent

MCP + Agent:AgentはMCPプロトコルを通じて外部ツールを呼び出します。例えば、Agentがファイルの読み書きを行う場合、MCPファイルシステムサーバー経由で実行します。

Agent + Skill

Agent + Skill:SkillはAgentのスキルパックです。ユーザーが特定のSkillを呼び出すと、Agentは対応するプロンプトテンプレートとワークフローを使用します。

Skill + MCP

Skill + MCP:Skillは複雑なMCP呼び出しをカプセル化できます。例えば、デプロイSkillはMCPのGit + Docker + CLIツールを呼び出す場合があります。

Harness + 三者

Harness + 三者:Harnessはホストであり、MCP/Agent/Skillを組み立てます。Harness設定ファイル(claudedesktopconfig.jsonなど)を変更することは配線をやり直すようなもので、新しいSkillを書くことはホストに新しいツールを取り付けるようなものです。Claude Code、Codex CLI、Cursor Agentはすべてこのホスト + 3点セットのインスタンスです。

MCP は基盤プロトコルであり、Agentが外部世界と通信できるようにする

Agent は実行主体であり、ユーザーの要求に基づいてタスクを計画・実行する

Skill は機能拡張であり、特定のタスクをより効率的かつ専門的にする

Harness はランタイムレイヤーであり、3つを実際に動作するエージェントに統合する

これらは連携することが多いものの、必須の技術スタックでも厳密な依存階層でもありません。製品ごとに境界と実装は異なります。