LRDISCO2_RAG_MCP

LRDISCO2_RAG_MCP

Provides a single tool to query a knowledge base of the Land Rover Discovery II maintenance manual, using RAG with LLAMA 3 and ChromaDB.

Category
Visit Server

README

Land Rover Discovery II Maintenance Assistant (MCP Server)

This is a transformation of https://github.com/TommiA/LRDISCO2_RAG_LLAMA3 to MCP server.

This is an intersectional combination of Artificial Intelligence (AI) and specifically Large Language Models (LLM), Natural Language Processing, PDFs, Land Rovers and car maintenance - a rainy day summer project for fun.

This project implements a Retrieval-Augmented Generation (RAG) system with a quantized version of the LLAMA 3 8B Large Language Model. The system uses the Chroma vector database to store parts of the Land Rover Discovery II maintenance manual (not included in this repository) and provides a knowledge base about the Discovery II and its maintenance.

The core of this system is a Model Control Protocol (MCP) server that exposes a single tool for querying the knowledge base. This server architecture allows for flexible integration with various clients and applications.

MCP Server Architecture

The system is built around a FastMCP server that provides a single tool for querying the knowledge base:

  • MCP Server: LRDISCO2_MCP_server.py - A FastMCP server that exposes a single tool for querying the ChromaDB knowledge base
  • Knowledge Base: ChromaDB with embeddings from the Land Rover Discovery II maintenance manual
  • Embedding Model: GPT4All's Embed4All model for creating document embeddings
  • Query Tool: search_knowledge_base - A single tool that searches the ChromaDB knowledge base for documents relevant to the user's query

The MCP server architecture allows for seamless integration with various clients and applications, making it easy to query the Land Rover Discovery II maintenance knowledge base from different environments.

Core Components

1. Knowledge Base

The ChromaDB database stores chunks of text from the Land Rover Discovery II maintenance manual, each with an embedding vector created using the GPT4All Embed4All model. The database is stored at data/db/ and uses the collection name LR_Disco_2_embed4all.

2. MCP Server

The LRDISCO2_MCP_server.py file implements the FastMCP server that exposes a single tool for querying the knowledge base. The server uses the following components:

  • ChromaDB client connected to the persistent database
  • Embed4All model for creating query embeddings
  • FastMCP framework for handling MCP protocol

3. Query Tool

The search_knowledge_base function is the only tool exposed by the MCP server. It takes a user query and returns relevant documents from the ChromaDB knowledge base. The function:

  • Creates an embedding for the user's query
  • Searches ChromaDB using the query embedding
  • Returns the top results with their distances and documents

Usage

Starting the MCP Server

To start the MCP server, run:

python LRDISCO2_MCP_server.py

The server will start listening for MCP requests and expose the search_knowledge_base tool.

Using the MCP Server on LM Studio

See 'mcp.json' for adding this MCP server to your LM Studio instance, edit the path accordingly.

Testing using Langchain client, local MCP Server and LM Studio

Run 'langchain_test_client.py', set LM Studio ip-addresses as needed in script or setting LM_STUDIO_BASEURL using .env, use OpenAI URL style.

'langchain_test_client.py' switches

The script supports the following command-line options:

  • -p, --prompt : custom user prompt text
  • -i, --interactive : start an interactive chat loop

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured
E2B

E2B

Using MCP to run code via e2b.

Official
Featured