gabrielmaialva33/winx-code-agent

gabrielmaialva33/winx-code-agent

от gabrielmaialva33
Winx - локальный MCP инструмент на Rust для кодовых агентов (Claude, Codex). Управляет shell-сессиями с полноценным PTY, редактированием файлов через SEARCH/REPLACE, tree-sitter навигацией и контек...

Winx fairy mascot

✨ Winx - MCP Server for Shell & Coding Agents ✨

🦀 Native Rust implementation inspired by WCGW, built for local code-agent workflows

Language License MCP stdio transport

A local MCP server you can hand to a coding agent and stop worrying about the shell.

Winx is the MCP server I wanted while running Claude, Codex, and friends against real repos: one process that handles the shell, file IO, and PTY-backed interactive sessions, written in Rust so it doesn't fight you on stdio.

It started as a Rust port of WCGW but isn't a Python wrapper. Everything runs on a real PTY (via portable-pty), cd actually sticks, Ctrl+C actually interrupts, and background shells survive long-running TUIs without leaking output buffers into your token budget.

What you get

  • A stateful bash session per thread with proper PTY semantics - foreground, background, status checks, text input, Enter/Ctrl-C/Ctrl-D, raw ASCII. Multiline scripts and top-level command shorthand both work; NUL bytes are rejected before they reach the shell.
  • Workspaces with three modes: wcgw (full access), architect (read-only), code_writer (allowlist of commands and write globs). The command allowlist is parsed with tree-sitter, so it checks every command on the line - pipelines, &&/||/;, command substitution, subshells - not just the first word, and can't be bypassed with ls && curl … | sh or ls $(rm …).
  • A resilient PTY: a shell that won't return to a prompt (even after Ctrl-C) is auto-reset at the same cwd/mode, child processes are reaped on drop, and prompt detection is robust to a custom PS1. Opt into zsh with WINX_SHELL=zsh.
  • File reads with WCGW-style line ranges (file.rs:10-40, file.rs:10-, file.rs:-40). Active files are tracked and prioritized in the repository context across calls.
  • File writes and SEARCH/REPLACE edits that survive ambiguous matches, indentation drift, and the usual unicode quote-mismatches from LLMs. Writes are blocked when the file hasn't been read or the cached content is stale, the success message shows a compact diff of what changed, and recent edits are reversible with UndoEdit. MultiFileEdit applies a change across several files all-or-nothing (validated in memory first, so a failure on the last file leaves the earlier ones untouched).
  • Tree-sitter code navigation via CodeMap: a token-budgeted symbol map of a file or the whole repo, or a definition/reference lookup for a symbol name - the semantic view that plain grep can't give you, across 11 languages.
  • ContextSave for handing a task summary plus its files to the next session - including workspace context, active files, git status/diff, and terminal sharing for proper resumption. Resuming reopens the saved project root and token-caps the restored memory so it never overflows the context window.
  • ReadImage so multimodal clients can pull screenshots, mockups, error PNGs, etc.
  • Clean, token-aware shell output: cursor/ANSI noise from interactive programs (REPLs, progress bars) is rendered away through a terminal emulator, and mechanical repetition is collapsed losslessly (line [winx: ×N]) so build/install logs don't blow your context budget. Toggle the collapsing with WINX_NO_COMPRESS. When output still overflows the cap, the dropped head is streamed to a scratch file under .winx/scratch/ the agent can re-read, instead of being lost.
  • Secret redaction on by default: provider API keys, JWTs, PEM private-key blocks and user:pass@ URLs are scrubbed from all tool output and saved memory before they reach the model (disable with WINX_NO_REDACT=1). An opt-in Landlock sandbox (WINX_SANDBOX=1, Linux) adds a kernel-enforced second layer that confines writes to the workspace and hides the home directory.
  • Two transports: stdio for local clients, plus an optional token-gated Streamable HTTP server (winx serve --http) for remote MCP clients like ChatGPT - see Remote access.
У этого сервера пока нет списка инструментов.

Похожие MCP-сервера

ferodrigop/forge

ferodrigop/forge

Forge — MCP-сервер, дающий AI-агентам постоянные терминалы с реальной PTY-эмуляцией. Позволяет параллельно запускать несколько процессов, читать только новые данные (инкрементальное чтение) и управ...

TypeScript23
hyperb1iss/droidmind

hyperb1iss/droidmind

DroidMind связывает AI-ассистентов с Android-устройствами через MCP. Управляйте приложениями, анализируйте логи, автоматизируйте UI и выполняйте shell-команды на естественном языке. Полезен разрабо...

Python431
juehang/vscode-mcp-server

juehang/vscode-mcp-server

Расширение для VS Code, которое через MCP-протокол позволяет ИИ-агентам (Claude и другим) напрямую редактировать файлы, искать символы и выполнять shell-команды в вашей среде разработки. Идеально д...

TypeScript392
x51xxx/codex-mcp-tool

x51xxx/codex-mcp-tool

MCP инструмент для интеграции Codex CLI с Claude и Cursor. Позволяет анализировать файлы через @-ссылки, вести многошаговые сессии в изолированном окружении и применять структурированные правки. Полезен разработчикам для безопасного рефакторинга.

TypeScript24
tumf/mcp-shell-server

tumf/mcp-shell-server

MCP сервер для безопасного удалённого выполнения команд оболочки с белым списком, изоляцией окружения и аудитом. Поддерживает stdin, пайпы и лимиты времени/вывода. Идеален для интеграции shell-команд в MCP с контролем безопасности.

Python191
sonirico/mcp-shell

sonirico/mcp-shell

MCP сервер для безопасного выполнения shell-команд через LLM с полным контролем. Secure-режим по умолчанию ограничивает утилиты белым списком read-only команд. Политики настраиваются через YAML. Идеален для Claude Desktop и агентов, где важна безопасность.

Go104
© Каталог MCP, 2026. Все права защищены.
Проект не аффилирован с Anthropic и любыми упомянутыми продуктами.
Все названия и торговые марки принадлежат их владельцам.
Контакты для связи: hi@mcp-katalog.ru

Лука Никитин