@mcptoolshop/file-forge 0.2.0 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.es.md ADDED
@@ -0,0 +1,241 @@
1
+ <p align="center">
2
+ <a href="README.ja.md">日本語</a> | <a href="README.zh.md">中文</a> | <a href="README.md">English</a> | <a href="README.fr.md">Français</a> | <a href="README.hi.md">हिन्दी</a> | <a href="README.it.md">Italiano</a> | <a href="README.pt-BR.md">Português (BR)</a>
3
+ </p>
4
+
5
+ <p align="center"><img src="https://raw.githubusercontent.com/mcp-tool-shop-org/brand/main/logos/mcp-file-forge/readme.png" alt="MCP File Forge" width="400"></p>
6
+
7
+ <p align="center">
8
+ Secure file operations and project scaffolding for AI agents.
9
+ <br />
10
+ Part of <a href="https://mcp-tool-shop.github.io/">MCP Tool Shop</a>
11
+ </p>
12
+
13
+ <p align="center">
14
+ <a href="https://www.npmjs.com/package/@mcptoolshop/file-forge"><img alt="npm version" src="https://img.shields.io/npm/v/@mcptoolshop/file-forge"></a>
15
+ <a href="https://github.com/mcp-tool-shop-org/mcp-file-forge/blob/main/LICENSE"><img alt="license" src="https://img.shields.io/badge/license-MIT-blue"></a>
16
+ <a href="https://mcp-tool-shop-org.github.io/mcp-file-forge/"><img alt="Landing Page" src="https://img.shields.io/badge/Landing_Page-live-blue"></a>
17
+ </p>
18
+
19
+ ---
20
+
21
+ ## At a Glance
22
+
23
+ MCP File Forge es un servidor de [Protocolo de Contexto de Modelo](https://modelcontextprotocol.io) (MCP) que proporciona a los agentes de IA acceso controlado y seguro al sistema de archivos local. Incluye **17 herramientas** en cinco categorías:
24
+
25
+ | Categoría | Herramientas | Descripción |
26
+ | ---------- | ------- | ------------- |
27
+ | **Reading** | `read_file`, `read_directory`, `read_multiple` | Leer archivos y listados de directorios |
28
+ | **Writing** | `write_file`, `create_directory`, `copy_file`, `move_file`, `delete_file` | Crear, modificar, copiar, mover y eliminar |
29
+ | **Search** | `glob_search`, `grep_search`, `find_by_content` | Encontrar archivos por patrón de nombre o contenido |
30
+ | **Metadata** | `file_stat`, `file_exists`, `get_disk_usage`, `compare_files` | Inspeccionar tamaño, marcas de tiempo, existencia |
31
+ | **Scaffolding** | `scaffold_project`, `list_templates` | Crear proyectos a partir de plantillas con sustitución de variables |
32
+
33
+ Propiedades clave:
34
+
35
+ - **Aislamiento (Sandboxed)**: las operaciones están restringidas a los directorios explícitamente permitidos.
36
+ - **Modo de solo lectura**: activar una variable de entorno para desactivar todas las herramientas de escritura.
37
+ - **Seguro con enlaces simbólicos**: el seguimiento de enlaces simbólicos está desactivado de forma predeterminada para evitar escapes del entorno aislado.
38
+ - **Diseñado para Windows**: optimizado para rutas y convenciones de Windows, pero funciona en cualquier sistema.
39
+ - **Motor de plantillas**: sustitución de variables con `{{var}}` / `${var}` y renombrado a nivel de ruta con `__var__`.
40
+
41
+ ---
42
+
43
+ ## Instalación
44
+
45
+ ```bash
46
+ npm install -g @mcptoolshop/file-forge
47
+ ```
48
+
49
+ O ejecútelo directamente con npx:
50
+
51
+ ```bash
52
+ npx @mcptoolshop/file-forge
53
+ ```
54
+
55
+ ---
56
+
57
+ ## Configuración de Claude Desktop
58
+
59
+ Agregue lo siguiente a su `claude_desktop_config.json`:
60
+
61
+ ```json
62
+ {
63
+ "mcpServers": {
64
+ "file-forge": {
65
+ "command": "npx",
66
+ "args": ["-y", "@mcptoolshop/file-forge"],
67
+ "env": {
68
+ "MCP_FILE_FORGE_ALLOWED_PATHS": "C:/Projects,C:/Users/you/Documents"
69
+ }
70
+ }
71
+ }
72
+ }
73
+ ```
74
+
75
+ Si lo instaló globalmente, puede apuntar directamente al ejecutable:
76
+
77
+ ```json
78
+ {
79
+ "mcpServers": {
80
+ "file-forge": {
81
+ "command": "mcp-file-forge",
82
+ "env": {
83
+ "MCP_FILE_FORGE_ALLOWED_PATHS": "C:/Projects"
84
+ }
85
+ }
86
+ }
87
+ }
88
+ ```
89
+
90
+ ---
91
+
92
+ ## Referencia de herramientas
93
+
94
+ ### Lectura
95
+
96
+ | Herramienta | Descripción | Parámetros clave |
97
+ | ------ | ------------- | ---------------- |
98
+ | `read_file` | Leer el contenido de un archivo | `path`, `encoding?`, `start_line?`, `end_line?`, `max_size_kb?` |
99
+ | `read_directory` | Listar las entradas de un directorio | `path`, `recursive?`, `max_depth?`, `include_hidden?`, `pattern?` |
100
+ | `read_multiple` | Leer varios archivos en lote | `paths`, `encoding?`, `fail_on_error?` |
101
+
102
+ ### Escritura
103
+
104
+ | Herramienta | Descripción | Parámetros clave |
105
+ | ------ | ------------- | ---------------- |
106
+ | `write_file` | Escribir o sobrescribir un archivo | `path`, `content`, `encoding?`, `create_dirs?`, `overwrite?`, `backup?` |
107
+ | `create_directory` | Crear un directorio | `path`, `recursive?` |
108
+ | `copy_file` | Copiar un archivo o directorio | `source`, `destination`, `overwrite?`, `recursive?` |
109
+ | `move_file` | Mover o renombrar | `source`, `destination`, `overwrite?` |
110
+ | `delete_file` | Eliminar un archivo o directorio | `path`, `recursive?`, `force?` |
111
+
112
+ ### Búsqueda
113
+
114
+ | Herramienta | Descripción | Parámetros clave |
115
+ | ------ | ------------- | ---------------- |
116
+ | `glob_search` | Encontrar archivos por patrón glob | `pattern`, `base_path?`, `max_results?`, `include_dirs?` |
117
+ | `grep_search` | Buscar contenido de archivos con expresión regular | `pattern`, `path?`, `glob?`, `case_sensitive?`, `max_results?`, `context_lines?` |
118
+ | `find_by_content` | Búsqueda de texto literal (sin expresión regular) | `text`, `path?`, `file_pattern?`, `max_results?` |
119
+
120
+ ### Metadatos
121
+
122
+ | Herramienta | Descripción | Parámetros clave |
123
+ | ------ | ------------- | ---------------- |
124
+ | `file_stat` | Estadísticas de archivos/directorios | `path` |
125
+ | `file_exists` | Comprobar existencia y tipo | `path`, `type?` (`file` / `directory` / `any`) |
126
+ | `get_disk_usage` | Desglose del tamaño del directorio | `path`, `max_depth?` |
127
+ | `compare_files` | Comparar dos rutas | `path1`, `path2` |
128
+
129
+ ### Creación de plantillas
130
+
131
+ | Herramienta | Descripción | Parámetros clave |
132
+ | ------ | ------------- | ---------------- |
133
+ | `scaffold_project` | Crear proyecto a partir de una plantilla | `template`, `destination`, `variables?`, `overwrite?` |
134
+ | `list_templates` | Listar plantillas disponibles | `category?` |
135
+
136
+ La documentación completa de los parámetros, ejemplos y códigos de error se encuentran en el [MANUAL.md](MANUAL.md).
137
+
138
+ ---
139
+
140
+ ## Variables de entorno
141
+
142
+ | Variable | Descripción | Valor predeterminado |
143
+ | ---------- | ------------- | --------- |
144
+ | `MCP_FILE_FORGE_ALLOWED_PATHS` | Lista separada por comas de directorios raíz permitidos | `.` (directorio actual) |
145
+ | `MCP_FILE_FORGE_DENIED_PATHS` | Lista separada por comas de patrones de ruta denegados | `**/node_modules/**`, `**/.git/**` |
146
+ | `MCP_FILE_FORGE_READ_ONLY` | Desactivar todas las operaciones de escritura | `false` |
147
+ | `MCP_FILE_FORGE_MAX_FILE_SIZE` | Tamaño máximo de archivo en bytes | `104857600` (100 MB) |
148
+ | `MCP_FILE_FORGE_MAX_DEPTH` | Profundidad máxima de recursión | `20` |
149
+ | `MCP_FILE_FORGE_FOLLOW_SYMLINKS` | Permitir el seguimiento de enlaces simbólicos fuera del entorno de pruebas. | `false` |
150
+ | `MCP_FILE_FORGE_TEMPLATE_PATHS` | Directorios de plantillas separados por comas. | `./templates` |
151
+ | `MCP_FILE_FORGE_LOG_LEVEL` | Nivel de detalle del registro (`error`, `warn`, `info`, `debug`). | `info` |
152
+ | `MCP_FILE_FORGE_LOG_FILE` | Ruta a un archivo de registro (además de stderr). | _ninguno_ |
153
+
154
+ ---
155
+
156
+ ## Archivo de configuración
157
+
158
+ Cree el archivo `mcp-file-forge.json` (o `.mcp-file-forge.json`) en o por encima de su directorio de trabajo:
159
+
160
+ ```json
161
+ {
162
+ "sandbox": {
163
+ "allowed_paths": ["C:/Projects", "C:/Users/you/Documents"],
164
+ "denied_paths": ["**/secrets/**", "**/.env"],
165
+ "follow_symlinks": false,
166
+ "max_file_size": 52428800,
167
+ "max_depth": 20
168
+ },
169
+ "templates": {
170
+ "paths": ["./templates", "~/.mcp-file-forge/templates"]
171
+ },
172
+ "logging": {
173
+ "level": "info",
174
+ "file": "./logs/mcp-file-forge.log"
175
+ },
176
+ "read_only": false
177
+ }
178
+ ```
179
+
180
+ Prioridad de configuración (la más alta tiene prioridad):
181
+
182
+ 1. Variables de entorno
183
+ 2. Archivo de configuración
184
+ 3. Valores predeterminados integrados
185
+
186
+ ---
187
+
188
+ ## Seguridad
189
+
190
+ MCP File Forge implementa varias capas de protección para evitar que los agentes de IA accedan a áreas fuera de su espacio de trabajo designado:
191
+
192
+ - **Aislamiento de rutas:** Cada ruta se resuelve a una ruta absoluta y se verifica contra la lista `allowed_paths` antes de que se realice cualquier operación de entrada/salida.
193
+ - **Rutas bloqueadas:** Patrones glob que están bloqueados incluso dentro de los directorios permitidos (por ejemplo, `**/secrets/**`).
194
+ - **Protección de enlaces simbólicos:** Los enlaces simbólicos no se siguen de forma predeterminada; si el destino de un enlace simbólico se encuentra fuera del entorno de pruebas, la operación se deniega.
195
+ - **Detección de recorrido de rutas:** Las secuencias `..` que podrían escapar del entorno de pruebas se rechazan.
196
+ - **Límites de tamaño:** Los archivos que superan el tamaño `max_file_size` se rechazan para evitar el agotamiento de la memoria.
197
+ - **Límites de profundidad:** Las operaciones recursivas se limitan a `max_depth` niveles.
198
+ - **Modo de solo lectura:** Establezca `MCP_FILE_FORGE_READ_ONLY=true` para deshabilitar `write_file`, `create_directory`, `copy_file`, `move_file`, `delete_file` y `scaffold_project`.
199
+ - **Rechazo de bytes nulos:** Las rutas que contienen `\0` se rechazan.
200
+ - **Protección contra rutas largas en Windows:** Las rutas que superan los 32.767 caracteres se rechazan.
201
+
202
+ ---
203
+
204
+ ## Documentación
205
+
206
+ | Documento | Descripción |
207
+ | ---------- | ------------- |
208
+ | [HANDBOOK.md](HANDBOOK.md) | Análisis profundo: modelo de seguridad, referencia de herramientas, plantillas, arquitectura, preguntas frecuentes. |
209
+ | [CHANGELOG.md](CHANGELOG.md) | Historial de versiones (formato Keep a Changelog) |
210
+ | [docs/PLANNING.md](docs/PLANNING.md) | Notas internas de planificación e investigación. |
211
+
212
+ ---
213
+
214
+ ## Desarrollo
215
+
216
+ ```bash
217
+ # Install dependencies
218
+ npm install
219
+
220
+ # Build
221
+ npm run build
222
+
223
+ # Watch mode
224
+ npm run dev
225
+
226
+ # Run tests
227
+ npm test
228
+
229
+ # Lint
230
+ npm run lint
231
+ ```
232
+
233
+ ---
234
+
235
+ ## Licencia
236
+
237
+ [MIT](LICENSE)
238
+
239
+ ---
240
+
241
+ Creado por <a href="https://mcp-tool-shop.github.io/">MCP Tool Shop</a
package/README.fr.md ADDED
@@ -0,0 +1,241 @@
1
+ <p align="center">
2
+ <a href="README.ja.md">日本語</a> | <a href="README.zh.md">中文</a> | <a href="README.es.md">Español</a> | <a href="README.md">English</a> | <a href="README.hi.md">हिन्दी</a> | <a href="README.it.md">Italiano</a> | <a href="README.pt-BR.md">Português (BR)</a>
3
+ </p>
4
+
5
+ <p align="center"><img src="https://raw.githubusercontent.com/mcp-tool-shop-org/brand/main/logos/mcp-file-forge/readme.png" alt="MCP File Forge" width="400"></p>
6
+
7
+ <p align="center">
8
+ Secure file operations and project scaffolding for AI agents.
9
+ <br />
10
+ Part of <a href="https://mcp-tool-shop.github.io/">MCP Tool Shop</a>
11
+ </p>
12
+
13
+ <p align="center">
14
+ <a href="https://www.npmjs.com/package/@mcptoolshop/file-forge"><img alt="npm version" src="https://img.shields.io/npm/v/@mcptoolshop/file-forge"></a>
15
+ <a href="https://github.com/mcp-tool-shop-org/mcp-file-forge/blob/main/LICENSE"><img alt="license" src="https://img.shields.io/badge/license-MIT-blue"></a>
16
+ <a href="https://mcp-tool-shop-org.github.io/mcp-file-forge/"><img alt="Landing Page" src="https://img.shields.io/badge/Landing_Page-live-blue"></a>
17
+ </p>
18
+
19
+ ---
20
+
21
+ ## At a Glance
22
+
23
+ MCP File Forge est un serveur [Model Context Protocol](https://modelcontextprotocol.io) (MCP) qui offre aux agents d'IA un accès sécurisé et contrôlé par des politiques au système de fichiers local. Il comprend **17 outils** répartis en cinq catégories :
24
+
25
+ | Catégorie | Outils | Description |
26
+ | ---------- | ------- | ------------- |
27
+ | **Reading** | `read_file`, `read_directory`, `read_multiple` | Lecture de fichiers et listes de répertoires |
28
+ | **Writing** | `write_file`, `create_directory`, `copy_file`, `move_file`, `delete_file` | Création, modification, copie, déplacement et suppression |
29
+ | **Search** | `glob_search`, `grep_search`, `find_by_content` | Recherche de fichiers par nom ou contenu |
30
+ | **Metadata** | `file_stat`, `file_exists`, `get_disk_usage`, `compare_files` | Inspection de la taille, des horodatages et de l'existence |
31
+ | **Scaffolding** | `scaffold_project`, `list_templates` | Création de projets à partir de modèles avec substitution de variables |
32
+
33
+ Propriétés clés :
34
+
35
+ - **Environnement isolé (sandboxed)** : les opérations sont limitées aux répertoires explicitement autorisés.
36
+ - **Mode lecture seule** : activer une variable d'environnement pour désactiver tous les outils d'écriture.
37
+ - **Sécurité des liens symboliques** : le suivi des liens symboliques est désactivé par défaut pour éviter les failles de sécurité.
38
+ - **Conçu pour Windows** : optimisé pour les chemins et conventions de Windows, mais fonctionne partout.
39
+ - **Moteur de modèles** : substitution `{{var}}` / `${var}` ainsi que renommage au niveau du chemin avec `__var__`.
40
+
41
+ ---
42
+
43
+ ## Installation
44
+
45
+ ```bash
46
+ npm install -g @mcptoolshop/file-forge
47
+ ```
48
+
49
+ Ou exécutez directement avec npx :
50
+
51
+ ```bash
52
+ npx @mcptoolshop/file-forge
53
+ ```
54
+
55
+ ---
56
+
57
+ ## Configuration de Claude Desktop
58
+
59
+ Ajoutez ce qui suit à votre fichier `claude_desktop_config.json` :
60
+
61
+ ```json
62
+ {
63
+ "mcpServers": {
64
+ "file-forge": {
65
+ "command": "npx",
66
+ "args": ["-y", "@mcptoolshop/file-forge"],
67
+ "env": {
68
+ "MCP_FILE_FORGE_ALLOWED_PATHS": "C:/Projects,C:/Users/you/Documents"
69
+ }
70
+ }
71
+ }
72
+ }
73
+ ```
74
+
75
+ Si vous avez installé globalement, vous pouvez pointer directement vers le fichier binaire :
76
+
77
+ ```json
78
+ {
79
+ "mcpServers": {
80
+ "file-forge": {
81
+ "command": "mcp-file-forge",
82
+ "env": {
83
+ "MCP_FILE_FORGE_ALLOWED_PATHS": "C:/Projects"
84
+ }
85
+ }
86
+ }
87
+ }
88
+ ```
89
+
90
+ ---
91
+
92
+ ## Référence des outils
93
+
94
+ ### Lecture
95
+
96
+ | Outil | Description | Paramètres clés |
97
+ | ------ | ------------- | ---------------- |
98
+ | `read_file` | Lecture du contenu d'un fichier | `path`, `encoding?`, `start_line?`, `end_line?`, `max_size_kb?` |
99
+ | `read_directory` | Liste des entrées d'un répertoire | `path`, `recursive?`, `max_depth?`, `include_hidden?`, `pattern?` |
100
+ | `read_multiple` | Lecture en lot de plusieurs fichiers | `paths`, `encoding?`, `fail_on_error?` |
101
+
102
+ ### Écriture
103
+
104
+ | Outil | Description | Paramètres clés |
105
+ | ------ | ------------- | ---------------- |
106
+ | `write_file` | Écriture ou remplacement d'un fichier | `path`, `content`, `encoding?`, `create_dirs?`, `overwrite?`, `backup?` |
107
+ | `create_directory` | Création d'un répertoire | `path`, `recursive?` |
108
+ | `copy_file` | Copie d'un fichier ou d'un répertoire | `source`, `destination`, `overwrite?`, `recursive?` |
109
+ | `move_file` | Déplacement ou renommage | `source`, `destination`, `overwrite?` |
110
+ | `delete_file` | Suppression d'un fichier ou d'un répertoire | `path`, `recursive?`, `force?` |
111
+
112
+ ### Recherche
113
+
114
+ | Outil | Description | Paramètres clés |
115
+ | ------ | ------------- | ---------------- |
116
+ | `glob_search` | Recherche de fichiers par motif glob | `pattern`, `base_path?`, `max_results?`, `include_dirs?` |
117
+ | `grep_search` | Recherche de contenu de fichier avec une expression régulière | `pattern`, `path?`, `glob?`, `case_sensitive?`, `max_results?`, `context_lines?` |
118
+ | `find_by_content` | Recherche de texte littéral (sans expression régulière) | `text`, `path?`, `file_pattern?`, `max_results?` |
119
+
120
+ ### Métadonnées
121
+
122
+ | Outil | Description | Paramètres clés |
123
+ | ------ | ------------- | ---------------- |
124
+ | `file_stat` | Statistiques de fichiers/répertoires | `path` |
125
+ | `file_exists` | Vérification de l'existence et du type | `path`, `type?` (`file` / `directory` / `any`) |
126
+ | `get_disk_usage` | Répartition de la taille d'un répertoire | `path`, `max_depth?` |
127
+ | `compare_files` | Comparaison de deux chemins | `path1`, `path2` |
128
+
129
+ ### Génération de code
130
+
131
+ | Outil | Description | Paramètres clés |
132
+ | ------ | ------------- | ---------------- |
133
+ | `scaffold_project` | Création d'un projet à partir d'un modèle | `template`, `destination`, `variables?`, `overwrite?` |
134
+ | `list_templates` | Liste des modèles disponibles | `category?` |
135
+
136
+ La documentation complète des paramètres, des exemples et des codes d'erreur se trouve dans le fichier [HANDBOOK.md](HANDBOOK.md).
137
+
138
+ ---
139
+
140
+ ## Variables d'environnement
141
+
142
+ | Variable | Description | Valeur par défaut |
143
+ | ---------- | ------------- | --------- |
144
+ | `MCP_FILE_FORGE_ALLOWED_PATHS` | Liste séparée par des virgules des répertoires racines autorisés | `.` (répertoire courant) |
145
+ | `MCP_FILE_FORGE_DENIED_PATHS` | Liste séparée par des virgules des motifs de chemins interdits | `**/node_modules/**`, `**/.git/**` |
146
+ | `MCP_FILE_FORGE_READ_ONLY` | Désactive toutes les opérations d'écriture | `false` |
147
+ | `MCP_FILE_FORGE_MAX_FILE_SIZE` | Taille maximale d'un fichier en octets | `104857600` (100 Mo) |
148
+ | `MCP_FILE_FORGE_MAX_DEPTH` | Profondeur de récursion maximale | `20` |
149
+ | `MCP_FILE_FORGE_FOLLOW_SYMLINKS` | Autoriser le suivi des liens symboliques en dehors de l'environnement isolé | `false` |
150
+ | `MCP_FILE_FORGE_TEMPLATE_PATHS` | Répertoires de modèles séparés par des virgules | `./templates` |
151
+ | `MCP_FILE_FORGE_LOG_LEVEL` | Niveau de verbosité des journaux (`error`, `warn`, `info`, `debug`) | `info` |
152
+ | `MCP_FILE_FORGE_LOG_FILE` | Chemin vers un fichier de journalisation (en plus de stderr) | _aucun_ |
153
+
154
+ ---
155
+
156
+ ## Fichier de configuration
157
+
158
+ Créez un fichier `mcp-file-forge.json` (ou `.mcp-file-forge.json`) dans ou au-dessus de votre répertoire de travail :
159
+
160
+ ```json
161
+ {
162
+ "sandbox": {
163
+ "allowed_paths": ["C:/Projects", "C:/Users/you/Documents"],
164
+ "denied_paths": ["**/secrets/**", "**/.env"],
165
+ "follow_symlinks": false,
166
+ "max_file_size": 52428800,
167
+ "max_depth": 20
168
+ },
169
+ "templates": {
170
+ "paths": ["./templates", "~/.mcp-file-forge/templates"]
171
+ },
172
+ "logging": {
173
+ "level": "info",
174
+ "file": "./logs/mcp-file-forge.log"
175
+ },
176
+ "read_only": false
177
+ }
178
+ ```
179
+
180
+ Priorité de configuration (la plus élevée l'emporte) :
181
+
182
+ 1. Variables d'environnement
183
+ 2. Fichier de configuration
184
+ 3. Valeurs par défaut intégrées
185
+
186
+ ---
187
+
188
+ ## Sécurité
189
+
190
+ MCP File Forge impose plusieurs niveaux de protection pour empêcher les agents d'IA de sortir de leur espace de travail désigné :
191
+
192
+ - **Environnement isolé (sandboxing) des chemins** : chaque chemin est résolu en un chemin absolu et vérifié par rapport à la liste `allowed_paths` avant toute opération d'entrée/sortie.
193
+ - **Chemins interdits** : les motifs glob qui sont bloqués, même dans les répertoires autorisés (par exemple, `**/secrets/**`).
194
+ - **Protection des liens symboliques** : les liens symboliques ne sont pas suivis par défaut ; si la cible d'un lien symbolique se trouve en dehors de l'environnement isolé, l'opération est refusée.
195
+ - **Détection de parcours de chemins** : les séquences `..` qui permettraient de sortir de l'environnement isolé sont rejetées.
196
+ - **Limites de taille** : les fichiers dont la taille dépasse `max_file_size` sont refusés afin d'éviter une consommation excessive de mémoire.
197
+ - **Limites de profondeur** : les opérations récursives sont limitées à `max_depth` niveaux.
198
+ - **Mode lecture seule** : définissez `MCP_FILE_FORGE_READ_ONLY=true` pour désactiver `write_file`, `create_directory`, `copy_file`, `move_file`, `delete_file` et `scaffold_project`.
199
+ - **Rejet des octets nuls** : les chemins contenant `\0` sont refusés.
200
+ - **Protection contre les longs chemins Windows** : les chemins dépassant 32 767 caractères sont refusés.
201
+
202
+ ---
203
+
204
+ ## Documentation
205
+
206
+ | Document | Description |
207
+ | ---------- | ------------- |
208
+ | [HANDBOOK.md](HANDBOOK.md) | Analyse approfondie : modèle de sécurité, référence des outils, modèles, architecture, FAQ |
209
+ | [CHANGELOG.md](CHANGELOG.md) | Historique des versions (format Keep a Changelog) |
210
+ | [docs/PLANNING.md](docs/PLANNING.md) | Notes de planification et de recherche internes |
211
+
212
+ ---
213
+
214
+ ## Développement
215
+
216
+ ```bash
217
+ # Install dependencies
218
+ npm install
219
+
220
+ # Build
221
+ npm run build
222
+
223
+ # Watch mode
224
+ npm run dev
225
+
226
+ # Run tests
227
+ npm test
228
+
229
+ # Lint
230
+ npm run lint
231
+ ```
232
+
233
+ ---
234
+
235
+ ## Licence
236
+
237
+ [MIT](LICENSE)
238
+
239
+ ---
240
+
241
+ Créé par <a href="https://mcp-tool-shop.github.io/">MCP Tool Shop</a