Skip to main content
Glama
Ayushsharma109

OpsMCP

🚀 OpsMCP — AI-агент для операций компании

AI-агент для операций компании, который использует Model Context Protocol (MCP) для безопасного соединения взаимодействий на естественном языке с базой данных PostgreSQL.

📌 Обзор

OpsMCP позволяет пользователям взаимодействовать с данными компании на естественном языке вместо ручного написания SQL-запросов или навигации по сложным административным панелям.

Система соединяет AI-агента с базой данных PostgreSQL через инструменты MCP, позволяя агенту получать информацию, анализировать пользователей и выполнять авторизованные операции с базой данных.

Для чувствительных операций записи система требует явного подтверждения пользователя перед изменением базы данных.


Related MCP server: PostgreSQL MCP Server

🎯 Проблема

Традиционные внутренние системы компании часто требуют от пользователей:

  • Навигации по множеству административных панелей

  • Понимания структуры базы данных

  • Написания SQL-запросов

  • Выполнения повторяющихся операций вручную

  • Отдельного отслеживания изменений в базе данных

Это создает излишнюю сложность для рутинных операций компании.


💡 Решение

OpsMCP предоставляет интерфейс на естественном языке для операций компании.

Вместо написания:

SELECT id, name, email, role
FROM users
ORDER BY id;

Пользователь может просто спросить:

«Покажи всех пользователей».

AI определяет, какой инструмент MCP требуется, выполняет его, получает результат и преобразует его в понятный для человека ответ.


🧠 Как это работает

                   ┌──────────────────────┐
                   │      Web Dashboard   │
                   └──────────┬───────────┘
                              │
                              ▼
                   ┌──────────────────────┐
                   │      AI Agent        │
                   │  Natural Language    │
                   └──────────┬───────────┘
                              │
                       MCP Tool Calling
                              │
                              ▼
                   ┌──────────────────────┐
                   │     MCP Server       │
                   │                      │
                   │ Tools • Resources    │
                   │ Prompts • Security   │
                   └──────────┬───────────┘
                              │
                              ▼
                   ┌──────────────────────┐
                   │     PostgreSQL       │
                   │      Database        │
                   └──────────────────────┘

✨ Ключевые возможности

🤖 Операции с базой данных на естественном языке

Пользователи могут взаимодействовать с данными компании, используя обычный язык.

Примеры:

Show me all users.
Find user with ID 2.
Create a new user named Rahul with role developer.
Change Rahul's role to manager.
Analyze all users and tell me which role has the most users.

🔧 Инструменты MCP

Проект предоставляет операции с базой данных как инструменты MCP.

Текущие инструменты включают:

Инструмент

Назначение

get_users

Получить всех пользователей

get_user_by_id

Получить конкретного пользователя

create_user

Создать нового пользователя

update_user_role

Обновить роль пользователя

analyze_users

Проанализировать распределение пользователей


📚 Ресурсы MCP

Проект также демонстрирует ресурсы MCP для предоставления структурированной контекстной информации AI-агенту.

Пример:

company://info

Этот ресурс содержит информацию о:

  • Отделах

  • Ролях в компании

  • Организационной структуре


🧩 Промпты MCP

Включены переиспользуемые промпты MCP для структурированных операций, таких как анализ пользователей.

Пример рабочего процесса анализа:

1. Count total users
2. Group users by role
3. Identify unusual roles
4. Generate a summary

🔐 Безопасность

Безопасность — важная часть проекта.

Аутентификация по API-ключу

Сервер MCP поддерживает аутентификацию по API-ключу с использованием HTTP-заголовков авторизации.

Реализованы два уровня разрешений:

READ_ONLY
READ_WRITE

Авторизация

Операции чтения могут выполняться с разрешением только на чтение.

Операции, изменяющие базу данных, требуют разрешения:

READ_WRITE

⚠️ Подтверждение перед операциями записи

Перед выполнением операций, изменяющих базу данных, AI-клиент запрашивает подтверждение у пользователя.

Пример:

⚠️ WRITE OPERATION REQUIRES CONFIRMATION

Tool      : update_user_role
Arguments : {
    "user_id": 2,
    "new_role": "manager"
}

Do you want to continue? (yes/no)

База данных изменяется только после явного одобрения.


🛡️ Проверка ввода

Пользовательский ввод проверяется перед операциями с базой данных.

Например, поддерживаемые роли:

developer
designer
product manager
manager

Недопустимый ввод, такой как:

aestronuot

отклоняется вместо вставки в базу данных.


📋 Журналирование аудита

Операции, изменяющие базу данных, записываются в журнал аудита.

Пример:

action          | tool_name        | status
----------------+------------------+---------
update_user_role| update_user_role  | SUCCESS

Это обеспечивает отслеживаемость чувствительных операций.


🗂️ Структура проекта

