Content
# MCP In Action







## Introduction
MCP In Action is a practical project aimed at helping developers quickly master the development and application of Model Context Protocol (MCP). This project demonstrates how to build MCP-based applications, enabling large language models to interact with external tools and data sources, thereby enhancing the model's capabilities.
## Documentation
1. [MCP In Action: Let AI Models Get Real-time Weather Information](https://mp.weixin.qq.com/s/cJhHf7caaezehEff2GSY_A)
2. [MCP In Action: Integrate DeepSeek Model with MCP Weather Information Assistant](https://mp.weixin.qq.com/s/1YIYRVw8yF1zeeLtmnhtYQ)
3. [MCP In Action: Quickly Build MCP Weather Assistant with LangChain](https://mp.weixin.qq.com/s/Qq3C85Bi3NHDQ9MnnBZvZQ)
4. [RAG Not Working? Try MCP, the "Knowledge Base Optimization Master"](https://mp.weixin.qq.com/s/SOVXbU8Lw131EFCMmMlpmA)
### Companion Videos
- [Geek Time "MCP In Action"](https://u.geekbang.org/subject/intro/1010607)
## Project Architecture
This repository contains the following main projects:
### Project 1: [mcp-opensource](https://github.com/FlyAIBox/mcp-in-action/tree/main/mcp-opensource)
This project showcases MCP's open-source tools and platforms.
### Project 2: [mcp-demo](https://github.com/FlyAIBox/mcp-in-action/tree/main/mcp-demo)
This project demonstrates MCP's basic applications by building a client-server architecture, allowing AI models to access real-time weather information.
#### Core Features
- **MCP Server Development**: Building an MCP-compliant server from scratch
- **MCP Server Debugging**: Providing debugging methods and best practices
- **MCP Client Development**: Implementing a client that communicates with the server
- **DeepSeek Integration**: Integrating DeepSeek large model with MCP client
- **LangChain Integration**: Using MCP server in LangChain framework
#### MCP Server Advanced
- **Desktop Loading**: Integrating MCP service into desktop applications
- **Prompt Management**: Optimizing and managing model prompts
- **Resource Handling**: Calling and managing external resources
- **Lifecycle Management**: Controlling the complete lifecycle of MCP service
- **Cloud Deployment**: Deploying MCP service to the cloud (Alibaba Cloud/mcp.so)
### Project 3: [mcp-rag](https://github.com/FlyAIBox/mcp-in-action/tree/main/mcp-rag)
This project focuses on combining MCP with Retrieval-Augmented Generation (RAG) technology, demonstrating how to achieve more advanced knowledge retrieval and information integration capabilities.
#### Project Goals
This project aims to **build an enterprise RAG system based on MCP**, achieving the following specific goals:
**Goals**
- Building a knowledge base service and client that support MCP protocol
- Implementing intelligent document segmentation and FAQ automatic extraction functions
- Supporting complex problem decomposition and hybrid retrieval strategies
#### Project System Design and Implementation
> This project's system design is referenced from [alibabacloud-tablestore-mcp-server](https://github.com/aliyun/alibabacloud-tablestore-mcp-server). However, since `alibabacloud-tablestore-mcp-server` uses Tablestore storage and Java-implemented MCP Server, it is not convenient for later extension and iteration.
>
> This project is transformed into Milvus storage and Python-implemented MCP Server and MCP Client, with all code rewritten.
The RAG system based on MCP consists of three core parts:
1. **Knowledge Base Service (MCP Server)**: A backend service based on Milvus vector database, responsible for document storage and retrieval
2. **Client Tool (MCP Client)**: A client that communicates with MCP Server, implementing knowledge base construction and retrieval functions
3. **Large Model Integration**: Implementing document segmentation, FAQ extraction, problem decomposition, and answer generation through LLM
## Contribution Guide
Welcome to contribute to the project in the following ways:
1. Fork the repository
2. Create a feature branch (`git checkout -b feature/amazing-feature`)
3. Commit changes (`git commit -m 'Add some amazing feature'`)
4. Push to the branch (`git push origin feature/amazing-feature`)
5. Create a Pull Request
Contributions make open-source communities amazing places to learn, inspire, and create. Thank you for any contributions you make. If you have any suggestions or feature requests, please open an issue to discuss the changes you want to make.
<a href='https://github.com/repo-reviews/repo-reviews.github.io/blob/main/create.md' target="_blank"><img alt='Github' src='https://img.shields.io/badge/review_me-100000?style=flat&logo=Github&logoColor=white&labelColor=888888&color=555555'/></a>
## License
This project is licensed under the terms of the Apache-2.0 license. See the [LICENSE](LICENSE) file for details.
This project uses the [Apache License](LICENSE).
## Contact Information
- Project Maintainer: [FlyAIBox](https://github.com/FlyAIBox)
- Issue Feedback: Please use [GitHub Issues](https://github.com/FlyAIBox/mcp-in-action/issues)
**Model Context Protocol** - Empowering AI models to interact with the world
# ⭐️⭐️⭐️⭐️⭐️
<a href="https://star-history.com/#FlyAIBox/mcp-in-action&Date">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=FlyAIBox/mcp-in-action&type=Date&theme=dark" />
<source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=FlyAIBox/mcp-in-action&type=Date" />
<img alt="Star History Chart" src="https://api.star-history.com/svg?repos=FlyAIBox/mcp-in-action&type=Date" />
</picture>
</a>
Connection Info
You Might Also Like
everything-claude-code
Complete Claude Code configuration collection - agents, skills, hooks,...
markitdown
MarkItDown-MCP is a lightweight server for converting URIs to Markdown.
servers
Model Context Protocol Servers
servers
Model Context Protocol Servers
Time
A Model Context Protocol server for time and timezone conversions.
Filesystem
Node.js MCP Server for filesystem operations with dynamic access control.