コンテンツにスキップ

MCP 入門: Fetch サーバーチュートリアル (Getting Started with MCP: Fetch Server Tutorial)

このチュートリアルでは、Fetch MCP サーバー を使用して最初の MCP サーバーをセットアップする手順を解説します。これは初心者に最適なシンプルな Web コンテンツ取得ツールです。

作成するもの (What We're Going to Build)

Web コンテンツ取得機能を提供する Fetch MCP サーバー をセットアップします。このサーバーにより、AI エージェントは Web ページからコンテンツを取得して処理し、扱いやすいように HTML を Markdown へ変換できるようになります。

なぜ Fetch なのか?

  • ✅ セットアップが簡単 - uvx を使用して自動インストール
  • ✅ 複雑な依存関係がない - インターネットアクセス環境のみで動作
  • ✅ 即座に効果を確認できる - すぐにテスト可能
  • ✅ 実用的 - リサーチやコンテンツ分析に最適

Griptape Nodes における MCP の動作原理

graph LR
    A[Agent] --> B[MCPTask Node]
    B --> C[MCP Server]
    C --> D[外部システム/ツール]
    D --> E[結果/データ]
    E --> C
    C --> B
    B --> A

MCPTask ノードは Griptape Nodes ワークフローと外部 MCP サーバーとの間の架け橋として機能し、AI エージェントが外部システムとシームレスに対話できるようにします。

ステップバイステップチュートリアル (Step-by-Step Tutorial)

ステップ 1: MCP サーバー設定を開く

  1. Griptape Nodes を開きます
  2. Settings → MCP Servers に移動します

    MCP Server メニュー

  3. 初めて MCP サーバー設定を開いた場合、設定済みの MCP サーバーはまだ存在しません。

    空白の MCP サーバー設定

ステップ 2: MCP サーバーの作成

新しい MCP サーバーを作成するには、適切な MCP サーバー設定を構成する必要があります。

  1. + New MCP Server をクリックします

    新規 MCP サーバー

  2. Server Name/ID を fetch に設定します

  3. Connection Type がまだ設定されていない場合は Local Process (stdio) に設定します
  4. Configuration (JSON) を確認します。以下のような構造になっています:

    {
        "transport": "stdio",
        "command": "",
        "args": [],
        "env": {},
        "encoding": "utf-8",
        "encoding_error_handler": "strict"
    }
    

    これは、クライアント (Griptape Nodes) がサーバーにどのように接続するかを指示するために記入する必要がある情報です。

    ほとんどの MCP サーバーのドキュメントには、Claude や VS Code 向けにセットアップする手順が記載されています。Fetch サーバーも同様ですので、その手順を Griptape Nodes 向けに適応させます。

  5. Fetch MCP サーバーの GitHub ページにアクセスします

  6. Configuration セクションまでスクロールします
  7. Configure for Claude.app セクションに「Using uvx」と記載されています。これを展開して手順を確認します:

    {
        "mcpServers": {
            "fetch": {
            "command": "uvx",
            "args": ["mcp-server-fetch"]
            }
        }
    }
    

    注目すべき部分は command と args です。これをサーバー設定で使用します。

  8. Configuration (JSON) を以下のように編集します:

    {
        "transport": "stdio",
        "command": "uvx",
        "args": ["mcp-server-fetch"],
        "env": {},
        "encoding": "utf-8",
        "encoding_error_handler": "strict"
    }
    

    ドキュメントの内容に合わせて command と args の設定を変更しただけである点に注目してください。

    任意: カスタムルールの追加

    AI エージェントがこの MCP サーバーを使用する際の指示を提供するために、Rules テキストエリアに任意のカスタムルールを追加できます。エージェントがこのサーバーのツールを使用する際、これらのルールが自動的に適用されます。

    例えば、以下のように入力できます:

    Always validate URLs before fetching. Return errors in JSON format if a fetch fails.
    

    ルールは、この特定の MCP サーバーと対話する際のエージェントの挙動を誘導し、一貫性のある適切な使用を担保するのに役立ちます。

  9. Create Server をクリックします

    Fetch サーバー作成完了

ステップ 3: サーバーの管理

作成が完了すると、リストにサーバーが表示されます。以下の操作が可能です:

  • トグルボタンによるサーバーの 有効化/無効化 (Enable/Disable)
  • Edit ボタンをクリックしてサーバーの 編集 (Edit)(ルールの追加や変更が可能)
  • 削除ボタンによるサーバーの 削除 (Delete)

完了したら設定画面を閉じます。

ステップ 4: MCP Task の作成

  1. ワークフローエディタで、Agent セクションから MCP Task ノードをドラッグして配置します

    MCP Task ノードをワークフローエディタにドラッグ

  2. MCP Task ノードの mcp_server_name ドロップダウンから fetch を選択します

    MCP Server オプション

  3. サーバーが表示されない場合は、再読み込みボタン (reload button) をクリックしてリストを更新してください

ステップ 5: セットアップのテスト

プロンプト入力欄に、インターネット上の情報に関する質問を入力します。例えば:

Explain MCP: https://www.anthropic.com/news/model-context-protocol

MCP の説明プロンプト

その後、ノード上の Run ボタンを押します。

ステップ 6: 結果の確認

ノードが実行され、以下のような結果が返されます:

実行結果

次のステップ: タスクの連結 (Chaining Tasks)

MCP サーバーが正常に動作するようになったら、以下の展開が可能です:

複数タスクのチェーン(連結)

  • 最初の MCP Task ノードに別の MCP Task ノードを接続します
  • 2 つ目のタスクはさらなる情報を尋ねることができ、必要に応じて MCP サーバーを使用します
  • 各タスクで必要に応じて異なる MCP サーバーを使用することも可能です

複数タスクの連結

2 つ目のタスクでは、公式 MCP サイトについてエージェントに質問していますが、具体的な URL を明示的に指定していない点に注目してください。直前の応答で MCP サーバーが URL を返したためです。エージェントは対話内容を記憶しており、それに基づいて反復的に処理を深めることができます。

次に学ぶこと

最初の MCP サーバーのセットアップが完了しました。以下のトピックに進みましょう: