MCP Knowledge Base

by gmogmzGithub

167 downloads
Not rated
GitHub

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

- 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

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.