Skip to main content
このガイドで構築するもの: 最小構成ながら完結した FastMCP セットアップです。ツールを公開する Python サーバーと、モデルによるツールの発見・呼び出しを可能にする SambaCloud ベースのクライアントを構築します。

概要

FastMCP は、Model Context Protocol のクライアントおよびサーバーを最小限のボイラープレートで構築できる、ハイレベルな Python フレームワークです。言語モデルと連携するツールの開発でも、外部 API を MCP 経由で統合する場合でも、FastMCP はクリーンな Python 構文と小さく焦点を絞った API により、煩雑な定型処理を削減します。 本ガイドでは、FastMCP と SambaCloud を連携させる手順を解説します。連携により、以下が可能になります。

ツール利用の実現

OpenAI 互換の Function calling インターフェースを通じて、SambaCloud のモデルから Python 関数を呼び出せるようにします。

エージェントのオーケストレーション

モデルが適切なタイミングで適切なツールを選択するマルチエージェントシステムを構築します。

外部 API のブリッジ

任意のサードパーティサービスを MCP ツールとしてラップし、モデルから呼び出せるようにします。

カスタムエージェントの提供

フレームワークのオーバーヘッドなしで、デコレーターベースの軽量なハンドラーを提供します。

前提条件

  • SambaCloud アカウントと、SambaCloud ポータル で取得した API キー
  • Python 3.10 以降がインストール済みであること。python --version で確認できます。
  • Python の仮想環境およびターミナル操作の基本知識

インストール

1

仮想環境の作成と有効化

2

必要なパッケージのインストール

openai は SambaCloud の OpenAI 互換 API の呼び出しに使用します。mcp パッケージには FastMCP のサーバークラスと MCP クライアントユーティリティの両方が含まれており、追加の依存パッケージは不要です。
3

SambaCloud API キーのエクスポート

API キーは決してソース管理にコミットしないでください。.env ファイルやシェルのシークレットマネージャーを使用してください。

利用方法

動作する FastMCP + SambaCloud 構成は、次の 2 つの要素からなります。
1

MCP サーバー

Python 関数をツールとして公開します。
2

クライアント

SambaCloud を呼び出し、どのツールを実行するかをモデルに判断させ、そのツール呼び出しをサーバーに転送します。

1. MCP サーバーの定義

以下を example_server.py として保存します。@mcp.tool() デコレーターが各関数を MCP 経由で公開し、mcp.run(transport="stdio") によりサーバーへ stdio 経由でアクセスできるようになります。
example_server.py
@mcp.tool() は、関数を MCP 経由で呼び出せるツールとして公開します。複数のツールを登録したり、標準的な Python の型アノテーションで複雑な入力を扱ったりできます。JSON スキーマは FastMCP が自動生成します。

2. SambaCloud の呼び出しとツール呼び出しのサーバーへの転送

クライアントは OpenAI SDK の接続先を SambaCloud のベース URL に設定し、example_server.py を stdio のサブプロセスとして起動して、モデルが返したツール呼び出しをサーバーに転送します。
client.py
MCP から OpenAI 形式へのツールスキーマ変換やレスポンス処理ループを含む、実行可能な完全版のブリッジについては、MCP SambaNova examples ノートブック をご参照ください。

ユースケース

Function calling

SambaCloud でホストされている任意のモデルで、ツール利用と Function calling を実現します。

マルチエージェントオーケストレーション

ツールを組み合わせ、専門エージェントに処理を委譲するエージェントフレームワークを構築します。

外部 API との統合

REST、GraphQL、社内サービスをモデルから呼び出せるツールとして公開します。

軽量なカスタムエージェント

重量級フレームワークへのロックインなしで、デコレーターベースのハンドラーを提供します。

参考情報

MCP SambaNova examples

クライアントブリッジの完全版を含むエンドツーエンドのノートブックです。

FastMCP の公式ドキュメント

FastMCP フレームワークの公式リファレンスです。

MCP Python SDK

低レベルの Model Context Protocol SDK です。

対応モデル

SambaCloud でツール利用に使えるモデルの一覧です。

トラブルシューティング

  • pip install --upgrade mcp を実行し、新しいバージョンが入っていることを確認します
  • 仮想環境が有効であることを確認します。which python が .venv 内を指しているはずです
  • FastMCP は公式の mcp パッケージに統合されました。別パッケージの fastmcp はインストールしないでください
  • キーがエクスポートされていることを確認します: echo $SAMBANOVA_API_KEY
  • export SAMBANOVA_API_KEY="your-key" で再度エクスポートしてから再試行します
  • クライアントは os.environ["SAMBANOVA_API_KEY"] でキーを読み取るため、同じシェルセッション内で変数が設定されている必要があります
  • 各ツール関数に docstring があることを確認します。FastMCP は docstring を使って、モデルに提示する JSON スキーマを生成します
  • クライアント呼び出しで provider={"only": ["sambanova"]} または同等のルーティング設定がされていることを確認します
  • SambaCloud モデルページ で、モデルが Function calling に対応していることを確認します
  • mcp には Python 3.10 以降が必要です。python --version で確認してください
  • 古いバージョンを使用している場合は、Python 3.10 以降で新しい仮想環境を作成してください