Skip to main content
Glama

Lector de archivos MCP

Un lector de archivos basado en IA, totalmente local y gratuito, que utiliza MCP (Model Context Protocol) para conectar un servidor de herramientas de Python con un LLM local (Ollama + Mistral). Sin claves API, sin nube, sin costes: se ejecuta completamente en tu máquina.

🧾 Características

  • Servidor MCP con herramientas personalizadas (list_files, read_file)

  • Integración de LLM local a través de Ollama (Mistral / Llama3.2)

  • Descubrimiento automático de archivos y lectura de contenido

  • Resumen de contenido de archivos mediante IA

  • Protección contra recorrido de rutas (seguridad integrada)

  • Coste cero: no requiere claves API ni suscripciones

Related MCP server: mcp-ollama-python

🛠️ Stack tecnológico

Tecnología

Descripción

Python

Lenguaje principal para servidor y cliente

MCP

Protocolo de contexto de modelo (servidor de herramientas)

Ollama

Entorno de ejecución de LLM local (gratuito, sin conexión)

Mistral

Modelo de IA local para resúmenes

asyncio

Comunicación asíncrona entre cliente/servidor

requests

Llamadas HTTP a la API de Ollama

📦 Instalación

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

Instala Ollama desde https://ollama.com y, a continuación, descarga el modelo:

ollama pull mistral

🚀 Uso

Asegúrate de que Ollama esté en ejecución (se inicia automáticamente tras la instalación) y, a continuación:

python client.py

El cliente hará lo siguiente:

  1. Iniciará el servidor MCP como un subproceso

  2. Llamará a list_files para descubrir archivos en my_files/

  3. Llamará a read_file para cada archivo encontrado

  4. Enviará el contenido real a Mistral para su resumen

📁 Estructura del proyecto

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

🔐 Seguridad

  • El servidor MCP solo permite lecturas desde el directorio my_files/

  • Los ataques de recorrido de rutas (p. ej., ../../etc/passwd) se bloquean automáticamente

  • Ningún dato sale de tu máquina: totalmente sin conexión tras la configuración

🧠 Cómo funciona

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

➕ Ampliación del proyecto

  • Añade tus propios archivos: Coloca cualquier archivo .txt en my_files/ y vuelve a ejecutar

  • Añade nuevas herramientas: Añade un nuevo manejador de herramientas en server.py (p. ej., search_in_file, write_file)

  • Cambia la pregunta: Edita user_question en client.py para preguntar cualquier cosa sobre tus archivos

  • Cambia el modelo: Cambia MODEL = "mistral" en client.py por cualquier modelo que hayas descargado en Ollama

📋 Requisitos

  • Python 3.9+

  • Ollama instalado (ollama.com)

  • Modelo Mistral descargado (ollama pull mistral)

  • Paquetes de Python mcp y requests

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    A beginner MCP server that enables Claude to read local text, CSV, and Markdown files. Built as a learning project to understand how to connect AI to local file systems using the MCP protocol.
    -
  • A
    license
    Not graded
    quality
    A
    maintenance
    A Python MCP server that exposes local Ollama models as tools for AI assistants, enabling chat, generation, embeddings, and model management without cloud APIs.
    62 PyPI
    5
    MIT
  • F
    license
    Not graded
    quality
    B
    maintenance
    MCP server that enables AI to read, search, and edit local files securely without external data exposure, using local LLMs via Ollama and integrating with Open WebUI or Claude Desktop.
    -