MCP Knowledge Base
About
A lightweight knowledge base assistant using MCP with LLM integration. Features a streamlined server-client architecture combining custom tools with a knowledge base, all accessible via SSE transport. Ideal for building simple AI-powered knowledge assistants.
Details
- Author
- gmogmzGithub
- Downloads
- 167
- Categories
- AI
Jump to
- MCP server exposing tools via decorators
- MCP client with LLM query interpretation
- Knowledge base stored in data/kb.json
- Direct tool‑call mode for testing
- LLM‑powered mode for natural‑language questions
Install dependencies with Poetry, set your OpenAI API key in a .env file, start the server via poetry run python server.py, and run the client with poetry run python client-sse.py. The client offers two modes: direct tool calls (uncomment the test line) or LLM‑powered interactions that interpret natural‑language queries.
MCP Knowledge Base
A simple MCP client-server
Requirements
- Python 3.9 or higher
- Poetry for dependency management
- OpenAI API key
Setup
1. Install dependencies using Poetry:
poetry install
2Create a .env file in the project root or parent directory with your OpenAI API key:
OPENAI_API_KEY=your_api_key_here
Project Structure
- server.py: MCP server implementation with tools
- client-sse.py: MCP client implementation with LLM capabilities
- data/kb.json: Knowledge base data with MCP-related Q&A
- pyproject.toml: Poetry configuration file
Running the Application
1. Start the server:
poetry run python server.py
2. In a separate terminal, run the client:
poetry run python client-sse.py
Using the Client
The client has two modes:
1. Direct tool calls:
- Uncomment the asyncio.run(test_direct_tool_calls()) line in client-sse.py
- This directly calls the tools without using an LLM
2. LLM-powered interactions (default):
- Uses OpenAI to interpret queries and call appropriate tools
- Ask questions like "What is MCP?" or "What is the difference between stdio and SSE transports?"
Customizing
- Add new tools to server.py by creating additional functions with the @mcp.tool() decorator
- Modify the knowledge base by updating data/kb.json
- Change the OpenAI model by modifying the model parameter in the MCPClient class
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.
