Skip to main content
Glama

streamlit-dashboard-mcpserver

QueryForge — Общайтесь со своей базой данных. Наблюдайте, как она превращается в дашборд.

Единый сервер Model Context Protocol, который позволяет Claude запрашивать любую базу данных SQLite, извлекать специфичную для предприятия бизнес-логику из базы знаний и создавать живые дашборды Streamlit — всё в одном разговоре.

Project Structure

streamlit-dashboard-mcpserver/
├── .venv/                  # Python virtual environment (managed by uv)
├── data/
│   ├── seed.py             # Generates the sample CRM database
│   └── database.db         # SQLite database (generated by seed.py)
├── knowledge_base/
│   ├── docs/                # Source documents (formulas, business rules, definitions)
│   ├── ingest.py             # Chunks + embeds docs into the vector store
│   └── index/                 # Persisted vector store (generated by ingest.py)
├── .python-version         # Pinned Python version for uv
├── dashboard.py            # Auto-generated by Claude at runtime
├── server.py               # The MCP server
├── uv.lock                 # Dependency lock file
└── README.md

Related MCP server: TheMCP-server

What it does

Tool

Description

list_tables

Перечислить все таблицы в базе данных

describe_table

Показать столбцы, типы и ограничения для таблицы

sample_table

Вернуть первые N строк любой таблицы

query_database

Выполнять read-only SELECT запросы

query_knowledge_base

Извлекать релевантные фрагменты из корпоративных документов (пользовательские формулы расчёта, бизнес-правила, определения метрик), чтобы помочь Claude писать корректные запросы и логику дашборда

create_dashboard

Написать приложение Streamlit, автоматически установить зависимости и запустить его

stop_dashboard

Остановить запущенный процесс Streamlit

get_dashboard_status

Проверить, запущен ли дашборд и на каком порту

read_dashboard

Прочитать текущий исходный код dashboard.py

Только чтение. INSERT, UPDATE, DELETE, DROP и все остальные операции записи блокируются на уровне сервера. База знаний доступна только для чтения — Claude не может записывать в неё через этот сервер.

query_knowledge_base — это то, что делает дашборды корректными, а не просто правдоподобными. Вместо того чтобы угадывать, как ваша организация определяет, например, «чистую выручку» или «активного клиента», Claude извлекает фактическую задокументированную формулу из ваших разбитых на фрагменты корпоративных документов перед написанием SQL или кода дашборда.

screenshot1-dashboard screenshot2-chat

Prerequisites

  • Python 3.11+ (зафиксировано через .python-version)

  • uv — уже используется в этом проекте (см. uv.lock)

  • Claude Desktop

  • Папка с исходными документами для базы знаний (PDF, Markdown или обычный текст — например, ваши внутренние листы с формулами, глоссарии метрик или СОПы)

Installation

1. Установите Claude Desktop

Скачайте и установите Claude Desktop для вашей ОС: Windows / macOS: https://claude.ai/download Войдите в свою учётную запись Anthropic после установки.

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

HTTPS:

git clone https://github.com/your-username/streamlit-dashboard-mcpserver.git
cd streamlit-dashboard-mcpserver

SSH:

git clone git@github.com:your-username/streamlit-dashboard-mcpserver.git
cd streamlit-dashboard-mcpserver

GitHub CLI:

gh repo clone your-username/streamlit-dashboard-mcpserver
cd streamlit-dashboard-mcpserver

3. Настройте окружение с помощью uv

Этот проект использует uv для управления окружением. Файлы .python-version и uv.lock уже закоммичены, поэтому настройка выполняется одной командой.

Установите uv, если он у вас не установлен:

# Windows (PowerShell)
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

Создайте виртуальное окружение и установите все зависимости из lock-файла:

uv sync

Активируйте окружение:

# Windows PowerShell
.venv\Scripts\Activate.ps1
# Windows CMD
.venv\Scripts\activate.bat

Вы увидите имя проекта в приглашении командной строки, когда оно активно:

(streamlit-dashboard-mcpserver) PS C:\Users\benij\ds_project\streamlit-dashboard-mcpserver>

Проверьте, что ключевые пакеты установлены:

pip list | findstr "mcp streamlit"

Если чего-то не хватает:

uv pip install mcp streamlit pandas plotly

4. Сгенерируйте базу данных

Скрипт seed.py внутри data/ генерирует реалистичную CRM-базу данных с более чем 10 000 записей в полной схеме snowflake.

cd data
python seed.py
cd ..

Это создаёт data/database.db, который и читает MCP-сервер.

5. Создайте индекс базы знаний

Поместите ваши корпоративные документы (листы с формулами, определения метрик, бизнес-правила — PDF, Markdown или .txt) в knowledge_base/docs/, затем выполните:

python knowledge_base/ingest.py

Это разбивает документы на фрагменты, создаёт эмбеддинги и записывает полученное векторное хранилище в knowledge_base/index/. Именно его query_knowledge_base читает во время выполнения — перезапускайте этот скрипт при каждом изменении исходных документов.

6. Настройте Claude Desktop

Claude Desktop читает определения MCP-серверов из JSON-файла конфигурации.

Откройте файл конфигурации:

