Overview
What is MCP Blog Project?
MCP Blog Project demonstrates the implementation of the Model Context Protocol (MCP) in a blog application system. It consists of three components—a TypeScript MCP server, an Express mock service for book data, and a Python client that integrates with a local language model via Ollama—that together enable structured data operations through natural language queries.
How to use MCP Blog Project?
Start the mock service (cd books-mock-service && npm run dev), then in a separate terminal run the Python client (cd mcp-client && python client.py). Enter queries when prompted; type exit to quit.
Key features of MCP Blog Project
- TypeScript MCP server using
@modelcontextprotocol/sdk - Express.js mock service for book data
- Python client with
langchain_ollamafor LLM integration - Interactive CLI interface for querying
- Runs on stdio transport layer
- Entirely local setup (requires Ollama)
Use cases of MCP Blog Project
- Demonstrate MCP integration in a blog-style application
- Query book information using natural language through an LLM
- Prototype an MCP-based client-server architecture
- Extend the mock service to test additional data operations
FAQ from MCP Blog Project
What dependencies are required?
Node.js, npm, Python 3.x, and Ollama for local LLM support. The MCP server and mock service need npm packages; the client needs langchain-ollama and mcp-use.
How does the MCP server communicate?
It uses the stdio transport layer defined by the Model Context Protocol. The server handles protocol messages between the Python client and the Express mock service.
Where does the data come from?
Data is provided by the books-mock-service, a lightweight Express.js server with mock endpoints for book-related operations. It runs locally and can be extended.
Can I modify the mock service?
Yes. Add new routes in books-mock-service/server.js. The MCP server (TypeScript) can be extended by editing files in books-mcp-server/src and rebuilding.
What LLM does the client use?
The client uses Ollama via langchain_ollama, allowing you to run a local language model. The LLM configuration can be customized in mcp-client/client.py.