AIOps Workspace MCP Server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@AIOps Workspace MCP ServerFind the runbook for high CPU usage on the payment service"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
AIOps Workspace
Локальный AI-ассистент инженера эксплуатации с MCP-интеграцией, векторным поиском (Qdrant) и локальной LLM. Проект демонстрирует архитектурный подход к безопасному применению AI в промышленном контуре с фокусом на решение проблемы галлюцинаций.
1. Бизнес-проблема и решение
Проблема: Инженеры L1/L2 тратят 15 минут на поиск runbook'ов в Confluence, Jira и голове. При этом LLM-ассистенты без строгой интеграции с источниками данных генерируют правдоподобные, но ложные инструкции (галлюцинации), что в AIOps-контексте ведет к ложным действиям и увеличению MTTR.
Решение: Построен локальный AI-ассистент, который:
Не отвечает без обращения к инструментам (MCP-протокол).
Использует векторный поиск по актуальным runbook'ам (Qdrant + nomic-embed-text).
Работает полностью локально — данные не покидают периметр.
Требует явного подтверждения для write-операций (в PoC #4).
Измеримый результат: Тестирование показало снижение галлюцинаций в метриках с ~40% (базовая llama3.1:8b) до 0% (qwen2.5:7b) при сохранении 100% точности tool-calling.
Related MCP server: Triage MCP Server
2. Архитектура
flowchart TB
User["Пользователь<br/>(Open WebUI / CLI / MCP Inspector)"]
subgraph LLM_Layer["LLM Layer"]
LLM["Ollama<br/>qwen2.5:7b"]
SP["System Prompt<br/>с guardrails"]
end
subgraph MCP_Layer["MCP Server (stdio)"]
direction LR
T1["get_system_status"]
T2["search_knowledge_base"]
T3["reindex_knowledge_base"]
end
subgraph Storage_Layer["Storage Layer"]
direction LR
Qdrant["Qdrant<br/>(Docker :6333)"]
Emb["Ollama Embeddings<br/>nomic-embed-text"]
end
User -->|"запрос"| LLM
SP -.->|"guardrails"| LLM
LLM -->|"tool-calling"| MCP_Layer
T2 -->|"векторный поиск"| Qdrant
T2 -->|"эмбеддинг"| Emb
%% Определение стилей (безопасный синтаксис для GitHub)
classDef userClass fill:#3b82f6,stroke:#1e40af,color:#ffffff
classDef llmClass fill:#f59e0b,stroke:#b45309,color:#ffffff
classDef mcpClass fill:#10b981,stroke:#047857,color:#ffffff
classDef storageClass fill:#dc2626,stroke:#991b1b,color:#ffffff
class User userClass
class LLM,SP llmClass
class T1,T2,T3 mcpClass
class Qdrant,Emb storageClass3. Ключевое инженерное решение: борьба с галлюцинациями
В ходе реализации была выявлена и решена проблема "lazy tool-calling": базовые модели (llama3.1:8b) эмулируют вызов инструмента текстом вместо реального обращения к API, генерируя правдоподобные, но ложные метрики (например, CPU 83.21% вместо реальных 89%).
Архитектурное решение:
Смена модели: переход на qwen2.5:7b, заточенную под агентные задачи.
Усиление промпта: явный запрет на использование знаний из памяти о runbook'ах.
Обязательное цитирование: требование указывать только источники, возвращенные инструментами.
Результат — 100% точность tool-calling и полное отсутствие галлюцинаций в метриках.
4. Стек технологий
Компонент | Технология | Назначение |
Язык | Python 3.11+ | Основная реализация |
Управление зависимостями | uv | Современная замена pip |
MCP SDK | mcp[cli] < 2.0.0 | Реализация MCP-сервера |
Векторная БД | Qdrant (Docker) | Хранение эмбеддингов |
Qdrant-клиент | qdrant-client >= 1.7.0 | Python SDK для Qdrant |
LLM | Ollama | Локальный inference |
Модель LLM | qwen2.5:7b | Tool-calling, генерация |
Модель эмбеддингов | nomic-embed-text | Векторизация текстов (768 dim) |
LLM-клиент | ollama >= 0.4.0 | Python SDK для Ollama |
5. Быстрый старт
5.1. Предварительные требования
Python 3.11+
Docker Desktop (для Qdrant)
Ollama (для локальной LLM)
uv (менеджер зависимостей)
5.2. Установка
# Клонирование репозитория
git clone <repo-url>
cd aiops-workspace
# Установка зависимостей
uv sync
# Запуск Qdrant
docker run -d -p 6333:6333 -p 6334:6334 -v qdrant_storage:/qdrant/storage --name qdrant qdrant/qdrant
# Загрузка моделей Ollama
ollama pull qwen2.5:7b
ollama pull nomic-embed-text
# Инициализация векторного хранилища
uv run python client/init_vector_store.pyThis server cannot be deployed
Maintenance
Related MCP Connectors
Persistent memory, hybrid search and a goal graph for AI agents, over stdio or remote HTTP.
Persistent memory and knowledge management for AI agents with semantic search and 50+ tools.
Operate Linux, macOS and Windows from your LLM. Every action runs through an auditable allowlist.
Git-backed platform for skills, tools, and context for AI agents
Related MCP Servers
FlicenseNot gradedqualityBmaintenanceEnables RAG-powered documentation search using OpenAI embeddings and Pinecone vector database. Provides an extensible framework for adding additional tools with support for both local STDIO and production HTTP transports.1-- AlicenseNot gradedqualityCmaintenanceEnables AI agents to autonomously check, diagnose, and recover Dockerized services through safe, tool-based ops without direct host shell access.MIT
- AlicenseAqualityAmaintenanceConnects AI assistants to IT Glue, the MSP documentation platform. Browse organizations, read and write documents and flexible assets, and answer natural-language questions via semantic vector search (OpenAI/Azure embeddings). Viewer/editor/admin roles gate tool access; bring-your-own-key applies IT Glue's native permissions. Runs over stdio or HTTP; Docker image available.2784 npm5MIT
- AlicenseAqualityAmaintenanceProvides AI agents with real-time ground truth about what's actually running on the machine, including live agent sessions, listening TCP ports, loaded daemons, and system stats. It reads directly from the OS via fixed commands, ensuring agents never rely on stale docs or transcripts.537 npmMIT