コンテンツにスキップ
これは最新の機能を備えた最新リリースですが、長期サポートは提供されません。サポートを継続するには、新しいリリースごとにアップグレードするか、四半期ごとの安定版リリースをご利用ください。

For the complete documentation index, see llms.txt. Markdown versions of all docs pages are available by appending .md to any docs URL.

ツールを追加する

Page as Markdown

MCP サーバープロジェクトにカスタムツールを追加します。

ツールは、MCP サーバーがエージェントや MCP クライアントに公開する関数です。各ツールには名前、機能と受け付けるパラメーターの説明、エージェントまたはクライアントが利用できる戻り値があります。エージェントまたはクライアントが MCP サーバーに接続すると、利用可能なツールを検出し、アクションの実行やデータの取得のためにツールを呼び出せます。

ツールの定義に使用する言語は、MCP サーバースキャフォールドの作成時に選択したフレームワークによって異なります。Python ベースのサーバー (FastMCP Python) では、各ツールは、サーバーに登録するデコレーターを付けた Python 関数です。Go ベースのサーバー (FastMCP Go) では、ツールは Go で記述します。MCP サーバープロジェクトのツールディレクトリにソースファイルを追加してスキャフォールドを拡張します。

始める前に

  1. OIDC プロバイダーをセットアップして、ユーザーがレジストリで認証できるようにします。

  2. Solo Enterprise for agentregistry をインストールし、arctl CLI をセットアップします。

  3. まだ実行していない場合は、Solo Enterprise for agentregistry サーバーをポート 12121 でポートフォワードします。レジストリはデフォルトでは外部に公開されないため、ローカルマシンから到達するにはポートフォワードが必要です。

    kubectl -n agentregistry-system port-forward svc/agentregistry-enterprise-server 12121:12121
  1. uv をインストールします。

ツールを追加する

  1. まだ実行していない場合は、MCP サーバーを作成します。

    次のコマンドは、echo ツールを持つ mymcp FastMCP サーバーを作成します。コマンドを実行すると、MCP サーバーのスキャフォールドを含む mymcp ディレクトリがローカルマシン上に作成されます。

    arctl init mcp mymcp --framework fastmcp --language python
  2. mymcp/src/tools/ ディレクトリに word_count.py ファイルを作成します。このツールは文字列を受け取り、単語数と文字数を返します。

    arctl init mcp mymcp --framework fastmcp --language python
  3. ローカルマシンで MCP サーバーを実行し、MCP Inspector を開きます。

    arctl run mymcp --inspector

    出力例:

    ...
    → fastmcp-python: docker run --rm -p 3000:3000 localhost:5001/mymcp:latest --transport http --host 0.0.0.0 --port 3000
    2026-05-14 18:39:46,327 - INFO - Loaded tool module: sum
    2026-05-14 18:39:46,329 - INFO - Loaded tool module: echo
    2026-05-14 18:39:46,329 - INFO - Loaded tool module: word_count
    2026-05-14 18:39:46,329 - INFO - 📦 Successfully loaded 3 tools
    2026-05-14 18:39:46,549 - INFO - HTTP Request: GET https://pypi.org/pypi/fastmcp/json "HTTP/1.1 200 OK"
    ...
    
    [05/14/26 18:39:46] INFO     Starting MCP server 'mymcp' with   transport.py:301
                              transport 'http' on
                              http://0.0.0.0:3000/mcp
    
    Starting MCP inspector...
    ⚙️ Proxy server listening on localhost:6277
    🔑 Session token: c3642ae11a0db7def05e2949631ae2cd3171119016627e69f420706d25b2846d
       Use this token to authenticate requests or set DANGEROUSLY_OMIT_AUTH=true to disable auth
    
    🚀 MCP Inspector is up and running at:
       http://localhost:6274/?MCP_PROXY_AUTH_TOKEN=c3642ae11a0db7def05e2949631ae2cd3171119016627e69f420706d25b2846d
    
  4. MCP Inspector で MCP サーバーに接続します。次の詳細を入力します。

    • トランスポートタイプ: Streamable HTTP を選択します。
    • URL: 先ほど取得した MCP サーバーの URL (例: http://localhost:3000/mcp)。
    • Connect をクリックします。
  5. Tools タブに移動し、新しく追加した word_count ツールが表示されることを確認します。How many words and characters are in this sentence? などの文字列を text フィールドに入力してツールを試します。次に Run Tool をクリックします。単語数と文字数が返されることを確認します。

次の手順