Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
FastMCPでMCPサーバー/クライアントを構築してみる
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
ttnyt8701
May 29, 2025
Programming
3
660
FastMCPでMCPサーバー/クライアントを構築してみる
https://blueish.connpass.com/event/355753/
ttnyt8701
May 29, 2025
Tweet
Share
More Decks by ttnyt8701
See All by ttnyt8701
Gemini CLI のはじめ方
ttnyt8701
1
250
ObsidianをMCP連携させてみる
ttnyt8701
3
4.2k
Claude Codeの使い方
ttnyt8701
2
370
LangChain Open Deep Researchとは?
ttnyt8701
2
390
Vertex AI Agent Builderとは?
ttnyt8701
4
360
A2A(Agent2Agent )とは?
ttnyt8701
2
450
Amazon Bedrock LLM as a Judgeを試す
ttnyt8701
2
140
Amazon Sagemaker Jump Startを用いて爆速でモデルを作成してみる
ttnyt8701
3
94
Amazon SageMaker Lakehouseでデータのサイロ化による課題を解決する
ttnyt8701
2
57
Other Decks in Programming
See All in Programming
Vibe Coding - AI 驅動的軟體開發
mickyp100
0
170
0→1 フロントエンド開発 Tips🚀 #レバテックMeetup
bengo4com
0
540
Automatic Grammar Agreementと Markdown Extended Attributes について
kishikawakatsumi
0
180
Basic Architectures
denyspoltorak
0
660
2026年 エンジニアリング自己学習法
yumechi
0
130
AI Agent の開発と運用を支える Durable Execution #AgentsInProd
izumin5210
7
2.3k
Fragmented Architectures
denyspoltorak
0
140
Oxlint JS plugins
kazupon
1
440
CSC307 Lecture 03
javiergs
PRO
1
490
Package Management Learnings from Homebrew
mikemcquaid
0
200
CSC307 Lecture 09
javiergs
PRO
1
830
生成AIを使ったコードレビューで定性的に品質カバー
chiilog
1
230
Featured
See All Featured
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
420
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
100
Deep Space Network (abreviated)
tonyrice
0
45
Believing is Seeing
oripsolob
1
53
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.1k
Why Our Code Smells
bkeepers
PRO
340
58k
Exploring anti-patterns in Rails
aemeredith
2
250
A better future with KSS
kneath
240
18k
Build The Right Thing And Hit Your Dates
maggiecrowley
38
3k
A Tale of Four Properties
chriscoyier
162
24k
WCS-LA-2024
lcolladotor
0
440
Transcript
FastMCPでMCPサーバー/クライアントを構築してみる 2025.05.29 ©BLUEISH 2025. All rights reserved.
立野 祐太 Yuta Tateno LLMを用いた業務プロセス改善アプリケーションの開発従事しています エンジニア 自己紹介 ©BLUEISH 2025. All
rights reserved.
1. MCPとは? 2. FastMCPとは? 3. ハンズオン 4. 振り返り 目次
MCPとは? ©BLUEISH 2025. All rights reserved.
MCPとは? MCPはAIアプリケーションが外部システムとやり取りするためのオープンプロトコル → AIアプリケーション用の USB-Cのようなもの。USB-Cのように1つの規格で何にでも接続可能
MCPとは? MCPホスト 生成AIモデルを搭載したアプリケーション (claude desktop, cursorなど) MCPホストからMCP クライアントを通じて外部データやツールにアクセス
MCPとは? MCPクライアント MCP ホスト内に組み込まれたコンポーネント MCP サーバーとの1:1接続を確立し、機能を利用するためのリクエストを送信
MCPとは? MCPサーバー 特定のデータソースやツールへのアクセスを提供する軽量プログラム
FastMCPとは? ©BLUEISH 2025. All rights reserved.
FastMCPとは? FastMCPはMCPサーバー とMCPクライアント を高速かつ簡単に作成することができる Pythonのフレームワーク
FastMCPとは? なぜ必要なのか? 課題 MCPの実装にはサーバーのセットアップ、プロトコルハンドラー、コンテンツタイプ、エラー管理など、多くの定型処理 が必要 解決 FastMCPが複雑なプロトコルの詳細とサーバー管理をすべて処理するため、開発者はツールの構築に集中できる
FastMCPとは? FastMCP v1 公式MCP Python SDKに組み込まれている FastMCP v2 完全なクライアント サポート、サーバー構成、
OpenAPI/FastAPI 統合、リモートサーバー プロキシ、組み込みテスト ツールなどを導入することで、 v1の基本的なサーバー構築機能を大幅に拡張した、アクティブにメンテナンスされて いるバージョン v1とv2では高い互換性があり、基本的には import文を変更するだけで移行可能
ハンズオン ©BLUEISH 2025. All rights reserved.
インストール
MCPサーバー構築 1. ライブラリをインポート 2. MCPサーバーを初期化 3. 関数を定義 4. デコレータを使ってサーバーにツールを登録 5.
ローカル実行なのでトランスポートは stdioを指定
MCPサーバー構築 利用可能なトランスポート
MCPサーバー構築 ファイルを実行してサーバーが立ち上がることを確認 fastmcpコマンドでも実行可能で、このとき mainブロックは実行されない。 ソースコードの変更なしでトランスポートなどの設定が可能
MCPサーバー構築 MCPホストから構築したMCPサーバーを呼び出す → Cursorを利用 MPCサーバーを登録 設定画面
MCPサーバー構築 MCPホストから登録したMCPサーバーを利用していることを確認
MCPクライアント構築 1. ライブラリをインポート 2. 非同期関数を定義 3. スクリプトパスを指定 4. トランスポートを初期化 5.
クライアントからMCPサーバーのツール を呼び出し
MCPクライアント構築 実行してみると、登録してあるMPCサーバーのツー ル情報と呼び出し結果が確認できた
振り返り ©BLUEISH 2025. All rights reserved.
1. FastMCPとはMCPを簡単に構築できるPythonフレームワーク 2. 数行のコードでMCPサーバーとMCPクライアントを構築することが確認できた 振り返り
参考 https://modelcontextprotocol.io/introduction https://gofastmcp.cm/getting-started/welcome https://github.com/jlowin/fastmcp?tab=readme-ov-file