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-сервера

blazickjp/arxiv-mcp-server

blazickjp/arxiv-mcp-server

MCP-сервер для интеграции arXiv с AI-ассистентами: поиск, загрузка, чтение и локальное хранение научных статей. Полезен исследователям и разработчикам для автоматизации работы с публикациями через ...

Python2969
ppl-ai/modelcontextprotocol

ppl-ai/modelcontextprotocol

MCP-инструмент от Perplexity, который подключает к AI-ассистентам веб-поиск, глубокие исследования и аналитические рассуждения через Sonar-модели и Search API. Идеален для разработчиков, создающих интеллектуальных агентов с доступом к актуальной информации из сети.

TypeScript2388
cjo4m06/mcp-shrimp-task-manager

cjo4m06/mcp-shrimp-task-manager

Shrimp Task Manager — это MCP-сервер для умного управления задачами в AI-разработке. Он разбивает сложные проекты на атомарные подзадачи, отслеживает зависимости и сохраняет контекст между сессиями. Отлично подходит разработчикам, работающим с ИИ-агентами.

JavaScript2135
metatool-ai/metatool-app

metatool-ai/metatool-app

официальный

MetaMCP — агрегатор MCP серверов, объединяющий их в один endpoint с SSE, HTTP и middlewares. Группирует инструменты по пространствам имён, управляет доступом, наблюдает за трафиком. Для разработчиков MCP-инфраструктуры.

TypeScript2533
jsdelivr/globalping-mcp-server

jsdelivr/globalping-mcp-server

официальный

Globalping MCP Server даёт AI-ассистентам доступ к глобальной сети проб для выполнения сетевых тестов (ping, traceroute, DNS, HTTP) из тысяч точек мира. Идеально для диагностики сети и сравнения пр...

TypeScript62
mbailey/voice-mcp

mbailey/voice-mcp

VoiceMode добавляет в Claude Code голосовое общение. Разговаривайте с ИИ-агентом вслух, когда печатать неудобно: на прогулке, за готовкой или давая глазам отдых. Поддерживает локальные модели для п...

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

Лука Никитин