Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
FastMCPでMCPサーバー/クライアントを構築してみる
Search
ttnyt8701
May 29, 2025
Programming
3
550
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
210
ObsidianをMCP連携させてみる
ttnyt8701
3
3.1k
Claude Codeの使い方
ttnyt8701
2
340
LangChain Open Deep Researchとは?
ttnyt8701
2
340
Vertex AI Agent Builderとは?
ttnyt8701
4
290
A2A(Agent2Agent )とは?
ttnyt8701
2
430
Amazon Bedrock LLM as a Judgeを試す
ttnyt8701
2
91
Amazon Sagemaker Jump Startを用いて爆速でモデルを作成してみる
ttnyt8701
3
80
Amazon SageMaker Lakehouseでデータのサイロ化による課題を解決する
ttnyt8701
2
44
Other Decks in Programming
See All in Programming
Developing static sites with Ruby
okuramasafumi
0
130
TUIライブラリつくってみた / i-just-make-TUI-library
kazto
1
310
30分でDoctrineの仕組みと使い方を完全にマスターする / phpconkagawa 2025 Doctrine
ttskch
3
730
TypeScriptで設計する 堅牢さとUXを両立した非同期ワークフローの実現
moeka__c
6
2.9k
これだけで丸わかり!LangChain v1.0 アップデートまとめ
os1ma
6
1.3k
sbt 2
xuwei_k
0
190
AIエンジニアリングのご紹介 / Introduction to AI Engineering
rkaga
3
1.1k
Level up your Gemini CLI - D&D Style!
palladius
1
170
新卒エンジニアのプルリクエスト with AI駆動
fukunaga2025
0
150
AI時代もSEOを頑張っている話
shirahama_x
0
230
ZOZOにおけるAI活用の現在 ~モバイルアプリ開発でのAI活用状況と事例~
zozotech
PRO
8
4.1k
【Streamlit x Snowflake】データ基盤からアプリ開発・AI活用まで、すべてをSnowflake内で実現
ayumu_yamaguchi
1
110
Featured
See All Featured
Thoughts on Productivity
jonyablonski
73
5k
Optimising Largest Contentful Paint
csswizardry
37
3.5k
Become a Pro
speakerdeck
PRO
30
5.7k
The World Runs on Bad Software
bkeepers
PRO
72
12k
Side Projects
sachag
455
43k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.5k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
36
6.2k
Leading Effective Engineering Teams in the AI Era
addyosmani
8
1.2k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
253
22k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.8k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Being A Developer After 40
akosma
91
590k
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