In this article
Python Fast Agent AIフレームワークを使ってターミナルでインタラクティブなMCPサーバー体験を構築する
ターミナルを中心としたコマンドラインインターフェースで、エージェント型のAI対応チャット体験を構築するには、どうすればよいでしょうか。そこで活躍するのが、PythonのオープンソースプロジェクトFast Agentです。
エージェント型ワークフローを構築する過程で、CrewAIやLangChainなど、さまざまなAIフレームワークを試したことがあるかもしれません。しかし、Fast Agentは、抽象化を最小限に抑えた洗練されたSDKを提供します。さらに特筆すべきは、ほかのどのMCPアプリケーションやライブラリよりも充実したMCPクライアントサポートです。
MCPについて言えば、AnthropicのModel Context Protocolは急速に普及し、仕様も定期的に更新されています。Fast Agentもその流れに乗り遅れていません。SamplingなどのMCPクライアント機能をすでにサポートしています。こうした理由から、このプロジェクトはMCPで拡張したワークフローを構築するための優れた基盤となります。
uvでPython開発環境をセットアップする
それでは、Fast Agentを使ったローカルのPython開発プロジェクトを始めましょう。
まずは、モダンなPython開発環境を整えます。以前のPythonでは、pipでインストールしたパッケージがグローバルに共有され、バージョンの競合が起きるため、環境構築は面倒でした。macOSなどの環境では、Pythonランタイムのバージョン(2.xと3.x)の違いもあり、Pythonインタープリターのバージョン管理は難しく、扱いにくいものでした。
そんなときに役立つのがuvです。uvはRustで書かれた新しいPythonパッケージマネージャーで、非常に高速です。Pythonインタープリターのバージョンやプロジェクトごとの依存関係などを簡単に管理でき、開発者にとって快適な体験をもたらします。
uvをインストールしたら、Python 3.xが正しく使えることを確認しましょう。次のコマンドを入力します。
uv python listPython 3.xのバージョン一覧が表示され、右側の列にインストール先のパスが表示されます。ローカルにバージョンがない場合は、次のようにインストールしてください。
uv python install 3.13Python環境にFast Agentをインストールする
uvとPython 3.xをインストールできたので、Fast Agentを使ってAI MCPアプリケーションを構築しましょう。
プロジェクト用の新しいディレクトリを作成します。
mkdir fast-agent-workflow
cd fast-agent-workflowこのディレクトリでuvパッケージマネージャーを初期化します。
uv inituv initコマンドを実行すると、必要なマニフェストファイルと、パッケージ依存関係の解決に使う仮想環境が作成され、新しいPythonプロジェクトがセットアップされます。インタープリターにはデフォルトでPython 3.xが設定されます。
続いて、新しい仮想環境(プロジェクト内に限定された環境)を作成し、Fast Agentをインストールします。
uv venv
source .venv/bin/activate
uv pip install fast-agent-mcp次のような出力が表示されます。
Resolved 89 packages in 2.45s
Prepared 36 packages in 1.76s
Installed 89 packages in 236ms
+ a2a-types==0.1.0
+ aiohappyeyeballs==2.6.1
+ aiohttp==3.12.12
+ aiosignal==1.3.2
+ annotated-types==0.7.0
+ anthropic==0.53.0
+ anyio==4.9.0
+ attrs==25.3.0
+ azure-core==1.34.0
+ azure-identity==1.23.0
+ cachetools==5.5.2
+ certifi==2025.4.26
+ cffi==1.17.1
+ fast-agent-mcp==0.2.30
+ fastapi==0.115.12
+ mcp==1.9.3
+ openai==1.85.0次に、シェルでfast-agent実行ファイルを使って、Fast Agentアプリケーションのファイルと設定を初期化します。次を実行してください。
fast-agent quickstart state-transferエージェントのコードファイル、Fast Agentの設定ファイル、シークレットが含まれるstate-transferディレクトリが作成されます。
注意:シークレットをリポジトリにコミットしたり、何らかの形で公開したりしないように気をつけてください。シークレットをコミットする危険性について知りたい方は、環境変数にシークレットを保存する場合の問題点について書いた記事をご覧ください。もちろん、IDEでSnykを使えば(拡張機能をダウンロードするだけです)、機密性の高い認証情報を検出して警告してくれます。
Fast AgentでMCPを活用したAIチャットをターミナル上で実現する
それでは、AIアプリケーションの構築に取りかかりましょう。
まず、LLMとの連携が正しく動作することを確認します。そのために、LLMプロバイダーのAPIキーを取得する必要があります。ここではOpenAIを使います。
ファイルfastagent.secrets.yaml.exampleの名前をfastagent.secrets.yamlに変更し、拡張子.exampleを削除します。
Fast Agentアプリケーションの設定も更新しましょう。state-transferディレクトリにあるfastagent.config.yamlを開き、default_modelとloggerを次のように変更します。
default_model: gpt-4.1-mini
# Logging and Console Configuration:
logger:
level: "debug"
type: "file"
path: "/tmp/fast.jsonl"
# Switch the progress display on or off
progress_display: true次は、MCPサーバーの設定に進みます。
これからMCPサーバーを構築する方は、ぜひMCPサーバー構築のベストプラクティス5選もご覧ください。
現在のMCPサーバー設定にはagent_oneのスタブがあります。これを削除し、次のようにMCPサーバーを再定義します。
mcp:
servers:
fetch:
transport: "stdio"
command: "uvx"
args: ["mcp-server-fetch"]
filesystem:
transport: "stdio"
command: "npx"
args: ["-y", "@modelcontextprotocol/server-filesystem", "."]上記の設定では、filesystemとfetchのエージェントを通じて公開する、2つの新しいMCPサーバーを定義しています。
次に、agent_one.pyファイルを編集して、新しいMCPサーバーを反映します。
変更前のFast Agentアノテーションは次のとおりです。
# Define the agent
@fast.agent(name="agent_one", instruction="You are a helpful AI Agent.")
async def main():次のように編集して、新しいMCPサーバー設定を反映します。
# Define the agent
@fast.agent(name="agent_one", servers=["fetch", "filesystem"], instruction="You are a helpful AI Agent")
async def main():ヒント:MCPサーバーは、AIコードアシスタントのワークフローやバイブコーディングを効率化する強力な手段です。ぜひSnykの無料MCPサーバー機能をエージェント型ワークフローに接続してみてください。
MCPサーバーを使ったFast Agentアプリケーションを実行する
次に、state-transferディレクトリ内で、agent_one.pyファイルを次のように実行します。
uv run agent_one.py次のような出力が表示されます。
Type /help for commands, @agent to switch agent. Ctrl+T toggles multiline mode.
agent_one >
agent_one Mode: NORMAL <Enter>:Submit | Ctrl+T:Multiline Editing | Ctrl+L:Clear | ↑/↓:History | v0.2.30Fast Agentを使った対話型ターミナルユーザーインターフェースが起動し、LLMを活用したアプリケーションを操作できるようになります。OpenAIのAPIキーを追加したことを覚えていますか?これで自分専用のAIチャットボットが完成です。
さらに、このLLMには、MCPサーバー設定を通じてファイルシステムへのアクセスと、WebサーバーからのURL取得も許可しました。
構築したFast Agentアプリケーションを実際に操作するデモをご覧ください。

