Skip to main content
Glama
pasupuletiSaiM

Campus Life MCP Server

Campus Life MCP Server

An MCP (Model Context Protocol) server that provides information about IIT Guwahati campus life using a Retrieval-Augmented Generation (RAG) pipeline backed by Qdrant Cloud.

The server exposes a single MCP tool:

  • campus_life_info – Retrieves relevant campus life information from Qdrant and returns it to the MCP client (Claude Desktop).


Architecture

Claude Desktop
        │
        ▼
Cloudflare Tunnel
        │
        ▼
FastMCP HTTP Server
        │
        ▼
CampusLifeRetriever
        │
        ▼
Qdrant Cloud
        │
        ▼
Retrieved Chunks
        │
        ▼
Claude Desktop

Project Structure

campus-life-mcp/
│
├── server.py          # FastMCP server and MCP tool
├── retriever.py       # Qdrant retrieval pipeline
├── models.py          # Embedding & reranker models
├── observe.py         # Logfire tracing
├── config.py          # Configuration
├── .env.example       # Environment variables template
├── pyproject.toml
├── uv.lock
└── README.md

Retrieval Pipeline

User Query
      │
      ▼
Generate Embedding (BGE)
      │
      ▼
Qdrant Dense Search
      │
      ▼
CrossEncoder Reranking
      │
      ▼
Top K Chunks
      │
      ▼
Return to Claude

Prerequisites

  • Python 3.11+

  • uv

  • Cloudflare Tunnel (cloudflared)

  • Claude Desktop

  • Qdrant Cloud account


Setup

1. Clone the repository

git clone <repository-url>

cd campus-life-mcp

Related MCP server: THE RAG MCP

2. Install dependencies

uv sync

3. Create .env

Copy the example file.

cp .env.example .env

Fill the values:

QDRANT_URL=

QDRANT_API_KEY=

COLLECTION_NAME=

LOGFIRE_TOKEN=

LOGFIRE_SERVICE=campus-life-mcp

4. Start the MCP Server

uv run server.py

The server starts on

http://localhost:8000

Expose using Cloudflare Tunnel

Open another terminal and run

cloudflared tunnel --url http://localhost:8000

Cloudflare will generate a public URL similar to

https://xxxxx.trycloudflare.com

Connect to Claude Desktop

Add the remote MCP server using the generated Cloudflare URL.

Example:

{
  "mcpServers": {
    "campus-life": {
      "url": "https://xxxxx.trycloudflare.com/mcp"
    }
  }
}

Restart Claude Desktop.

The tool campus_life_info should now appear.


Example Query

Tell me about Kapili Hostel.

or

What clubs are available at IIT Guwahati?

or

What sports facilities are available on campus?

Logging

The server uses Logfire for observability.

It records:

  • Tool calls

  • Query execution

  • Latency

  • Exceptions


Technologies Used

  • FastMCP

  • Qdrant Cloud

  • Sentence Transformers (BGE Base)

  • BGE CrossEncoder Reranker

  • Logfire

  • Cloudflare Tunnel

  • uv


Future Improvements

  • Multiple MCP tools

  • Metadata filtering

  • Streaming responses

  • Docker support

  • Render deployment

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    An MCP server that indexes documents and serves relevant context to LLMs via Retrieval Augmented Generation (RAG).
    25 npm
    37
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    An enterprise-ready MCP server that exposes a RAG tool for retrieving relevant context and metadata from a Qdrant vector database using natural language queries.
    2
    -
  • F
    license
    Not graded
    quality
    D
    maintenance
    A Retrieval Augmented Generation MCP server that ingests documents into a local vector database and enables semantic search queries.
    10
    -