time-mcp について
time-mcpは、時刻API、MCPエージェントサーバー、Streamlitのチャット画面を組み合わせた質問応答システムです。時刻に関する質問ではAPIを呼び出し、それ以外はOpenRouter経由でLLMに回答させます。
主な機能
- 01Flask APIで現在時刻を取得
- 02意図を判定して必要なツールを呼び出し
- 03OpenRouter経由でLLMを利用
- 04Streamlitのチャット画面を提供
活用シーン
- 01チャット画面で現在時刻を確認
- 02LLMで一般的な質問に回答
- 03エージェントに追加ツールを実装
MCP 対応
MCPエージェントサーバーは時刻APIなどのツールを呼び出し、その結果をLLMの回答に利用します。Streamlitのチャット画面も含まれています。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
インストール方法は未掲載です
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ツール一覧はまだ取得されていません
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
time-mcp
ツール拡張型の LLM パイプラインを使用して、時刻に関する質問や一般的な質問に回答する、最小構成のエージェント型 AI システムです。
特長
- Flask API:現在のタイムスタンプを提供します。
- MCP Agent Server:ユーザーの意図を検出し、ツール(時刻 API など)を呼び出し、プロンプトを設計して、OpenRouter(OpenAI 互換 API)経由で LLM とやり取りする推論エージェントです。
- Streamlit UI:AI エージェントと会話するためのシンプルなチャットインターフェースです。
セットアップ
1. クローンと依存関係のインストール
pip install -r requirements.txt
2. 環境変数
OpenRouter API キーを設定します(https://openrouter.ai で取得してください)。
export OPENROUTER_API_KEY=sk-...your-key...
3. サーバーの起動
3 つのターミナルを開きます(またはバックグラウンドプロセスを使用します)。
ターミナル 1:Flask 時刻 API
python flask_api.py
ターミナル 2:MCP Agent Server
python mcp_server.py
ターミナル 3:Streamlit UI
streamlit run streamlit_ui.py
Streamlit UI がブラウザーで開きます(デフォルト:http://localhost:8501)。
使い方
- Streamlit UI でエージェントに質問します。
- 時刻について質問すると(例:「今何時ですか?」)、エージェントは Flask API を呼び出して現在時刻を取得し、LLM を使って自然で美しい回答を作成します。
- その他の質問には、LLM のみを使って回答します。
アーキテクチャ
[Streamlit UI] → [MCP Agent Server] → [Tools (e.g., Time API)]
↓
[LLM via OpenRouter]
- MCP エージェントは意図を検出し、必要に応じてツールを呼び出し、プロンプトを設計して LLM に送信します。
- MCPAgent クラスに追加するだけで、簡単にツールを拡張できます。
カスタマイズ
- ツールの追加:
MCPAgentに新しいメソッドを実装し、self.toolsを更新します。 - 意図検出の改善:
MCPAgentのdetect_intent()を拡張します。 - LLM モデルの変更:
call_llm()のmodelフィールドを更新します。
必要条件
- Python 3.7+
- 依存関係については
requirements.txtを参照してください。
クレジット
- Flask、Streamlit、OpenRouter、Python を使用して構築されています。
- エージェント型 LLM の設計パターンに着想を得ています。
コメント
Markdown 対応
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。