MCP ExplorerExplorer

Mcp In Action

@FlyAIBoxon 2 months ago
59 Apache-2.0
FreeCommunity
AI Systems
# MCP Practical Training

Overview

What is Mcp In Action

MCP In Action is a practical project aimed at helping developers quickly master the Model Context Protocol (MCP) for building applications that enable large language models to interact with external tools and data sources, enhancing their capabilities.

Use cases

This project provides several use cases including real-time weather information retrieval, integration of AI models with MCP for enhanced functionality, and the development of a knowledge management system leveraging retrieval-augmented generation (RAG) techniques.

How to use

Users can explore the various projects hosted in the repository, such as mcp-opensource for MCP tools, mcp-demo for a client-server architecture accessing weather information, and mcp-rag for building an enterprise knowledge retrieval system. Documentation is provided to guide users through the setup and usage of each component.

Key features

Key features include the ability to develop and debug MCP servers, manage prompts, handle external resource management, implement lifecycle management for MCP services, and deploy services to cloud environments. The integration with models such as DeepSeek and frameworks like LangChain is also highlighted.

Where to use

MCP In Action is suitable for developers and organizations looking to enhance AI model capabilities with external data integration, build intelligent knowledge systems, and create applications requiring real-time data access in various domains, including weather information, customer support, and more.

Content

MCP In Action

GitHub stars
GitHub forks
GitHub watchers
GitHub repo size
GitHub language count
GitHub top language
GitHub last commit

简介

MCP In Action 是一个实战项目,旨在帮助开发者快速掌握 Model Context Protocol (MCP) 的开发与应用。本项目通过实际案例展示如何构建基于 MCP 的应用,使大语言模型能够与外部工具和数据源进行交互,从而增强模型的能力范围。

文档

  1. MCP实战入门:让AI模型获取实时天气信息
  2. MCP实战进阶:集成DeepSeek模型与MCP的天气信息助手
  3. MCP实战高阶:借助LangChain快速打造MCP天气助手
  4. RAG不好用?试试MCP这个“知识库优化大师”

项目架构

本仓库包含以下主要项目:

项目1:mcp-opensource

这个项目展示了 MCP 的开源工具,平台等。

项目2:mcp-demo

这个项目展示了 MCP 的基础应用,通过搭建客户端-服务器架构,让 AI 模型能够访问实时天气信息。

核心功能

  • MCP 服务器开发:从零构建符合 MCP 规范的服务器
  • MCP 服务器调试:提供调试方法和最佳实践
  • MCP 客户端开发:实现与服务器通信的客户端
  • DeepSeek集成:MCP客户端集成DeepSeek大模型
  • LangChain 集成:在 LangChain 框架中使用 MCP 服务器

MCP Server 进阶

  • Desktop 加载:将 MCP 服务集成到桌面应用程序
  • Prompt 管理:优化和管理模型提示
  • Resource 处理:外部资源调用与管理
  • 生命周期管理:控制 MCP 服务的完整生命周期
  • 云端部署:将 MCP 服务部署到云端(阿里云/mcp.so)

项目3:mcp-rag

这个项目专注于将 MCP 与检索增强生成 (RAG) 技术结合,展示如何通过 MCP 实现更高级的知识检索和信息整合能力。

项目目标

本项目旨在构建一个基于MCP的企业RAG系统,实现以下具体目标:

目标

  • 构建支持MCP协议的知识库服务和客户端
  • 实现文档智能切分、FAQ自动提取功能
  • 支持复杂问题的拆解和混合检索策略

项目系统设计与实现

本项目系统设计参考自alibabacloud-tablestore-mcp-server,由于alibabacloud-tablestore-mcp-server项目使用Tablestore存储和Java实现的MCP Server,不方便于后期扩展和迭代。

本项目改造为Milvus存储和Python实现MCP Server和MCP Client,代码全部重写(cursor帮忙不少)。

以下设计和流程皆为alibabacloud-tablestore-mcp-server内容,在此感谢@xjtushilei 开源的alibabacloud-tablestore-mcp-server

我们构建的基于MCP的RAG系统主要包含三个核心部分:

  1. 知识库服务(MCP Server):基于Milvus向量数据库实现的后端服务,负责文档存储和检索
  2. 客户端工具(MCP Client):与MCP Server通信的客户端,实现知识库的构建和检索功能
  3. 大模型集成:通过LLM实现文档切分、FAQ提取、问题拆解和回答生成等核心功能

流程图

主要分为两部分:知识库构建和检索。

  1. 知识库构建
    1. 文本切段: 对文本进行切段,切段后的内容需要保证文本完整性以及语义完整性。
    2. 提取 FAQ: 根据文本内容提取 FAQ,作为知识库检索的一个补充,以提升检索效果。
    3. 导入知识库: 将文本和 FAQ 导入知识库,并进行 Embedding 后导入向量。
  2. 知识检索(RAG)
    1. 问题拆解: 对输入问题进行拆解和重写,拆解为更原子的子问题。
    2. 检索: 针对每个子问题分别检索相关文本和 FAQ,针对文本采取向量检索,针对 FAQ 采取全文和向量混合检索。
    3. 知识库内容筛选: 针对检索出来的内容进行筛选,保留与问题最相关的内容进行参考回答。

相比传统的 Naive RAG,在知识库构建和检索分别做了一些常见的优化,包括 Chunk 切分优化、提取 FAQ、Query Rewrite、混合检索等。

流程

流程图

本Agent整体架构分为三个部分:

  1. 知识库: 内部包含 Knowledge Store 和 FAQ Store,分别存储文本内容和 FAQ 内容,支持向量和全文的混合检索。
  2. MCP Server: 提供对 Knowledge Store 和 FAQ Store 的读写操作,总共提供 4 个 Tools。
  3. 功能实现部分: 完全通过 Prompt + LLM 来实现对知识库的导入、检索和问答这几个功能。

项目结构

项目结构分为两部分:

  1. milvus-mcp-client Python 实现的 Client 端,实现了与大模型进行交互,通过 MCP Client 获取 Tools,根据大模型的反馈调用 Tools 等基本能力。通过 Prompt 实现了知识库构建、检索和问答三个主要功能。
  2. milvus-mcp-server Python 实现的 Server 端,基于 MCP 框架实现的服务,提供了连接 Milvus 向量数据库的接口,支持知识库的存储和检索功能。

贡献指南

欢迎通过以下方式为项目做出贡献:

  1. Fork 仓库
  2. 创建功能分支 (git checkout -b feature/amazing-feature)
  3. 提交更改 (git commit -m 'Add some amazing feature')
  4. 推送到分支 (git push origin feature/amazing-feature)
  5. 创建 Pull Request

贡献是使开源社区成为学习、激励和创造的惊人之处。非常感谢你所做的任何贡献。如果你有任何建议或功能请求,请先开启一个议题讨论你想要改变的内容。

Github

许可证

该项目根据Apache-2.0许可证的条款进行许可。详情请参见LICENSE文件。

本项目采用 Apache 许可证

联系方式


Model Context Protocol - 让 AI 模型拥有与世界交互的能力

⭐️⭐️⭐️⭐️⭐️

Star History Chart

Tools

No tools

Comments

Recommend MCP Servers

View All MCP Servers