try_fastmcp について
try_fastmcpは、FastMCPサーバーとOpenAIを利用するStreamlitチャットクライアントを組み合わせたPythonプロジェクトです。公開データセット検索、ニュース検索、計算ツール、あいさつリソースを提供します。
主な機能
- 01data.gouv.ciの公開データセット検索
- 02ニュース検索
- 03算術・数学ツール
- 04個別あいさつリソース
- 05Streamlitチャットクライアント
活用シーン
- 01data.gouv.ciで公開データセットを探す
- 02クエリに応じたニュース検索
- 03チャットで計算を行う
MCP 対応
FastMCPでMCPサーバーを構築し、データセット・ニュース検索、数学ツール、あいさつリソースを公開します。StreamlitクライアントはOpenAI APIを使ったチャットを提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
try_fastmcp
このプロジェクトは、FastMCP ライブラリを使用して MCP サーバーを作成する Python アプリケーションです。また、openai ライブラリを使用して OpenAI API とやり取りします。
前提条件
- Python 3.6 以降
- OpenAI API キー
インストール
-
リポジトリをクローンします。
git clone <repository_url> cd try_fastmcp -
仮想環境を作成します。
python -m venv env -
仮想環境を有効にします。
env\Scripts\activate -
依存関係をインストールします。
pip install -r requirements.txt -
OpenAI API キーを設定します。
.env.exampleファイルを.envに名前を変更し、OPENAI_API_KEYを入力します。
使用方法
MCP サーバーを実行するには、次のコマンドを実行します。
python server.py
MCP クライアントを実行するには、次のコマンドを実行します。
streamlit run client.py
説明
この MCP サーバーは、以下のツールを提供します。
get_all_datasets:data.gouv.ci カタログからすべての公開データセットを取得します。websearch_newssearch:ユーザーのクエリに基づいてニュース記事を取得します。add:2つの数値を加算します。subtract:2つの数値を減算します。multiply:2つの数値を乗算します。divide:2つの数値を除算します。power:2つの数値のべき乗を計算します。sqrt:数値の平方根を計算します。cbrt:数値の立方根を計算します。factorial:数値の階乗を計算します。log:数値の対数を計算します。remainder:2つの数値を除算したときの余りを計算します。sin:数値の正弦を計算します。cos:数値の余弦を計算します。tan:数値の正接を計算します。
また、以下のリソースも提供します。
greeting://{name}:名前に合わせた挨拶を取得します。
貢献者
- Deepseek
TODO
- 履歴の長さを制限する「メモリトリミング」メカニズムを追加する
- 長いやり取りの会話要約を実装する
- 会話をリセットするオプションを追加する
- 履歴を永続ストレージ(データベース、ファイル)に保存する
- 応答を Markdown 形式にする
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。