Skip to main content

Project setup

📖 Lesson content

Summary

We're going to build our own CLI-based chatbot to better understand how MCP clients and servers work together. This hands-on project will give you practical experience with both sides of the MCP architecture.

What We're Building

Our chatbot will be a command-line interface that allows users to chat with a set of documents. Here's what the system will include:

  • A CLI-based chatbot interface
  • Document reading and editing capabilities for Claude
  • Document "mention" functionality using @doc_name syntax
  • Command execution with /command_name syntax
  • A collection of fake documents stored in memory

System Architecture

The project consists of three main components working together:

  • Our MCP Client - Handles user interaction and chat interface
  • Our MCP Server - Provides tools for document operations
  • Document Storage - In-memory collection of various file types

The MCP server will implement two core tools:

  • Tool to read document contents
  • Tool to update document contents

All documents (PDFs, spreadsheets, text files, markdown files) will be stored in memory rather than on disk, keeping the project simple and focused on MCP concepts.

Important Architecture Note

In real-world projects, you typically implement either an MCP client or an MCP server - not both. You might:

  • Build an MCP server to distribute a service to other developers
  • Build an MCP client that connects to existing third-party MCP servers

Our project implements both components in a single codebase purely for educational purposes, so you can see how clients and servers interact with each other.

Downloads

🔁 Related lessons

📚 Source & attribution

Was this lesson helpful?

Feedback / ReportSpotted an issue or have an improvement idea?