notepad $env:APPDATA\Claude\claude_desktop_config.json

Если файл ещё не существует, Блокнот спросит, создать ли его — нажмите «Да».

Вставьте следующую конфигурацию, заменив benij на ваше имя пользователя Windows, если оно отличается:

{
  "mcpServers": {
    "sqlite-dashboard": {
      "command": "C:\\Users\\benij\\ds_project\\streamlit-dashboard-mcpserver\\.venv\\Scripts\\python.exe",
      "args": [
        "C:\\Users\\benij\\ds_project\\streamlit-dashboard-mcpserver\\server.py"
      ],
      "env": {
        "DB_PATH": "C:\\Users\\benij\\ds_project\\streamlit-dashboard-mcpserver\\data\\database.db",
        "DASHBOARD_PORT": "8501",
        "KB_INDEX_PATH": "C:\\Users\\benij\\ds_project\\streamlit-dashboard-mcpserver\\knowledge_base\\index"
      }
    }
  }
}

Чтобы подтвердить точный путь к Python, при активном venv выполните:

where.exe python

Ожидаемый вывод:

C:\Users\benij\ds_project\streamlit-dashboard-mcpserver\.venv\Scripts\python.exe

Используйте эту точную строку в качестве значения command в конфигурации.

Всегда используйте абсолютные пути. Claude Desktop запускает MCP-сервер как подпроцесс из непредсказуемой рабочей директории — относительные пути не будут корректно разрешаться.

7. Перезапустите Claude Desktop

После сохранения конфигурации полностью закройте Claude Desktop — щёлкните правой кнопкой мыши по значку в системном трее → Quit. Затем откройте его снова.

Когда он перезапустится, нажмите на значок 🔨 (молоток) в левом нижнем углу поля ввода чата. Вы должны увидеть все 9 инструментов в списке, что подтверждает подключение сервера.

Usage

После подключения общайтесь с Claude естественно:

"What tables are in my database?"

"How do we define 'net revenue' internally?"

"Show me the top 10 customers by total revenue, using our
 company's official revenue formula"

"Build a dashboard with monthly sales trends, a bar chart
 by product category, and a salesperson leaderboard"

Claude изучит схему, при необходимости извлечёт релевантную бизнес-логику из базы знаний, выполнит запросы, напишет код Streamlit, установит недостающие зависимости и вернёт URL для открытия в браузере — по умолчанию http://localhost:8501.

Environment Variables

Установите их в блоке env вашего claude_desktop_config.json:

Переменная

По умолчанию

Описание

DB_PATH

./database.db

Абсолютный путь к вашей базе данных SQLite

DASHBOARD_PORT

8501

Порт, на котором будет слушать Streamlit

KB_INDEX_PATH

./knowledge_base/index

Абсолютный путь к векторному хранилищу, созданному ingest.py

Troubleshooting

Значок 🔨 не отображается в Claude Desktop Вероятно, конфигурационный JSON недействителен — распространённые ошибки: лишние запятые и несовпадающие скобки. Вставьте его в jsonlint.com для проверки. Всегда полностью закрывайте и заново открывайте Claude Desktop после любого изменения конфигурации.

Ошибка «Database not found» Убедитесь, что DB_PATH — абсолютный путь и что database.db существует внутри папки data/. Запустите seed.py, если он ещё не был сгенерирован.

query_knowledge_base не возвращает результатов / пустой индекс Убедитесь, что в knowledge_base/docs/ действительно есть документы, затем повторно запустите python knowledge_base/ingest.py. Убедитесь, что KB_INDEX_PATH в вашей конфигурации указывает на knowledge_base/index/.

Страница Streamlit не загружается Спросите Claude: «Дашборд запущен?» — чтобы вызвать get_dashboard_status. Если он не запущен, попросите Claude снова выполнить create_dashboard. Также проверьте, что порт 8501 не занят другим процессом.

uv sync завершается с ошибкой Убедитесь, что установленная версия Python соответствует .python-version. Выполните python --version для проверки и при необходимости установите правильную версию с python.org.

Ошибка PowerShell ExecutionPolicy при активации .venv

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

Затем активируйте снова.

About

MCP-сервер, который превращает естественный язык в SQL-запросы и живые дашборды Streamlit, учитывающие бизнес-логику, на основе Claude и базы знаний с дополненной генерацией (RAG) из корпоративных правил и формул.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

No tool schema history has been recorded yet.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    One config, one CLI that turns your databases (Postgres, MySQL, SQLite, MongoDB) into MCP servers for Claude, GPT, Cursor, and any MCP-compatible agent.
    1
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables interaction with SQLite databases, filesystem, AWS IAM, and Gmail through a master MCP server with a Streamlit UI optimized for Claude.
    1
    -
  • A
    license
    A
    quality
    B
    maintenance
    MCP server for Claude that connects to MySQL, MariaDB, and SQLite databases. Query your databases using natural language.
    3
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    A database-agnostic MCP server that enables natural language queries to your database through Claude or Copilot, automatically writing and executing SQL.
    16
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Mikebenisberchmans/Queryforge'

If you have feedback or need assistance with the MCP directory API, please join our Discord server