@golddeity/gitdigester

1.0.9 • Public • Published

MCP Git Digester

Git интеграция для ИИ агентов, реализованная как MCP (Model Context Protocol) сервер. Позволяет агентам работать с Git репозиториями, создавать коммиты с улучшенными сообщениями с помощью LLM, и отправлять уведомления в Slack.

Особенности

  • Интеграция с Git для коммитов, пушей и управления репозиториями
  • Семантическое улучшение коммит-сообщений с помощью LLM
  • Сохранение истории коммитов в Weaviate для векторного поиска
  • Отправка уведомлений о коммитах в Slack
  • Поддержка различных методов аутентификации Git (SSH, HTTPS с токеном, HTTPS с паролем)
  • Работа с несколькими репозиториями

Установка и запуск

Использование без установки через npx

Самый простой способ запустить MCP Git Digester - через npx:

NODE_OPTIONS="--experimental-vm-modules" npx @golddeity/gitdigester@latest \
  --openai-api-key <ключ> \
  --openai-base-url <url> \
  --repo <путь_к_репозиторию>

Локальная установка (не рекомендуется)

Если вы хотите установить пакет глобально:

npm install -g @golddeity/gitdigester
NODE_OPTIONS="--experimental-vm-modules" mcp-git --openai-api-key <ключ> --openai-base-url <url> --repo <путь_к_репозиторию>

Настройка окружения

Вместо передачи параметров в командной строке, вы можете создать файл .env в корне вашего проекта со следующими переменными:

OPENAI_BASE_URL=https://api.openai.com
OPENAI_API_KEY=your_openai_api_key_here
WEAVIATE_INSTANCE_URL=your_weaviate_instance_url_here
WEAVIATE_INSTANCE_API_KEY=your_weaviate_api_key_here
SLACK_WEBHOOK_URL=https://hooks.slack.com/services/TXXXXXXXX/BXXXXXXXX/XXXXXXXXXXXXXXXX

Интеграция с MCP Registry

Для использования с MCP Registry создайте запись в файле mcp.json:

{
  "mcpServers": {
    "gitdigester": {
      "command": "npx",
      "args": [
        "-y", 
        "@golddeity/gitdigester@latest",
        "--openai-api-key=${OPENAI_API_KEY}",
        "--openai-base-url=${OPENAI_BASE_URL}",
        "--weaviate-key=${WEAVIATE_INSTANCE_API_KEY}",
        "--weaviate-url=${WEAVIATE_INSTANCE_URL}",
        "--slack-webhook=${SLACK_WEBHOOK_URL}",
        "--git-auth-method=ssh",
        "--git-ssh-key=${HOME}/.ssh/id_rsa",
        "--git-repos-paths=${WORKSPACES_DIR},${HOME}/Projects"
      ]
    }
  }
}

Агент сможет автоматически обнаружить и запустить MCP сервер через команду:

npx @modelcontextprotocol/registry scan

Параметры командной строки

Полный список параметров:

  • --openai-api-key <key>: OpenAI API ключ
  • --openai-base-url <url>: OpenAI базовый URL
  • --weaviate-key <key>: Weaviate API ключ
  • --weaviate-url <url>: Weaviate URL
  • --slack-webhook <url>: Slack Webhook URL
  • --git-auth-method <method>: Метод аутентификации Git (ssh, https-token, https-password)
  • --git-username <username>: Git username для HTTPS аутентификации
  • --git-token <token>: Git personal access token для HTTPS аутентификации
  • --git-ssh-key <path>: Путь к SSH ключу
  • --git-repos-paths <paths>: Пути к репозиториям (через запятую)
  • --repo <path>: Абсолютный путь к текущему git-репозиторию

Интеграция с агентами

Пример использования в Claude

Для создания коммита и отправки изменений используйте формат:
git push main [сообщение коммита] имя_репозитория

Примеры:
git push main [Добавлены новые функции для обработки данных] my-project
git push develop [Исправлен баг в функции авторизации] my-project

Для просмотра доступных репозиториев:
list repositories

Пример использования в других агентах

// Пример вызова через MCP клиент
const result = await mcpClient.call("git_push_origin", {
  branchName: "main",
  commitData: "Добавлены новые функции для обработки данных",
  repositoryName: "my-project"
});

Доступные инструменты

git_push_origin

Создает коммит с улучшенным сообщением и пушит изменения в указанную ветку.

Параметры:

  • branchName: Название ветки
  • commitData: Сообщение коммита
  • repositoryName: Имя репозитория (обязательно, найдите доступные репозитории с помощью инструмента list_repositories)

git_create_repo

Инициализирует Git репозиторий и пушит его в удаленный репозиторий.

Параметры:

  • repositoryUrl: URL репозитория
  • localPath: (опционально) Локальный путь для репозитория

list_repositories

Выводит список доступных Git репозиториев.

Требования

  • Node.js 18+
  • Git
  • Доступ к API ключам (OpenAI, Weaviate, Slack)

Лицензия

MIT

Readme

Keywords

Package Sidebar

Install

npm i @golddeity/gitdigester

Weekly Downloads

24

Version

1.0.9

License

MIT

Unpacked Size

61.2 kB

Total Files

9

Last publish

Collaborators

  • golddeity