Skip to main content
Glama

CodeWeave

CI License: MIT Rust Model Context Protocol

CodeWeave — это локальный MCP-сервер, который предоставляет ИИ-клиенту для написания кода точный поиск, контролируемые изменения, операции с Git, семантическую аналитику и ограниченное выполнение Bash в рамках одного репозитория.

Он создан для разработчиков, которым нужны мощные инструменты для работы с кодом, не допускающие незаметного переключения репозиториев, скрытия частичных правок или отправки всей машины на удаленный сервис.

Быстрый старт

Вам понадобятся Rust, Git и Bash. Пользователи Windows могут использовать Bash в составе Git for Windows.

cargo install --git https://github.com/abhij1306/codeweave --locked
codeweave install

Интерактивный установщик:

  • спрашивает, какой репозиторий должен обслуживать CodeWeave;

  • рекомендует локальный stdio или настраивает петлевой HTTP;

  • создает config.json и приватный токен источника;

  • проверяет Git, Bash, рабочую область, конфигурацию, разрешения токена, порт и eager index startup;

  • выводит готовую к вставке команду для MCP-клиента.

Для автоматизации пропустите мастер:

codeweave init --path /absolute/path/to/repository --config config.json
codeweave doctor --config config.json

Related MCP server: DevToolkit MCP Server

Подключение клиента

Локальные клиенты: stdio

Stdio — самый простой и безопасный транспорт. Установщик выводит блок вида:

{
  "command": "/absolute/path/to/codeweave",
  "args": ["serve", "--transport", "stdio", "--config", "/absolute/path/to/config.json"]
}

Вставьте его в любой MCP-клиент, который принимает локальную команду.

Петлевой HTTP

codeweave serve --transport http --config config.json

По умолчанию локальная конечная точка — http://127.0.0.1:8813/mcp. HTTP требует Bearer-токена, хранящегося в .mcp-token; токен — приватное учетное данное источника, а не ключ API LLM и не внешняя аутентификация пользователя.

Удаленные клиенты

Никогда не публикуйте петлевой источник, просто вставляя его Bearer-токен в каждый публичный запрос. Публичный шлюз должен сначала аутентифицировать каждого внешнего вызывающего, а затем добавить приватный Bearer-токен источника для перехода к CodeWeave.

Встроенный хелпер PowerShell использует обязательную HTTP Basic-аутентификацию с ngrok перед заменой Bearer-токена источника:

.\start-ngrok.ps1 -Config .\config.json

PowerShell запрашивает публичные имя пользователя и пароль. Используйте этот хелпер только с клиентами, поддерживающими Basic-учетные данные. Размещенным коннекторам только с URL требуется шлюз MCP с поддержкой OAuth. См. настройку ChatGPT и настройку Claude.

Что предоставляет CodeWeave

CodeWeave предоставляет один фиксированный набор из 25 инструментов:

  • обнаружение: workspace, code_retrieve, code_intelligence;

  • контролируемое редактирование: code_write, code_replace, code_replace_range, code_insert, code_delete, code_rename, code_preview, code_transaction;

  • Git: git_status, git_diff, git_log, git_show, git_blame, git_preflight, git_stage, git_commit, git_restore, git_push;

  • команды: bash, bash_status, bash_output, bash_cancel.

Репозиторий фиксирован на время жизни процесса. Все подключенные клиенты используют общие изменения рабочей области, генерацию и запуски Bash.

Модель безопасности

CodeWeave — привилегированный инструмент для разработчиков. Аутентифицированный клиент может запускать несандированный Bash от вашей учетной записи ОС, поэтому подключайте только те клиенты и модели, которым доверяете.

Сервер по-прежнему применяет более узкие инварианты относительно этого доверия:

  • чтение и запись файлов ограничены возможностями настроенной рабочей области;

  • хэши снимков, дескрипторы диапазонов и проверки ожидаемого содержимого защищают изменения;

  • многофайловые изменения честно сообщают о частичном применении и ошибках восстановления;

  • аргументы путей Git и разрушительные операции используют проверку и явное подтверждение;

  • HTTP-аутентификация происходит до чтения ограниченного тела запроса в 4 МиБ;

  • источник принимает только HTTP/1 и ограничивает одновременные соединения;

  • файлы Bearer-токенов используют права 0600 на Unix и защищенный явный DACL на Windows.

Прочитайте SECURITY.md перед тем, как открывать HTTP за пределы петлевого интерфейса.

Конфигурация

codeweave install создает строгую конфигурацию configVersion: 2. Неизвестные поля отклоняются, включая неизвестные вложенные поля. См. config.example.json для всех опций.

Полезные команды:

codeweave doctor --config config.json
codeweave serve --transport stdio --config config.json
codeweave serve --transport http --config config.json

Дополнительные семантические бэкенды: rust-analyzer, basedpyright-langserver и typescript-language-server. Они отключены до включения в сгенерированной конфигурации.

Не коммитьте config.json, .mcp-token или .codeweave-cache/.

Обновление

Установите новейший релиз с GitHub:

cargo install --git https://github.com/abhij1306/codeweave --locked --force
codeweave doctor --config /path/to/config.json

Более старые версии Windows создавали файлы Bearer-токенов с унаследованными разрешениями. Если утилита doctor отклоняет такой файл, остановите CodeWeave, удалите только настроенный файл токена и запустите его снова, чтобы токен был ротирован с защищенным DACL.

Разработка

git clone https://github.com/abhij1306/codeweave.git
cd codeweave
cargo fmt --check
cargo clippy --all-targets --all-features -- -D warnings
cargo test --all-targets

Архитектура и гарантии параллелизма описаны в docs/architecture.md. Контракты инструментов задокументированы в docs/tools.md, а вклад приветствуется через CONTRIBUTING.md.

Related MCP Connectors

Related MCP Servers