Skip to main content
Glama
deepan2003

Database-MCP

by deepan2003

🏢 Company Database AI Manager

📖 Обзор

Company Database AI Manager — это интерфейс на естественном языке для корпоративной базы данных. Вместо написания сложных SQL-запросов для вставки, обновления или получения данных пользователи могут просто вводить команды на простом английском языке (например, «Добавьте IT-отдел и назначьте в него 5 сотрудников»).

Система использует Model Context Protocol (MCP) для безопасного подключения агента LangGraph на базе Groq к локальному Python-серверу базы данных. ИИ самостоятельно анализирует запрос пользователя, выбирает нужные инструменты базы данных, выполняет SQL-операции и возвращает результат в аккуратном веб-интерфейсе Streamlit.

Related MCP server: PySqlitMCP

⚙️ Архитектура и принцип работы

Этот проект разделяет логику базы данных и логику ИИ, используя настоящую архитектуру «сервер/клиент»:

  1. Сервер (server.py и models.py): запускает независимый FastMCP-сервер, который предоставляет инструменты для работы с базой данных SQLite (setup_database, add_record, search_database).

  2. Клиент (client.py и app.py): запускает агента LangGraph на базе Groq с использованием llama-3.3-70b-versatile или openai/gpt-oss-120b.

  3. Протокол (MCP): клиент безопасно подключается к серверу через стандартный ввод/вывод (stdio). Он запрашивает у сервера доступные инструменты, передаёт их агенту LangGraph и вызывает функции Python без их прямого импорта.

📂 Структура папок

📦 llm-db-mcp
 ┣ 📜 .env                # Stores secure API keys (Do NOT commit to GitHub)
 ┣ 📜 .gitignore          # Prevents sensitive files from being pushed to Git
 ┣ 📜 app.py              # The Streamlit web UI for interacting with the AI
 ┣ 📜 client.py           # The terminal-based LangGraph agent script
 ┣ 📜 company.db          # The automatically generated SQLite database file
 ┣ 📜 models.py           # SQLAlchemy schemas (Departments, Roles, Employees, Projects)
 ┣ 📜 requirements.txt    # Project dependencies and version numbers
 ┗ 📜 server.py           # The FastMCP server hosting the database tools

🚀 Установка и настройка

1. Предварительные требования

Python 3.10 или выше.

Бесплатный API-ключ Groq.

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

Создайте и активируйте виртуальное окружение (рекомендуется Conda):

conda create -n db_mcp python=3.11
conda activate db_mcp

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

Установите все необходимые пакеты из файла requirements.txt:

pip install -r requirements.txt

4. Настройка API-ключей

Создайте файл .env в корневом каталоге и добавьте ваш API-ключ Groq:

GROQ_API_KEY=gsk_your_api_key_here

🖥️ Использование

Вариант 1: Запуск веб-интерфейса (рекомендуется)

Чтобы запустить интерактивный интерфейс чата, выполните:

streamlit run app.py

Вариант 2: Запуск терминального клиента

Чтобы запустить агента строго через командную строку:

🛠️ Примеры запросов для проверки

Когда приложение запущено, попробуйте ввести в чат следующие запросы:

  • "Настройте таблицы базы данных." (Выполните это первым!)

  • "Добавьте IT-отдел."

  • "Добавьте нового сотрудника по имени Джон Доу с зарплатой 75000 в IT-отдел."

  • "Покажите мне всех сотрудников, которые зарабатывают больше 50000."

🔒 Замечания по безопасности

Никогда не добавляйте файл .env или API-ключи в систему контроля версий.

Файл .gitignore заранее настроен так, чтобы файлы .env и company.db не попадали на GitHub.

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables natural language database operations and semantic document search through SQLite and vector database integration. Converts plain English instructions into SQL queries and provides RAG capabilities for uploaded documents.
    -
  • A
    license
    Not graded
    quality
    Not graded
    maintenance
    Enables comprehensive SQLite database management through natural language, including database creation, table operations, data CRUD operations, backup/restore functionality, and CSV import/export capabilities.
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables LLM agents to perform complete database operations on SQLite databases, including creating tables, executing queries, and managing data through CRUD operations with schema inspection capabilities.
    12 npm
    MIT