MCP sed/awk服务器
为模型上下文协议服务器提供安全的sed、awk和diff文本处理功能。
概述
此FastMCP服务器通过受控执行Unix文本处理实用程序为LLM提供高效的文件编辑和分析。令牌高效操作补充了grep功能,同时通过输入验证、目录白名单和资源限制实施严格的安全控制。
特性
- 模式替换 通过支持正则表达式的sed
- 文本转换 awk字段提取与处理
- 文件比较 具有统一的差分输出
- 预览操作 用于申请前的变更验证
- 目录白名单 访问控制
- 全面验证 防止命令注入、路径遍历、ReDoS攻击
- 资源强制执行 (文件大小限制、超时、内存上限)
- 审核日志记录 用于安全相关操作
- 与跨平台支持 (Linux GNU工具,macOS BSD工具)
需求
- Python 3.9或更高版本
- FastMCP 2.0+
- 系统二进制文件:
sed,awk,diff(Linux/macOS上的标准配置) - 在sed操作的目标目录中写入权限
安装
来自GitHub:
git clone https://github.com/William12556/mcp-sed-awk.git
cd mcp-sed-awk
python3 -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
pip install -e .在Claude Desktop中配置:
编辑 ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"sed-awk-mcp": {
"command": "/path/to/mcp-sed-awk/venv/bin/mcp-sed-awk",
"args": [
"--allowed-directory", "/Users/your-username/Documents",
"--allowed-directory", "/Users/your-username/Projects"
]
}
}
}注: 替换 /path/to/mcp-sed-awk 根据实际安装路径。使用虚拟环境二进制文件的完整路径以确保可靠执行。
重新启动Claude Desktop以激活服务器。
可用工具
- sed_替代品 -基于模式的查找和替换与自动备份
- preview_sed -无损更改预览
- awk变换 -字段提取和文本转换
- 差异文件 -与统一差异输出进行文件比较
- list_allowed_directories -显示可访问路径
文档
用户指南 -安装、配置、使用示例和故障排除
项目状态
版本1.0.0-初始版本
完整的:
- 设计基线(15个功能需求,15个非功能需求)
- 完整测试套件(100%通过率:51%单元测试覆盖率,19/19集成测试)
- 安全架构(验证、路径控制、资源限制、审计日志)
- 平台抽象(GNU/BSD兼容层)
- FastMCP集成(基于装饰器的工具定义)
重要通知
不能保证实际适用性。
该项目代表了使用Anthropic的Claude Desktop和Claude Code,使用编排框架进行系统软件开发,探索人工智能支持的软件开发。
发展
设置开发环境:
git clone https://github.com/William12556/mcp-sed-awk.git
cd mcp-sed-awk
python3 -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
pip install -e ".[dev]"运行测试:
# Unit tests with coverage
pytest tests/ --cov=src/sed_awk_mcp --cov-report=term-missing
# Integration tests only
pytest tests/integration/
# All tests with output capture
pytest tests/ -v测试工件: 根据项目惯例,管道测试结果 workspace/test/result/pytest-result.txt 使用:
pytest tests/ | tee workspace/test/result/pytest-result.txt许可证
版权所有(c)2025威廉·沃森。此作品根据MIT许可证获得许可。
