Text File Read And Refactor MCP
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
-
Install
uv: https://docs.astral.sh/uv/getting-started/installation/ -
Configure your MCP client to run the server via
uvx:
{
"mcpServers": {
"text-file-read-and-refactor": {
"command": "uvx",
"args": [
"text-file-read-and-refactor-mcp"
]
}
}
}
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)"text_file__replace_text- in pseudocode: "text_file__replace_slice(old_text, new_text)"text_file__replace_span_between_boundaries- in pseudocode: "text_file__replace_span_between_boundaries(text, left_boundary, right_boundary)".text_file__replace_span_with_boundaries- in pseudocode: "text_file__replace_span_with_boundaries(text, left_boundary, right_boundary)".text_file__patch_spans_by_boundary_patterns- in pseudocode: "text_file__patch_spans_by_boundary_patterns(List[Tuple[text, left_boundary, right_boundary]])".
Cengal
Based on Cengal
Projects using Cengal
- InterProcessPyObjects - High-performance package delivers blazing-fast inter-process communication through shared memory, enabling Python objects to be shared across processes with exceptional efficiency.
- cengal_app_dir_path_finder - A Python module offering a unified API for easy retrieval of OS-specific application directories, enhancing data management across Windows, Linux, and macOS
- cengal_cpu_info - Extended, cached CPU info with consistent output format.
- cengal_memory_barriers - Fast cross-platform memory barriers for Python.
- flet_async - wrapper which makes Flet async and brings booth Cengal.coroutines and asyncio to Flet (Flutter based UI)
- justpy_containers - wrapper around JustPy in order to bring more security and more production-needed features to JustPy (VueJS based UI)
- Bensbach - decompiler from Unreal Engine 3 bytecode to a Lisp-like script and compiler back to Unreal Engine 3 bytecode. Made for a game modding purposes
- Realistic-Damage-Model-mod-for-Long-War - Mod for both the original XCOM:EW and the mod Long War. Was made with a Bensbach, which was made with Cengal
- SmartCATaloguer.com - TagDB based catalog of images (tags), music albums (genre tags) and apps (categories)
License
Copyright © 2026 ButenkoMS. All rights reserved.
Licensed under the Apache License, Version 2.0.
Metadata
Release files for text-file-read-and-refactor-mcp 1.15.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| text_file_read_and_refactor_mcp-1.15.0.tar.gz | 19.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| text_file_read_and_refactor_mcp-1.15.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 43.4 kB
Release files / text_file_read_and_refactor_mcp-1.15.0.tar.gz
| Download URL | text_file_read_and_refactor_mcp-1.15.0.tar.gz |
|---|---|
| Size | 19.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
18eb1184b63e6342871b95d001345434a085437cba12e10697c6382e25aa8246
|
|
BLAKE2b-256 checksum How to use checksums |
1e4f50230997ec0bffc30bc631ff45b842d64d3eb0b4f3db13397094383e5ae2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.6
|
Release files / text_file_read_and_refactor_mcp-1.15.0-py3-none-any.whl
| Download URL | text_file_read_and_refactor_mcp-1.15.0-py3-none-any.whl |
|---|---|
| Size | 23.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f5f72aa4397bd26a6daa890eccd20cb23c0deaab4ebb7c8514ce54397a67c604
|
|
BLAKE2b-256 checksum How to use checksums |
24d7c529429fded778fd74f7bee178726215e94f00631fac23f94690758d3bdf
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.6
|