@golddeity/gitdigester v1.0.9
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