MCP Books Service
by thappatan
This project demonstrates the implementation of the Model Context Protocol (MCP) in a blog application system. It provides a seamless integration between language models and structured data operations using a TypeScript-based MCP server, a mock book data service, and a Python-based MCP client.
Last updated: N/A
MCP Blog Project
This project demonstrates the implementation of Model Context Protocol (MCP) in a blog application system. It consists of three main components that work together to provide a seamless integration between language models and structured data operations.
Project Structure
.
├── 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
Components
1. Books MCP Server
A TypeScript-based MCP server that handles the communication protocol between the client and the mock service.
- Built with TypeScript for type safety
- Uses
@modelcontextprotocol/sdk
for MCP implementation - Runs on stdio transport layer
2. Books Mock Service
A simple Express.js server that simulates a book data service.
- Provides mock endpoints for book-related operations
- Built with Express.js
- Lightweight and easy to extend
3. MCP Client
A Python-based client that integrates with language models using the MCP protocol.
- Uses
langchain_ollama
for LLM integration - Implements MCPAgent for handling queries
- Provides an interactive CLI interface
Setup Instructions
- Books MCP Server Setup
cd books-mcp-server
npm install
npm run build
- Books Mock Service Setup
cd books-mock-service
npm install
npm run dev
- MCP Client Setup
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
Usage
- Start the mock service:
cd books-mock-service
npm run dev
- In a new terminal, run the client:
cd mcp-client
python client.py
- Enter your queries when prompted. Type 'exit' to quit.
Development
- The MCP server is built using TypeScript. Make changes in the
src
directory and rebuild usingnpm run build
- The mock service can be extended by adding new routes in
server.js
- The client can be customized by modifying the LLM configuration in
client.py
Dependencies
- Node.js and npm for the MCP server and mock service
- Python 3.x for the client
- Ollama for local LLM support
- Various npm packages as specified in package.json files
- Python packages: langchain-ollama, mcp-use