その結果、ディスク上に新しい`SNYK.md`ファイルが作成されました。ファイルの内容は次のとおりです。
# Latest News from Snyk.io
- Snyk has launched the AI Trust Platform to secure AI-generated code and AI native applications, emphasizing trust as the foundation for AI-driven secure software.
- The platform integrates AI-powered workflows for development and security stakeholders, leveraging agentic and assistant-based AI for automation, efficiency, and innovation.
- Snyk focuses on proactive, AI-powered security with its application security testing engines noted as the fastest, most accurate, and most comprehensive.
- Snyk supports organizations of all sizes in achieving application security, compliance, and DevSecOps governance goals.
- The company highlights its ecosystem approach with technology integrations that work with existing tools and workflows to bring secure AI solutions to life.
- Key resources featured include guides and articles such as the "CISOs Guide to Safely Unleashing Power of Gen AI," tips on engaging developers in security programs, and building strong AppSec programs from basics to best practices.
- Snyk invites users to start securing AI-generated code quickly or book a demo to explore developer security use cases.
This summary captures the latest focus and offerings highlighted on the Snyk homepage as of now.エージェント型ワークフローには、ほかにどのようなMCPを接続できるでしょうか。さらに調べてみたい方に、いくつかアイデアをご紹介します。
MCPのセキュリティ対策も忘れずに。見逃せないAIセキュリティリスク12選をご覧ください。
MCPセキュリティの攻撃ベクトルについて詳しくはこちら:MCPセキュリティ:新しいものは、実は昔からあるもの
eBook
テクノロジー業界における開発者セキュリティの6つのベストプラクティス
このeBookをダウンロードして、開発者のワークフローにセキュリティを組み込むための6つのベストプラクティスをご覧ください。セキュリティ対策を効率化し、アプリケーションを保護しながら、スピードを損なうことなくイノベーションを維持する方法を学べます。