mcp_chatbot 是一個與模型內容協定 (Model Context Protocol, MCP) 相容的聊天機器人實作範例。與前面介紹的專案不同,它本身不是一個提供特定功能的 MCP 伺服器,而是一個 MCP 客戶端 的完整展示。
這個專案的核心價值在於,它為開發者提供了一個清晰的藍圖,展示了如何從零開始建構一個能夠使用 MCP 工具的、可自訂的 AI 聊天機器人。
核心價值:打造你自己的、能使用外部工具的 AI 助理
此專案解決了開發者在整合 MCP 時可能遇到的關鍵問題:
主要功能與特色
mcp_chatbot 是一個功能完整且極具教學意義的範例,其特色包括:
支援自訂大型語言模型 (LLM):
這是此專案最大的亮點之一。它不限定於特定的 LLM 供應商,而是明確展示了如何整合客製化的 LLM,例如阿里巴巴的通義千問 (Qwen),以及透過 Ollama 在本地運行的開源模型。
多樣化的互動介面:
專案提供了三種不同的方式來與聊天機器人互動,滿足了從開發測試到終端使用的各種需求:
工作流程視覺化 (Workflow Visualization):
在 Streamlit 網頁介面中,專案內建了一個工作流程追蹤器 (Workflow Tracer)。當 AI 決定呼叫外部工具時,這個追蹤器會清晰地展示出 AI 的「思考過程」:它決定呼叫哪個工具、傳遞了什麼參數、工具回傳了什麼結果,以及最終如何生成回答。這對於開發者除錯和理解 MCP 運作機制非常有幫助。
完整的 MCP 流程展示:
為了讓開發者能實際操作,專案內建了一個簡單的 markdown_processor.py 作為 MCP 伺服器範例。使用者可以透過與聊天機器人對話,命令它去讀取或處理指定的 Markdown 檔案,從而體驗一個完整的「使用者 -> AI -> MCP 工具 -> AI -> 使用者」的流程。
支援串流式回應 (Streaming):
無論是在終端機還是 Streamlit 介面,都支援即時的串流式回應,讓使用者可以像與真人聊天一樣,即時看到文字生成,大幅提升了互動體驗。
安裝與設定
此專案是一個標準的 Python 專案,設定過程對於開發者來說非常直觀:
.env 檔案,填入你選擇使用的 LLM 的 API 金鑰和端點。mcp_servers/servers_config.json 檔案,指定範例 MCP 伺服器(或其他你想要連接的伺服器)的啟動路徑。總結來說,mcp_chatbot 不是一個提供單一功能的工具,而是一個極具價值的開發者框架和學習資源。它為任何想要建構自己的 MCP 應用、或希望將自有的 LLM 接入 MCP 生態系的開發者,提供了一個堅實的起點和清晰的實作指南。