OPSMCP-AI-AGENNT/
│
├── server/
│   ├── auth/
│   ├── database/
│   │   └── connection.py
│   │
│   ├── prompts/
│   │   └── user_analysis.py
│   │
│   ├── resources/
│   │   └── company.py
│   │
│   └── tools/
│       ├── audit.py
│       └── user_tools.py
│
├── static/
│   ├── app.js
│   └── style.css
│
├── templates/
│   └── index.html
│
├── ai_client.py
├── web_app.py
├── run_server.py
├── requirements.txt
├── .gitignore
└── README.md

🛠️ Технологический стек

Бэкенд

  • Python

  • FastAPI

  • Uvicorn

AI

  • API, совместимый с OpenAI

  • Вызов функций/инструментов

  • Взаимодействие на естественном языке

Протокол

  • Model Context Protocol (MCP)

  • Потоковый HTTP-транспорт

База данных

  • PostgreSQL

  • Psycopg

Фронтенд

  • HTML

  • CSS

  • JavaScript

Безопасность

  • Аутентификация по API-ключу

  • Авторизация на чтение/запись

  • Мутации базы данных на основе подтверждения

  • Проверка ввода

  • Журналирование аудита


⚙️ Локальная настройка

1. Клонируйте репозиторий

git clone https://github.com/Ayushsharma109/OPSMCP-AI-AGENNT.git

cd OPSMCP-AI-AGENNT

2. Создайте виртуальное окружение

Windows:

python -m venv .venv

Активируйте его:

.venv\Scripts\activate

3. Установите зависимости

pip install -r requirements.txt

4. Настройте переменные окружения

Создайте файл .env:

MCP_API_KEY=your_main_api_key
MCP_READONLY_KEY=your_readonly_api_key

OPENAI_API_KEY=your_api_key
OPENAI_BASE_URL=your_base_url
OPENAI_MODEL=your_model

DB_NAME=mcp_demo
DB_USER=postgres
DB_PASSWORD=your_password
DB_HOST=localhost
DB_PORT=5432

Никогда не коммитьте .env или API-ключи в GitHub.

5. Запустите PostgreSQL

Убедитесь, что PostgreSQL запущен и необходимая база данных/таблицы существуют.

6. Запустите сервер MCP

python run_server.py

Сервер MCP работает на:

http://127.0.0.1:8000

7. Запустите веб-приложение

Откройте другой терминал:

python web_app.py

Панель управления будет доступна по адресу:

http://127.0.0.1:8080

🧪 Пример рабочего процесса

Пользователь

Show me all users.

AI-агент

Определяет, что требуется get_users.

MCP

Выполняет:

get_users()

PostgreSQL

Возвращает записи пользователей.

AI

Преобразует результат базы данных в ответ на естественном языке.


🔄 Рабочий процесс операции записи

User Request
     ↓
AI Agent
     ↓
MCP Tool Selection
     ↓
Permission Check
     ↓
User Confirmation
     ↓
Input Validation
     ↓
PostgreSQL Update
     ↓
Audit Log
     ↓
AI Response

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


🏆 MVP для хакатона

OpsMCP был разработан как сфокусированный MVP, демонстрирующий, как MCP можно использовать для соединения AI-агентов с реальными корпоративными данными и контролируемыми операциями бэкенда.

Проект фокусируется на:

  • Вызове инструментов AI

  • Архитектуре MCP

  • Безопасном взаимодействии с базой данных

  • Подтверждении человеком мутаций

  • Аудируемости

  • Операциях компании на естественном языке


🚀 Будущие улучшения

Возможные будущие улучшения включают:

  • Доступ к панели управления на основе ролей

  • Больше корпоративных инструментов MCP

  • Расширенную аналитику

  • Поддержку нескольких баз данных

  • Улучшенную визуализацию журнала аудита

  • Аутентификацию, готовую к развертыванию

  • Интеграцию корпоративного SSO

  • Более детальные разрешения


👨💻 Автор

Ayush Sharma

Создано как сольный проект для хакатона, исследующий:

AI-агенты + MCP + PostgreSQL + Безопасное выполнение инструментов


📄 Лицензия

Этот проект предназначен в первую очередь как хакатон и учебный проект.

Related MCP Connectors

Related MCP Servers

  • F
    license
    A
    quality
    Not graded
    maintenance
    Enables comprehensive PostgreSQL database management through natural language including queries, schema operations, user management, and administrative tasks. Features enterprise-grade connection pooling, transaction support, and full database administration capabilities.
    11
    67 npm
    1
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables natural language interaction with PostgreSQL databases, supporting query execution, schema management, data operations, user management, and database maintenance with secure remote access via HTTP/SSE transport.
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables secure, read-only PostgreSQL database interaction through natural language, with automatic database discovery and connection management.
    2
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Enables AI assistants to interact with PostgreSQL databases through natural language, with schema-aware query generation and enterprise safety controls.
    18
    161 npm
    2
    MIT