mcpField
M
MCP Blog Project

MCP Blog Project

Local
github.com/thappatanDeveloper Tools0Updated 82w ago

About MCP Blog Project

MCP Blog Project is a book-service integration example for developers learning MCP. It pairs a TypeScript MCP server and mock book service with a Python CLI client using Ollama and LangChain.

Key features

  1. 01TypeScript MCP server over stdio
  2. 02Express mock book service
  3. 03Python interactive CLI client
  4. 04Ollama integration via LangChain

Use cases

  1. 01Study an MCP server and client setup
  2. 02Test book queries against a mock service

MCP support

The TypeScript server uses the MCP SDK over stdio to connect the Python client to the mock book service.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

No install method listed yet

We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.

Repository

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

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

  1. Books MCP Server Setup
cd books-mcp-server
npm install
npm run build
  1. Books Mock Service Setup
cd books-mock-service
npm install
npm run dev
  1. 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

  1. Start the mock service:
cd books-mock-service
npm run dev
  1. In a new terminal, run the client:
cd mcp-client
python client.py
  1. 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 using npm 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

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.