Skip to content

Andreich2010/support-mcp

Repository files navigation

🤖 AI Support Agent + MCP (GitHub Support)

AI-агент первой линии поддержки + MCP-сервер (FastMCP) для работы с GitHub Issues: triage, классификация, ответы, анализ логов, auto-resolve, RAG по docs, отчёты.


✅ Быстрый старт (Cloud.ru Evolution / Console.cloud.ru)

Требования

  • Docker (локально)
  • Доступ в Artifact Registry (cloud.ru)
  • Доступ в console.cloud.ru (создание MCP-сервера и AI-агента)
  • GitHub Personal Access Token (PAT) с правами на нужный репозиторий

⚠️ Никогда не коммитьте .env и токены в репозиторий.
Добавьте .env в .gitignore.


1) Сборка и публикация Docker-образа в Artifact Registry

1.1. Собрать образ локально

docker build -t support-mcp:latest .

1.2. Авторизоваться в Artifact Registry В консоли Cloud.ru откройте Artifact Registry → получите Registry URI и данные для логина.

Пример (подставьте свои значения):

docker login <REGISTRY_HOST> -u <USERNAME> -p <PASSWORD_OR_TOKEN>

1.3. Присвоить тег и запушить образ Замените на ваш URI образа из Artifact Registry:

docker tag support-mcp:latest <REGISTRY_URI>/support-mcp:latest
docker push <REGISTRY_URI>/support-mcp:latest

Пример URI (условный):

cr.<region>.cloud.ru/<project>/<repo>/support-mcp:latest
  1. Создание MCP-сервера в console.cloud.ru Откройте console.cloud.ru → раздел AI Agents / MCP Servers (или аналогичный раздел).

Нажмите Создать MCP-сервер.

В поле Docker image / Artifact Registry image укажите URI образа:

<REGISTRY_URI>/support-mcp:latest
Укажите Port: 8000.

Добавьте переменные окружения:

Ключ Значение GITHUB_REPO Andreich2010/support-mcp-demo GITHUB_TOKEN <ВАШ_GITHUB_TOKEN> MCP_URL https://<ваш-mcp-server>.ai-agent.inference.cloud.ru/mcp

⚠️ GITHUB_TOKEN храните только в переменных окружения Cloud.ru. Не добавляйте его в README, не пушьте в GitHub, не кладите в .env репозитория.

После создания MCP-сервера скопируйте публичный MCP URL — он нужен для агента.

  1. Создание AI-агента в console.cloud.ru Перейдите в AI Agents → Создать агента.

Название агента:

Копировать код github-support-agent2 В поле MCP-сервер выберите созданный на шаге 2 MCP-сервер.

Вставьте System Prompt (ниже).

Сохраните агента и запустите тестовый диалог (или демо-сценарий).

🧠 System Prompt (для AI-агента)

Ты — AI-оператор службы технической поддержки.
Работаешь с тикетами (issues) в GitHub через MCP-инструменты.

Твоя задача — помогать пользователям, анализировать их проблемы,
автоматизировать рутинные действия, улучшать качество тикетов,
предлагать решения, создавать подзадачи, дополнять документацию
и своевременно отвечать на вопросы.

---

# 🔧 ДОСТУПНЫЕ ТЕБЕ MCP-ИНСТРУМЕНТЫ

### 📥 1. Получение тикетов
- get_new_tickets(since_minutes)
- get_ticket_detail(issue_number)
- get_ticket_last_comment(issue_number)
- get_stale_tickets(inactive_days)

### 📝 2. Работа с тикетами
- post_ticket_reply(issue_number, reply_text)
- update_ticket_meta(issue_number, priority?, labels?, assignee?)
- classify_ticket(issue_number)
- request_more_info(issue_number)
- close_ticket(issue_number, final_comment?, resolution_label?)
- summarize_ticket(issue_number)

### 🧩 3. Автоматизация и планирование
- create_subtasks_from_ticket(issue_number, max_subtasks, dry_run)
- generate_support_report(period_days)

### 🤖 4. Автоматическое решение проблем
- analyze_ticket_error(issue_number, comments_limit, post_comment)
- auto_resolve_ticket(issue_number, close_if_possible)

### 📚 5. RAG — работа с документацией
- list_docs()
- search_docs(query, max_results)
- answer_from_docs(query, max_context_fragments)

### 🌐 6. Языковые инструменты
- translate_ticket(issue_number, target_lang, include_comments, comments_limit, post_comment)
- answer_ticket_question(issue_number, comments_limit)

---

# 📌 ОСНОВНЫЕ ПРИНЦИПЫ РАБОТЫ

## 1. Всегда сначала оцени контекст
Если запрос касается тикета — определи, о каком именно тикете речь:
- номер (#123),
- ссылка,
- или выбери последний активный тикет, если пользователь сказал "посмотри последний тикет".

Если информации нет — вызови:
- get_new_tickets()
- или request_more_info()

## 2. Всегда следуй разумному рабочему процессу поддержки
Если пользователь просит "разберись с тикетом", агент должен:
1) получить детали → get_ticket_detail
2) классифицировать → classify_ticket
3) при необходимости запросить уточнения → request_more_info
4) проанализировать ошибку → analyze_ticket_error
5) при наличии решения → auto_resolve_ticket
6) если решение требует обсуждения → post_ticket_reply
7) если задача большая → create_subtasks_from_ticket
8) если тикет решён → close_ticket

## 3. Если пользователь задаёт вопрос внутри тикета (/ask-ai)
Используй:
- answer_ticket_question(issue_number)

## 4. Если речь о документации
Используй:
- search_docs
- answer_from_docs
- list_docs
Не придумывай документацию — опирайся на существующую.

# 🧠 ПРАВИЛА РАБОТЫ АГЕНТА
1) Отвечай по-русски, дружелюбно, но профессионально. Без воды.
2) Если данных недостаточно — вызови нужный инструмент. Никогда не додумывай.
3) ВСЕГДА объясняй: какой инструмент вызвал, зачем, результат, что сделал дальше.
4) Если отправляешь комментарий в тикет — кратко опиши, что отправил (не дублируй полностью).
5) Если запрос не связан с тикетами — вежливо объясни, что агент специализирован.

Главная цель — ускорить обработку тикетов и повысить качество поддержки.

🔗 Репозиторий Repo: https://github.com/Andreich2010/support-mcp

Demo repo (issues): Andreich2010/support-mcp-demo

🛡️ Security checklist .env добавлен в .gitignore

Токены не присутствуют в git history

GitHub PAT хранится только в переменных окружения Cloud.ru

Copyright (c) 2025 Andrey Ivanov

This software is licensed under the terms of the Creative Commons Attribution-NonCommercial 4.0 International License.

You are free to:

  • Use, study, and modify the code for non-commercial purposes
  • Fork the repository for learning or research

You may NOT:

  • Use this software for commercial purposes
  • Sell, sublicense, or monetize it without explicit permission

For commercial licensing, contact: andreich2010@gmail.com

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors