Skip to main content
Glama

MCP File Reader

A fully local, free AI-powered file reader that uses MCP (Model Context Protocol) to connect a Python tool server with a local LLM (Ollama + Mistral). No API keys, no cloud, no cost โ€” runs entirely on your machine.

๐Ÿงพ Features

  • MCP Server with custom tools (list_files, read_file)

  • Local LLM integration via Ollama (Mistral / Llama3.2)

  • Automatic file discovery and content reading

  • AI-powered summarization of file contents

  • Path traversal protection (security built-in)

  • Zero cost โ€” no API keys or subscriptions required

๐Ÿ› ๏ธ Tech Stack

Technology

Description

Python

Core language for server and client

MCP

Model Context Protocol (tool server)

Ollama

Local LLM runtime (free, offline)

Mistral

Local AI model for summarization

asyncio

Async communication between client/server

requests

HTTP calls to Ollama API

๐Ÿ“ฆ Installation

git clone https://github.com/JaneKarunyaJ/MCP-File-Reader.git
cd MCP-File-Reader
pip install mcp requests

Install Ollama from https://ollama.com, then pull the model:

ollama pull mistral

๐Ÿš€ Usage

Make sure Ollama is running (it starts automatically after installation), then:

python client.py

The client will:

  1. Launch the MCP server as a subprocess

  2. Call list_files to discover files in my_files/

  3. Call read_file for each file found

  4. Send the real content to Mistral for summarization

๐Ÿ“ Project Structure

MCP-File-Reader/
โ”‚
โ”œโ”€โ”€ server.py          # MCP server โ€” exposes list_files and read_file tools
โ”œโ”€โ”€ client.py          # MCP client โ€” calls tools and queries Ollama
โ”œโ”€โ”€ requirements.txt   # Python dependencies
โ””โ”€โ”€ my_files/          # Folder the AI is allowed to read
    โ”œโ”€โ”€ project_ideas.txt
    โ””โ”€โ”€ wishlist.txt

๐Ÿ” Security

  • The MCP server only allows reads from the my_files/ directory

  • Path traversal attacks (e.g. ../../etc/passwd) are automatically blocked

  • No data leaves your machine โ€” fully offline after setup

๐Ÿง  How It Works

client.py
   โ”‚
   โ”œโ”€โ”€ Step 1: Calls MCP tool โ†’ list_files()
   โ”‚              โ†“
   โ”‚         Returns filenames from my_files/
   โ”‚
   โ”œโ”€โ”€ Step 2: Calls MCP tool โ†’ read_file(filename)
   โ”‚              โ†“
   โ”‚         Returns actual file contents
   โ”‚
   โ””โ”€โ”€ Step 3: Sends real content to Ollama (Mistral)
                  โ†“
             Returns AI summary

โž• Extending the Project

  • Add your own files: Drop any .txt file into my_files/ and run again

  • Add new tools: Add a new tool handler in server.py (e.g. search_in_file, write_file)

  • Change the question: Edit user_question in client.py to ask anything about your files

  • Swap the model: Change MODEL = "mistral" in client.py to any model you have pulled in Ollama

๐Ÿ“‹ Requirements

  • Python 3.9+

  • Ollama installed (ollama.com)

  • Mistral model pulled (ollama pull mistral)

  • mcp and requests Python packages

-
security - not tested
F
license - not found
-
quality - not tested

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/JaneKarunyaJ/MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server