发现 AI 代理的未来arrow_forward

kyopark2014/mcp

calendar_today收录于 2026年4月23日
category文档教程与资源
code开源
PythonDocker知识库LangGraphLangChainMCPRAGAI代理智能体框架StreamlitWeb应用文档教程与资源其他知识管理/检索/RAG教育/研究资源协议/API/集成

基于 Model Context Protocol (MCP) 的 AI Agent 应用实现教程与多场景示例集合。

本项目是一个基于 Model Context Protocol (MCP) 的 AI Agent 应用实现教程与示例集合。项目展示了如何利用 MCP 协议与 LangChain/LangGraph 构建生成式 AI Agent 应用,解决 AI Agent 接入异构数据源时的工具集成碎片化问题。

核心能力#

MCP 协议集成#

  • 实现完整的 MCP Client/Server 架构,基于 JSON-RPC 2.0 协议
  • 支持 stdio 和 SSE (Server-Sent Events) 两种传输方式
  • 涵盖 Tools(模型控制)、Resources(应用控制)、Prompts(用户控制)三大核心组件

Agent 构建与编排#

  • 使用 LangGraph 构建可定制的 ReAct 模式 StateGraph
  • 通过 langchain-mcp-adapters 将 MCP Server tools 桥接为 LangGraph ToolNode
  • 支持对话历史管理与多轮交互异步执行(astream)

检索增强生成 (RAG)#

  • 依托 Amazon Bedrock Knowledge Base 实现托管式 RAG
  • 支持多模态内容解析(图像/表格分析)
  • 通过 AWS Lambda 构建 API 接口供 MCP Server 调用

多领域工具集成示例#

  • 云原生分析:AWS Cost Analysis(成本可视化)、AWS Documentation(文档查询)、AWS Diagram(架构图绘制,基于 Graphviz)
  • 生成式能力:Amazon Nova Canvas 图像生成
  • 信息检索:Google Search (Smithery)、Tavily、Perplexity、Riza
  • 科学研究:Drug Discovery(arXiv、ChEMBL、ClinicalTrials.gov、PubMed 检索)
  • 文本处理:Text Extraction、Editor、Web Fetch
  • 办公协作:Notion、Slack、Confluence、Google Docs、Obsidian
  • 自动化与数据:Playwright(浏览器自动化)、OpenSearch(日志分析)、Airbnb/Twitter(数据分析)

架构概览#

[Browser] → [CloudFront + ALB (HTTPS)] → [Streamlit UI (EC2)]
                                              ↓
                                       [LangGraph Agent]
                                       ↙         ↘
                              [MCP Client]    [MCP Client]
                                   ↓              ↓
                          [MCP Server]     [MCP Server]
                           (stdio/SSE)      (stdio/SSE)
                              ↓                ↓
                    [AWS Knowledge Base]  [AWS Lambda APIs]
                    [Search Engines]      [External APIs]
                    [AWS Cost Explorer]   [Image Generation]
  • Agent 层:LangGraph 驱动的 ReAct 工作流,包含 agent 节点(大模型推理)和 action 节点(ToolNode 工具调用)
  • MCP 适配层:利用 MultiServerMCPClient 管理多个 Server 连接,通过 load_mcp_tools 动态获取并转换工具列表
  • 数据与执行层:各类 MCP Server 作为独立进程或服务运行,屏蔽后端差异
  • 基础设施层:全面依托 AWS(EC2、ALB、CloudFront、Lambda)

安装与部署#

环境要求:Python ≥ 3.9

快速安装核心依赖:

pip install mcp langchain-mcp-adapters

完整依赖安装:

pip install -e .

容器化部署支持 Docker 及 Docker Swarm 编排,提供 build-docker.sh、run-docker.sh 脚本及 installer.py/uninstaller.py 环境管理工具。

配置示例#

MCP Server 定义#

from mcp.server.fastmcp import FastMCP

mcp = FastMCP(name="retrieve")

@mcp.tool()
def rag_search(keyword: str) -> str:
    """search keyword"""
    return retrieve(keyword)

if __name__ == "__main__":
    mcp.run(transport="stdio")

MCP Client 配置 (config.json)#

{
  "mcpServers": {
    "search": {
      "command": "python",
      "args": ["application/mcp-server.py"]
    }
  }
}

典型应用场景#

  1. 企业知识库问答 — 利用 AWS Knowledge Base 构建 RAG,通过 MCP 提供给 AI Agent 使用
  2. AWS 成本分析与可视化 — 通过 MCP Tool 获取并分析 AWS 账单数据
  3. 药物发现研究 — 整合 arXiv、ChEMBL、ClinicalTrials.gov 等科学数据库进行文献检索
  4. AWS 文档查询与架构图生成 — 自动查询 AWS 文档并绘制架构图
  5. 多源信息聚合 Agent — 将搜索引擎、内部数据库、外部 API 统一通过 MCP 接入 Agent
  6. 图像生成 — 利用 Amazon Nova Canvas 通过 MCP 调用图像生成能力
  7. 协作工具集成 — 通过 MCP 连接 Notion、Slack、Confluence 等办公系统

待确认事项#

  • 许可协议不一致:仓库 LICENSE 文件为 Apache-2.0,pyproject.toml 中声明为 MIT
  • pyproject.toml 中 Homepage 和 Bug Tracker URL 使用占位符
  • pyproject.toml 中作者信息标注为 AWS,可能为占位信息,实际作者为 GitHub 用户 kyopark2014
  • 版本号为 0.1.0,但仓库已有 903 次提交,版本号可能未及时更新

保持更新

获取最新的 AI 工具和趋势,直接发送到您的收件箱。没有垃圾邮件,只有智能。

rocket_launch