Token-efficient Python stdio MCP server exposing safe text-file search, reading, and refactoring tools. Tools automatically resolve the file BOM and codepage; edit tools save files with their original encoding and BOM.
claude mcp add text-file-read-and-refactor-mcp -- npx -y text_file_read_and_refactor_mcp
A pasteable skeleton generated from the repository name. Check the project README for the exact package and arguments.
Star count
1 ★ · FI-Mihej/text_file_read_and_refactor_mcp · read from the repository page · (checked 2026-10-16 20:00:20)
Source
collected from the punkpeye/awesome-mcp-servers list · type: MCP server
Harvest history
first seen 2026-10-09 · last seen 2026-10-16 · seen 32× · listed by 7 sources
Score
score 703 · 1 ★ · 7 sources · mcp
FAQ (answers come from our records)
How do I install it?
We did not find an install command for this repository (our install coverage is only about 4%). Check its README or releases page.
Who is it for?
We filed it under these tags: MCP 服务. The tags come from the entry itself, not a taxonomy we imposed.
Who maintains it?
repository FI-Mihej/text_file_read_and_refactor_mcp;first catalogued 2026-10-09;last seen 2026-10-16。There is no official certification or quality rating here — we record sources and dates only.
Token-efficient Python stdio MCP server exposing safe text-file search, reading, and refactoring tools. Tools automatically resolve the file BOM and codepage; edit tools save files with their original encoding and BOM. Glama.AI Github repository Github repository is a curated public mirror of the project. Active development (including experimental code and private research notes) happens in a private repository; selected snapshots are published here periodically. Installation 1. Install uv: https://docs.astral.sh/uv/getting-started/installation/ 2. Configure your MCP client to run the server via uvx: Tools Slice concept: an analog of the slice(start: integer, stop: integer) - stores the start and end indices of a range. Boundary concept: an analog of the Boundary(text: string, type: Enum[text, word, dev_word, regex]) Span concept: an analog of the Span(left_boundary: Boundary, right_boundary: Boundary). It allows for search/replace operations such as give me the text between "my_config_param:" and ";" or replace the text between "%my_regex_1%" and "%my_regex_2%" with "my_text". Read-only tools: - text_file__list_allowed_directories - in pseudocode: "text_file__list_allowed_directories() -> List[directory_path]" - text_file__file_content_length - in pseudocode: "text_file__file_content_length() -> integer_characters_num" - text_file__read_slice - in pseudocode: "text_file__read_slice(characters_slice) -> text" - text_file__file_lines_num - in pseudocode: "text_file__file_lines_num() -> integer_lines_num" - text_file__read_content_by_line_range - in pseudocode: "text_file__read_content_by_line_range(lines_slice) -> text" - text_file__find_text - in pseudocode: "text_file__find_text(text, type: Enum[text, word, dev_word, regex]) -> {found, result?: {slice, lines, text}}" - text_file__find_all_text_occurrences - in pseudocode: "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 - in pseudocode: "text_file__expand_slice_to_lines(characters_slice) -> lines_slice" - text_file__find_span_boundaries - in pseudocode: "text_file__find_span_boundaries(left_boundary, right_boundary) -> Tuple[left_boundary_characters_slice, right_boundary_characters_slice]" - text_file__find_span_between_boundaries - in pseudocode: "text_file__find_span_between_boundaries(left_boundary, right_boundary) -> text". Example: text_file__find_span_between_boundaries("my_config_param:", ";") will return string " my_value". - text_file__find_span_with_boundaries - in pseudocode: "text_file__find_span_with_boundaries(left_boundary, right_boundary) -> text". Example: text_file__find_span_with_boundaries("my_config_param:", ";") will return string "my_config_param: my_value;". Edit tools: - text_file__replace_content_by_line_range - in pseudocode: "text_file__replace_content_by_line_range(text, lines_slice)" - text_file__replace_slice - in pseudocode: "text_file__replace_slice(text, characters_slice)"