text_file_read_and_refactor_mcp
Servidor MCP stdio en Python eficiente en tokens que expone herramientas seguras de búsqueda, lectura y refactorización de archivos de texto. Las herramientas resuelven automáticamente la BOM y la página de códigos del archivo; las herramientas de edición guardan los archivos con su codificación y BOM originales.
Documentación
Text File Read And Refactor MCP
Servidor MCP stdio de Python eficiente en tokens que expone herramientas seguras de búsqueda, lectura y refactorización de archivos de texto. Las herramientas resuelven automáticamente el BOM y la página de códigos del archivo; las herramientas de edición guardan los archivos con su codificación y BOM originales.
Glama.AI
Repositorio de Github
El repositorio de Github es un espejo público curado del proyecto. El desarrollo activo (incluyendo código experimental y notas de investigación privadas) ocurre en un repositorio privado; instantáneas seleccionadas se publican aquí periódicamente.
Instalación
-
Instala
uv: https://docs.astral.sh/uv/getting-started/installation/ -
Configura tu cliente MCP para ejecutar el servidor mediante
uvx:
{
"mcpServers": {
"text-file-read-and-refactor": {
"command": "uvx",
"args": [
"text-file-read-and-refactor-mcp"
]
}
}
}
Herramientas
Slice concepto: un análogo de slice(start: integer, stop: integer) - almacena los índices de inicio y fin de un rango.
Boundary concepto: un análogo de Boundary(text: string, type: Enum[text, word, dev_word, regex])
Span concepto: un análogo de Span(left_boundary: Boundary, right_boundary: Boundary). Permite operaciones de búsqueda/reemplazo como give me the text between "my_config_param:" and ";" o replace the text between "%my_regex_1%" and "%my_regex_2%" with "my_text".
Herramientas de solo lectura:
text_file__list_allowed_directories- en pseudocódigo: "text_file__list_allowed_directories() -> List[directory_path]"text_file__file_content_length- en pseudocódigo: "text_file__file_content_length() -> integer_characters_num"text_file__read_slice- en pseudocódigo: "text_file__read_slice(characters_slice) -> text"text_file__file_lines_num- en pseudocódigo: "text_file__file_lines_num() -> integer_lines_num"text_file__read_content_by_line_range- en pseudocódigo: "text_file__read_content_by_line_range(lines_slice) -> text"text_file__find_text- en pseudocódigo: "text_file__find_text(text, type: Enum[text, word, dev_word, regex]) -> {found, result?: {slice, lines, text}}"text_file__find_all_text_occurrences- en pseudocódigo: "text_file__find_all_text_occurrences(text, type: Enum[text, word, dev_word, regex], result_index_start, result_index_stop) -> List[{found, result: {slice, lines, text}}]"text_file__expand_slice_to_lines- en pseudocódigo: "text_file__expand_slice_to_lines(characters_slice) -> lines_slice"text_file__find_span_boundaries- en pseudocódigo: "text_file__find_span_boundaries(left_boundary, right_boundary) -> Tuple[left_boundary_characters_slice, right_boundary_characters_slice]"text_file__find_span_between_boundaries- en pseudocódigo: "text_file__find_span_between_boundaries(left_boundary, right_boundary) -> text". Ejemplo:text_file__find_span_between_boundaries("my_config_param:", ";")devolverá la cadena " my_value".text_file__find_span_with_boundaries- en pseudocódigo: "text_file__find_span_with_boundaries(left_boundary, right_boundary) -> text". Ejemplo:text_file__find_span_with_boundaries("my_config_param:", ";")devolverá la cadena "my_config_param: my_value;".
Herramientas de edición:
text_file__replace_content_by_line_range- en pseudocódigo: "text_file__replace_content_by_line_range(text, lines_slice)"text_file__replace_slice- en pseudocódigo: "text_file__replace_slice(text, characters_slice)"text_file__replace_text- en pseudocódigo: "text_file__replace_slice(old_text, new_text)"text_file__replace_span_between_boundaries- en pseudocódigo: "text_file__replace_span_between_boundaries(text, left_boundary, right_boundary)".text_file__replace_span_with_boundaries- en pseudocódigo: "text_file__replace_span_with_boundaries(text, left_boundary, right_boundary)".text_file__patch_spans_by_boundary_patterns- en pseudocódigo: "text_file__patch_spans_by_boundary_patterns(List[Tuple[text, left_boundary, right_boundary]])".
Cengal
Basado en Cengal
Proyectos que usan Cengal
- InterProcessPyObjects - Paquete de alto rendimiento que ofrece comunicación entre procesos ultrarrápida mediante memoria compartida, permitiendo compartir objetos de Python entre procesos con eficiencia excepcional.
- cengal_app_dir_path_finder - Un módulo de Python que ofrece una API unificada para la recuperación sencilla de directorios de aplicaciones específicos del sistema operativo, mejorando la gestión de datos en Windows, Linux y macOS.
- cengal_cpu_info - Información de CPU extendida y almacenada en caché con formato de salida consistente.
- cengal_memory_barriers - Barreras de memoria rápidas y multiplataforma para Python.
- flet_async - envoltorio que hace Flet asíncrono y trae tanto Cengal.coroutines como asyncio a Flet (UI basada en Flutter).
- justpy_containers - envoltorio alrededor de JustPy para aportar más seguridad y características necesarias para producción a JustPy (UI basada en VueJS).
- Bensbach - descompilador de bytecode de Unreal Engine 3 a un script similar a Lisp y compilador de vuelta a bytecode de Unreal Engine 3. Hecho para fines de modding de juegos.
- Realistic-Damage-Model-mod-for-Long-War - Mod tanto para el XCOM:EW original como para el mod Long War. Fue hecho con Bensbach, que fue hecho con Cengal.
- SmartCATaloguer.com - Catálogo basado en TagDB de imágenes (etiquetas), álbumes de música (etiquetas de género) y aplicaciones (categorías).
Licencia
Copyright © 2026 ButenkoMS. Todos los derechos reservados.
Licenciado bajo la Licencia Apache, Versión 2.0.