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

GitHub tag (with filter) Static Badge

Static Badge Static Badge

GitHub License Static Badge

text_file_read_and_refactor_mcp MCP server

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

text_file_read_and_refactor_mcp MCP server

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

  1. Instala uv: https://docs.astral.sh/uv/getting-started/installation/

  2. 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.