MCP Blog Project について
MCP Blog Projectは、MCPを学ぶ開発者向けの書籍サービス連携例です。TypeScript製のMCPサーバー、書籍モックサービス、OllamaとLangChainを使うPythonのコマンドラインクライアントで構成されています。
主な機能
- 01stdio対応のTypeScript製MCPサーバー
- 02Express製書籍モックサービス
- 03Python対話型コマンドラインクライアント
- 04LangChain経由のOllama連携
活用シーン
- 01MCPサーバーとクライアント構成の学習
- 02モックサービスでの書籍検索テスト
MCP 対応
TypeScriptサーバーはstdioでMCP SDKを使用し、Pythonクライアントを書籍モックサービスに接続します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
MCP ブログプロジェクト
このプロジェクトでは、ブログアプリケーションシステムにおける Model Context Protocol(MCP)の実装を紹介します。言語モデルと構造化データ操作をシームレスに統合する、連携して動作する3つの主要コンポーネントで構成されています。
プロジェクト構成
.
├── books-mcp-server/ # TypeScript MCP server implementation
│ ├── build/ # Compiled JavaScript files
│ ├── src/ # Source TypeScript files
│ └── package.json # Server dependencies and scripts
├── books-mock-service/ # Mock service for book data
│ └── server.js # Express.js mock server
└── mcp-client/ # Python MCP client implementation
└── client.py # Main client application
コンポーネント
1. Books MCP サーバー
クライアントとモックサービス間の通信プロトコルを処理する、TypeScript ベースの MCP サーバーです。
- 型安全性を確保するために TypeScript で構築されています
- MCP の実装に
@modelcontextprotocol/sdkを使用しています - stdio トランスポート層で動作します
2. Books モックサービス
書籍データサービスをシミュレートするシンプルな Express.js サーバーです。
- 書籍関連の操作用にモックエンドポイントを提供します
- Express.js で構築されています
- 軽量で拡張も簡単です
3. MCP クライアント
MCP プロトコルを使用して言語モデルと連携する、Python ベースのクライアントです。
- LLM 連携に
langchain_ollamaを使用します - クエリを処理する MCPAgent を実装しています
- 対話型の CLI インターフェースを提供します
セットアップ手順
- Books MCP サーバーのセットアップ
cd books-mcp-server
npm install
npm run build
- Books モックサービスのセットアップ
cd books-mock-service
npm install
npm run dev
- MCP クライアントのセットアップ
cd mcp-client
# Create and activate virtual environment (recommended)
python -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
# Install dependencies (requirements.txt needed)
pip install langchain-ollama mcp-use
使用方法
- モックサービスを起動します:
cd books-mock-service
npm run dev
- 新しいターミナルを開き、クライアントを実行します:
cd mcp-client
python client.py
- プロンプトが表示されたら、クエリを入力します。終了するには「exit」と入力します。
開発
- MCP サーバーは TypeScript で構築されています。
srcディレクトリ内を変更し、npm run buildを実行して再ビルドしてください server.jsに新しいルートを追加して、モックサービスを拡張できますclient.pyの LLM 設定を変更して、クライアントをカスタマイズできます
依存関係
- MCP サーバーとモックサービスには Node.js と npm が必要です
- クライアントには Python 3.x が必要です
- ローカル LLM のサポートには Ollama が必要です
package.jsonファイルに記載された各種 npm パッケージ- Python パッケージ:langchain-ollama、mcp-use
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。