MCP博客项目
本项目演示了模型上下文协议(MCP)在博客应用系统中的实现。它由三个主要组件组成,它们协同工作,在语言模型和结构化数据操作之间提供无缝集成。
项目结构
.
├── books-mcp-server/ # TypeScript MCP server implementation
│ ├── build/ # Compiled JavaScript files
│ ├── src/ # Source TypeScript files
│ └── package.json # Server dependencies and scripts
├── books-mock-service/ # Mock service for book data
│ └── server.js # Express.js mock server
└── mcp-client/ # Python MCP client implementation
└── client.py # Main client application组件
1.书籍MCP服务器
一个基于TypeScript的MCP服务器,处理客户端和模拟服务之间的通信协议。
- 使用TypeScript构建类型安全
- 用途
@modelcontextprotocol/sdk用于MCP实施 - 在stdio传输层上运行
2.图书模拟服务
一个简单的Express.js服务器,模拟图书数据服务。
- 为书籍相关操作提供模拟端点
- 使用Express.js构建
- 重量轻,易于扩展
3.MCP客户端
基于Python的客户端,使用MCP协议与语言模型集成。
- 用途
langchain_ollama用于LLM集成 - 实现MCPAgent以处理查询
- 提供交互式CLI界面
安装说明
- 书籍MCP服务器设置
cd books-mcp-server
npm install
npm run build- 图书模拟服务设置
cd books-mock-service
npm install
npm run dev- MCP客户端设置
cd mcp-client
# Create and activate virtual environment (recommended)
python -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
# Install dependencies (requirements.txt needed)
pip install langchain-ollama mcp-use用法
- 启动模拟服务:
cd books-mock-service
npm run dev- 在新终端中,运行客户端:
cd mcp-client
python client.py- 在提示时输入您的查询。键入“exit”退出。
发展
- MCP服务器是使用TypeScript构建的。在
src目录和重建使用npm run build - 模拟服务可以通过在中添加新路线来扩展
server.js - 可以通过修改中的LLM配置来定制客户端
client.py
依赖项
- 用于MCP服务器和模拟服务的Node.js和npm
- Python 3.x客户端
- Ollama为当地法学硕士提供支持
- package.json文件中指定的各种npm包
- Python包:langchain ollama、mcp使用
