Leer un archivo del disco
Convierta un archivo local en un recurso MCP dinámico.
Leer un archivo del disco es una lección gratuita de MCP Academy en CoddyKit. Esta es la lección 3 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de MCP Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de MCP Academy incluye 4 lecciones en total.
De fijo a dinámico
Devolver una cadena codificada directamente está bien, pero los servidores reales exponen archivos reales. Puede leer un archivo del disco y servir su contenido dinámicamente.
Leer dentro del controlador
La función del recurso simplemente abre el archivo y devuelve su texto. Como se ejecuta en cada solicitud, el cliente siempre recibe el contenido actual. 📂
Un recurso de archivo básico
Abra el archivo, léalo y devuelva la cadena. El recurso ahora refleja lo que esté guardado en el disco en el momento de la lectura.
@mcp.resource("file:///notes.txt")
def notes():
with open("notes.txt") as f:
return f.read()Usar pathlib de forma limpia
La biblioteca pathlib lee archivos pequeños en una sola línea y gestiona las rutas de forma segura en distintos sistemas, lo que mantiene el controlador breve y claro.
from pathlib import Path
@mcp.resource("file:///notes.txt")
def notes():
return Path("notes.txt").read_text()Gestionar archivos inexistentes
Un archivo puede desaparecer o cambiar de nombre. Envuelva la lectura para que un archivo inexistente devuelva un mensaje de error claro en lugar de bloquear el servidor.
try:
return Path(p).read_text()
except FileNotFoundError:
raise ValueError("File not found")Tener en cuenta la codificación
Los archivos de texto tienen una codificación. Lea con utf-8 explícitamente para que los caracteres acentuados y los caracteres de otros idiomas lleguen intactos al modelo.
Path("notes.txt").read_text(encoding="utf-8")Vigilar el tamaño del archivo
Devolver un archivo enorme satura el modelo con tokens y puede alcanzar los límites. Mantenga pequeños los archivos que sirve o lea únicamente la parte que el modelo realmente necesita.
No confíe nunca en la ruta
Si una ruta procede de una entrada, un atacante podría solicitar archivos fuera de su carpeta. Limite siempre las lecturas a un directorio base seguro que controle.
Resolver dentro de una base
Calcule una ruta absoluta y compruebe que permanezca dentro de la raíz permitida. Esto bloquea los trucos de traversal de rutas, como subir niveles con dos puntos.
base = Path("data").resolve()
target = (base / name).resolve()
if base not in target.parents: raise ValueError("Denied")De solo lectura por naturaleza
Los recursos solo leen; nunca escriben. Servir un archivo como recurso expone su contenido sin permitir que el modelo modifique el archivo.
Verificar la lectura dinámica
Cambie el archivo en el disco y vuelva a leer el URI. Ver el texto nuevo demuestra que el servidor lee el contenido actual en lugar de almacenar contenido obsoleto en caché.
Comprobación rápida
Comprobación de seguridad al servir archivos.
Resumen
Lea un archivo dentro del controlador para que el contenido se mantenga actual. Establezca utf-8, gestione los archivos inexistentes, vigile el tamaño y limite las rutas a una raíz segura. ✅
Preguntas frecuentes
¿La lección «Leer un archivo del disco» es gratis?
Sí — el texto completo de «Leer un archivo del disco» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de MCP Academy, actualiza a CoddyKit PRO. El curso de MCP Academy incluye 4 lecciones en total.
¿Qué aprenderé en «Leer un archivo del disco»?
Convierta un archivo local en un recurso MCP dinámico. Practicas MCP Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar MCP Academy?
No se requiere experiencia previa. MCP Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 3 de 4.
¿Cuánto tiempo toma la lección «Leer un archivo del disco»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de MCP Academy?
Sí. Cada lección de MCP Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Explicación de los URI de recursos
- Servir un recurso de texto estático
- Leer un archivo del disco
- Establecer el tipo MIME correcto