基本的なMCPアプリケーション
モデル コンテキスト プロトコル (MCP) が FastAPI および Gradio でどのように機能するかを示すシンプルなアプリです (私は Streamlit の頭痛を楽しむ開発者ではないため)。
概要
このプロジェクトは、Gradioフロントエンドを備えた基本的なMCPサーバーのデモンストレーションです(Streamlitは頭痛の種でしたが、人生は無駄な苦労をするほど長くはありません)。ユーザーは、マーケティング担当者が「シンプルなインターフェース」と呼ぶもの、そして開発者が「次のステップに進む前にできる最善のこと🥲」と呼ぶものを通して、AIモデルとチャットできます。
Related MCP server: Beamlit MCP Server
テクノロジースタック
バックエンド: FastAPI + MCP Python SDK (ピザにパイナップルを乗せるのとは違い、まさに天国のような組み合わせ)
フロントエンド: Gradio (きれいなボタンを見るとドーパミンが分泌されるので)
AI 統合: Google Gemini API (星占いのサインではなく、サンダー・ピチャイの AI AI AI AI AI のもの)
既知の問題
⚠️ご注意ください
現在、引用ツールが正常に動作していません。論文の引用を分析する際や、一部の高度な検索機能を使用する際にエラーが表示される場合があります。この問題の修正に取り組んでいます。いつ修正されるでしょうか? ¯\_(ツ)_/¯ もしかしたら、AGIが使えるようになる頃かもしれません。
Semantic Scholar APIにはレート制限があり、検索機能で「論文を直接検索して提供できません」というエラーメッセージが表示される場合があります。これは、無料APIが熱心なユーザーに利用されると発生する現象です。私たちは無料APIを心から愛しています。少し待ってからもう一度お試しください(レート制限がリセットされるまで、コーヒーでも飲んで気分転換しましょう)。
セットアップをスピードアップ
このプロジェクトは、超高速なPythonパッケージインストーラーであるuvと相性抜群です!pipが次の世紀に終了するのを待つ代わりに、 uvを使えば数秒で依存関係をインストールできます。よりスムーズな操作性を求めるなら、ぜひuvをお勧めします(そして、プログレスバーを見つめて何時間も無駄にしていた時間を節約できます)。
クイックスタート
必要なもの
Python 3.11 以降 (まだ Python 2 を使っている方はごめんなさい)
pip パッケージ マネージャー (またはより高性能で高速な
uv)RCB の忍耐力(Google で検索してください)(オプションですが推奨)
セットアップ手順
このプロジェクトを複製します:
git clone https://github.com/yourusername/basic-mcp-app.git cd basic-mcp-app仮想環境を作成します(グローバルな依存関係は感情的なダメージにつながるため)。
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate必要なパッケージをインストールします。
pip を使用する (亀の方法):
pip install -r requirements.txtuv を使用する (実際にレースに勝つのはウサギのやり方です):
# Install uv first if you don't have it curl -LsSf https://astral.sh/uv/install.sh | shまたは
pip install uv次に、uv を使用して依存関係をインストールします。
uv pip install -r requirements.txtuvを使うと、Python パッケージのインストールが超高速になります!通常の pip よりもはるかに高速です(約束します🤞)。pip が指示内容を理解する間に、uv は既にインストールを完了し、コーヒーを淹れて、次のアプリの作成を開始しています。API キーを設定します (GitHub にコミットすべきではないものの、誰かが必ずコミットするもの)。
cp .env.example .env # Open .env and add your API keys両方のサーバーを 1 つのコマンドで実行します (魔法のようですが、セミコロンが多くなります)。
python run.pyこれにより、バックエンドとフロントエンドの両方が同時に起動します。まるでケーキを食べて、カロリーも抑えたような、まさにケーキを食べるようなものです。
必要に応じて、別々に起動することもできます (コントロールフリーク向け)。
バックエンド:
uvicorn backend.main:app --reloadフロントエンド:
python frontend/app.py
Web ブラウザを開き、 http://localhost:8501にアクセスします (これが機能しない場合は、電源をオフにしてから再度オンにしてみてください 😑)
プロジェクトファイル
開発が実際に始まると決してこのようにきれいなままにはならないであろう、この美しいディレクトリ構造を見てください:
特徴
Semantic Scholar を使用した科学論文検索(Google Scholar が主流になりすぎている場合に)
論文分析ツール(常に60%の確率で機能する)
シンプルなチャットインターフェース(ユーザーにとってはシンプルだが、開発者にとっては悪夢)
セットアッププロセスは簡単です(エベレストに登ったことがある人なら、公園を散歩するのと同じくらい簡単でしょう)
ライセンス
MIT (私は優しいので、長いライセンスを読みたくないのです)
ありがとう
MCP 向け Anthropic - https://www.anthropic.com/news/model-context-protocol
デモの一部をバイブコーディングしてくれたClaudeさん、完全ではなくほんの少しだけ🤏。