Procesador de contexto de modelo (MCP) de contexto de archivo
Descripción general
File Context MCP es una aplicación basada en TypeScript que proporciona una API para consultar Modelos de Lenguaje Grandes (LLM) con contexto de archivos locales. Es compatible con múltiples proveedores de LLM (Ollama y Together.ai) y puede procesar diversos tipos de archivos para generar respuestas contextuales.
Características principales
1. Navegación por el sistema de archivos
Recorrido dinámico de archivos y directorios
Soporte para múltiples tipos de archivos (
.txt
,.md
,.ts
,.json
, etc.)Manejo seguro de caminos con sanitización
2. Procesamiento del contexto
Formato de contexto inteligente para consultas LLM
Truncamiento de contexto para manejar archivos grandes
Agregación de contenido de archivos para consultas de directorio
3. Soporte multimodelo
Integración de Ollama (local)
Integración de Together.ai (nube)
Diseño de interfaz de modelo extensible
Arquitectura
Componentes principales
Servidor (server.ts)
Implementación de la API REST de Express.js
Manejo de carga/eliminación de archivos con multer
Validación y enrutamiento de solicitudes
Integración de OpenAPI/Swagger
Herramientas del sistema de archivos (core/fileSystem.ts)
Operaciones con archivos y directorios
Lectura y análisis de contenido
Recorrido de directorios
Eliminación segura de archivos
Manejo de errores en operaciones con archivos
Interfaz del modelo (core/modelInterface.ts)
Compatibilidad con varios proveedores de LLM (Ollama, Together.ai)
Formato de respuesta y manejo de errores
Parámetros del modelo configurables
Interfaz de consulta unificada
Módulos de utilidad
fileUtils
: detección de tipo de archivo, saneamiento de ruta, formato de tamañopromptUtils
: Formato de contexto, truncamiento inteligentevalidators
: validación de rutas, consultas y modeloslogger
: Registro estructurado con niveles
Configuración (config/config.ts)
Gestión de variables ambientales
Claves API y puntos finales
Configuración del modelo
Configuración del servidor
Especificación de API (recursos/file-context-api.yml)
Documentación de OpenAPI 3.0
Esquemas de solicitud/respuesta
Documentación de puntos finales
Definiciones de respuesta de error
Puntos finales de API
1. Lista de archivos
2. Subir archivo
3. Eliminar archivo
4. Consulta con contexto
Configuración y configuración
Variables de entorno
Instalación
Instalación mediante herrería
Para instalar File Context MCP para Claude Desktop automáticamente a través de Smithery :
Ejecutar la aplicación
Cómo funciona
Flujo de procesamiento de archivos
Solicitud recibida → Validación de ruta → Lectura de archivo → Extracción de contenido
El manejo de directorios incluye la lectura recursiva de archivos
Filtrado de contenido según el tipo de archivo
Las cargas de archivos se validan por tipo y tamaño.
Eliminación segura de archivos con validación de ruta
Procesamiento de contexto
El contenido del archivo se agrega
El contexto está formateado con límites claros
Los contextos grandes se truncan de forma inteligente
El formato de las indicaciones añade estructura para la comprensión del LLM
Integración de modelos
Interfaz unificada para diferentes proveedores de LLM
Manejo de errores y normalización de respuestas
Parámetros del modelo configurables
Características de seguridad
Saneamiento de caminos
Prevención de ataques de cruce de directorios
Validación y normalización de rutas
Comprobación segura del tipo de archivo
Seguridad de carga de archivos
Validación del tipo de archivo
Límites de tamaño de archivo (5 MB máximo)
Almacenamiento seguro de archivos
Eliminación segura de archivos
Validación de entrada
Validación del contenido de la consulta
Verificación del tipo de modelo
Verificación de la estructura de la ruta
Validación del contenido del archivo
Tipos de archivos admitidos
La aplicación admite los siguientes tipos de archivos basados en texto:
Documentación:
.txt
,.md
Archivos de código:
.js
,.ts
,.jsx
,.tsx
,.py
,.java
,.cpp
,.c
,.h
Configuración:
.json
,.yaml
,.yml
,.env
Archivos web:
.html
,.css
Archivos de datos:
.csv
,.xml
,.log
La validación del tipo de archivo se aplica durante:
Subidas de archivos
Procesamiento del contexto
Operaciones de lectura de archivos
Tamaño máximo de archivo: 5 MB por archivo
Manejo de errores
La aplicación implementa un manejo integral de errores:
Errores del sistema de archivos
Errores de respuesta de la API
Errores de entrada no válida
Errores específicos del modelo
Errores de carga/eliminación de archivos
Desarrollo
Estructura del proyecto
Añadiendo nuevas funciones
Nuevos tipos de archivos
Agregar extensiones a
fileUtils.isTextFile()
Implementar controladores específicos si es necesario
Nuevos proveedores de modelos
Extender la clase
ModelInterface
Agregar proveedor a
validators.isValidModel()
Implementar el manejo de errores específico del proveedor
Pruebas
Colección del Cartero
El proyecto incluye una colección de Postman ( postman/File-Context-MCP.postman_collection.json
) para probar todos los endpoints de la API. Para usarla:
Importar la colección
Cartero abierto
Haga clic en el botón "Importar"
Seleccione o arrastre el
File-Context-MCP.postman_collection.json
Solicitudes disponibles
File-Context-MCP ├── List files │ └── GET http://localhost:3001/api/files?path=./storage ├── Query │ └── POST http://localhost:3001/api/query (single file analysis) ├── Analyze multiple files │ └── POST http://localhost:3001/api/query (directory analysis) └── File Upload └── POST http://localhost:3001/api/files/uploadPrueba de operaciones de archivos
Lista de archivos : ver el contenido del directorio de almacenamiento
Subir archivo : utilice form-data con la clave "archivo" y seleccione un archivo de texto
Consulta de archivos : Analice el contenido de un solo archivo con LLM
Analizar directorio : procesar múltiples archivos con LLM
Consultas de ejemplo
// Single file analysis { "path": "./storage/code-samples/example.ts", "query": "Explain what this TypeScript code does", "model": "ollama" } // Directory analysis { "path": "./storage", "query": "What types of files are in this directory and summarize their contents?", "model": "ollama" }Guía de carga de archivos
Utilice la solicitud "Carga de archivos"
Seleccione "form-data" en la pestaña Cuerpo
Agregar clave "archivo" con tipo "Archivo"
Elija un archivo de texto compatible (consulte Tipos de archivos compatibles)
Tamaño máximo de archivo: 5 MB
Pruebas manuales
Utilice los archivos de prueba proporcionados en
/storage
Pruebe diferentes tipos de archivos y consultas
Verificar las respuestas del modelo y el manejo de errores
Límites de tamaño de archivo de prueba y restricciones de tipo
Configuración del entorno
Asegúrese de:
Tener el servidor en ejecución (
npm run dev
)Configurar variables de entorno
Tener Ollama ejecutándose localmente (para el modelo Ollama)
Establecer la clave API de Together.ai (para el modelo Together)
Consideraciones futuras
Cómo gestionar archivos grandes de forma eficiente
Ampliación de los tipos de archivos admitidos
Optimización del procesamiento del contexto
Agregar soporte de transmisión para las respuestas
Implementación de limitación de velocidad y almacenamiento en caché
Este proyecto demuestra prácticas modernas de TypeScript/Node.js con un enfoque en la modularidad, la seguridad de tipos y el manejo de errores, al tiempo que proporciona una interfaz flexible para las interacciones LLM con el contexto basado en archivos.
This server cannot be installed
local-only server
The server can only run on the client's local machine because it depends on local resources.
Este servidor proporciona una API para consultar modelos de lenguaje grandes utilizando el contexto de archivos locales y admite varios modelos y tipos de archivos para obtener respuestas conscientes del contexto.
- Descripción general
- Características principales
- Arquitectura
- Puntos finales de API
- Configuración y configuración
- Cómo funciona
- Características de seguridad
- Tipos de archivos admitidos
- Manejo de errores
- Desarrollo
- Pruebas
- Consideraciones futuras
Related Resources
Related MCP Servers
- -securityAlicense-qualityA Model Context Protocol server that provides access to BigQuery. This server enables LLMs to inspect database schemas and execute queries.Last updated -120MIT License
- -securityFlicense-qualityA TypeScript-based server that provides a memory system for Large Language Models (LLMs), allowing users to interact with multiple LLM providers while maintaining conversation history and offering tools for managing providers and model configurations.Last updated -27
- -securityAlicense-qualityA server that enables Large Language Models to discover and interact with REST APIs defined by OpenAPI specifications through the Model Context Protocol.Last updated -519154MIT License
MCP TapData Serverofficial
-securityFlicense-qualityA Model Context Protocol server that enables Large Language Models to access and interact with database connections, including viewing schemas and performing CRUD operations on connected databases.Last updated -