Skip to main content
Glama
README.md
# Below are useful info to host this Agentic RAG app using MCP

## Step 1: Start the Qdrant container

Start the QDrant container
```
docker run -p 6333:6333 -p 6334:6334 -v qdrant_storage:/qdrant/storage:z qdrant/qdrant
```

## Step 2: Set up Bright data account.

Open a free account in [brightdata](https://brightdata.com/) and setup a user-email and password. You will need this inside the `server2.py`.

## Step 3: Start the MCP server.

Clone the repo and open it in cursor IDE. Then go to settings > Cursor settings > MCP Servers. Click on 'Add new MCP server' and add the following code (assuming you have no other server running) to mcp.json.

__To know the location of 'uv'__

- For Mac / Linux: Use `which uv` or `where uv`
- For windows: It is usually present in `%USERPROFILE%/.local/bin/uv`, where `%USERPROFILE%` resolves to something like `c:\Users\username`.

```json
{
  "mcpServers": {
    "mcpRAG": {
      "command": "path/to/uv",
      "args": [
        "--directory",
        "absolute/path/to/projectdir",
        "run",
        "server2.py"
      ]
    }
  }
}
```

It should show the status in green and display the tools: `f1_faq_search_tool` and `bright_data_web_search_tool`.

You can now open the chat in cursor (Ctrl + L) and ask questions.

---

## How to test your RAG app with MCP

### Prerequisites

1. **Qdrant** – Start the container (Step 1 above).
2. **F1 FAQ collection** – Create it once by running the notebook `rag2.ipynb` (run the cell that creates `f1_faq_collection` and stores embeddings), or run the test script below.
3. **MCP server** – Add the server in Cursor settings (Step 3 above) and ensure it shows **green** status with tools `faq_retrieval_tool` and `bright_data_web_search_tool`.

### Test 1: In Cursor chat (recommended)

1. Open Cursor chat: **Ctrl + L** (or Cmd + L on Mac).
2. Ask an F1 question, e.g.:
   - *"Who governs F1 racing?"*
   - *"What is the halo device?"*
   - *"How many points for winning an F1 race?"*
3. The AI will use `faq_retrieval_tool` to get context from your RAG and answer. For non‑F1 topics it may use `bright_data_web_search_tool` (requires Bright Data credentials in `.env`).

### Test 2: Local script (no Cursor)

From the project directory run:

```bash
uv run test_rag_mcp.py
```

This creates `f1_faq_collection` if needed, then runs a sample FAQ query and prints the retrieved context so you can verify the RAG pipeline without opening Cursor.

TDQS

A4.1/5.0

Scored across 2 tools

Disambiguation5/5

The two tools have clearly distinct purposes: one retrieves from a specific FAQ collection, the other performs general web searches. There is no functional overlap, and each tool's description directs usage to its intended context.

Naming Consistency5/5

Both tools use the same naming pattern: a descriptive source/domain prefix combined with the action and the suffix '_tool', all in snake_case. This is consistent and predictable.

Tool Count3/5

With only 2 tools, the server feels thin for a general RAG use case. The count is borderline—not excessive, but the minimal surface may leave agents wanting more specialized retrieval options.

Completeness2/5

The server only provides retrieval operations, with no tools for managing or updating the FAQ collection or ingesting new documents. This is a significant gap for a complete RAG workflow, potentially causing agent failures when asked to perform any write or update operation.

Maintenance

ActivityInactive
ResponsivenessNo issues