MCP.so
Sign In
Servers

MCP Knowledge Base Assistant

@kofiadom

An intro to MCP: an MCP server with a knowledge base tool containerized with Docker and connected to a client-side python application using SSE

Overview

What is MCP Knowledge Base Assistant?

MCP Knowledge Base Assistant is a demonstration of the Model Context Protocol (MCP) that connects an OpenAI-powered client to a knowledge base server. It shows how to build an AI assistant that answers questions about company policies by accessing a knowledge base through MCP.

How to use MCP Knowledge Base Assistant?

Install prerequisites (Python 3.11+, OpenAI API key), clone the repo, create a virtual environment, install dependencies, and set OPENAI_API_KEY in a .env file. Run the server with python server.py (or Docker), then run python client.py in another terminal. The client sends a sample query; modify client.py to ask different questions.

Key features of MCP Knowledge Base Assistant

  • Exposes a knowledge base as an MCP tool (get_knowledge_base)
  • Integrates OpenAI GPT-4o for natural language query processing
  • Supports both direct Python execution and Docker containerization
  • Proper lifecycle management with async context managers
  • Simple JSON-based knowledge base (data/kb.json) for easy customization
  • Follows MCP client-host-server architecture with SSE transport on port 8050

Use cases of MCP Knowledge Base Assistant

  • Answering employee questions about company policies (e.g., equal opportunity)
  • Demonstrating how to build and connect an MCP server to an LLM
  • Testing MCP tool integration with a minimal knowledge base
  • Extending the server with additional tools and policies

FAQ from MCP Knowledge Base Assistant

What does the server tool do?

The server exposes a single tool called get_knowledge_base that retrieves the entire knowledge base from data/kb.json as a formatted string.

What are the runtime requirements?

Python 3.11 or higher, an OpenAI API key, and the dependencies listed in requirements.txt. Docker is optional for containerized server execution.

Where does the knowledge base data live?

The knowledge base is stored in data/kb.json, a local JSON file containing question-answer pairs about company policies. You can add more pairs to expand it.

How does the client handle resources?

The client uses Python async context managers (async with) to automatically initialize and clean up all resources when exiting the context, following MCP best practices.

What transport does the server use?

The server communicates via SSE (Server-Sent Events) transport on port 8050. Authentication is handled through the OpenAI API key set in the environment.

Tags

More from Memory & Knowledge