博客模型上下文协议实现

该项目展示了在博客应用系统中实现模型上下文协议(MCP),包含三个主要组件,用于在语言模型和结构化数据操作之间提供无缝集成。

  • by thappatan
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 thappatan/mcp-books-service

使用说明

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界面

安装说明

  1. 书籍MCP服务器设置
cd books-mcp-server
npm install
npm run build
  1. 图书模拟服务设置
cd books-mock-service
npm install
npm run dev
  1. 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

用法

  1. 启动模拟服务:
cd books-mock-service
npm run dev
  1. 在新终端中,运行客户端:
cd mcp-client
python client.py
  1. 在提示时输入您的查询。键入“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使用