QueryForge
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.mdRelated MCP server: TheMCP-server
What it does
Tool | Description |
| Перечислить все таблицы в базе данных |
| Показать столбцы, типы и ограничения для таблицы |
| Вернуть первые N строк любой таблицы |
| Выполнять read-only SELECT запросы |
| Извлекать релевантные фрагменты из корпоративных документов (пользовательские формулы расчёта, бизнес-правила, определения метрик), чтобы помочь Claude писать корректные запросы и логику дашборда |
| Написать приложение Streamlit, автоматически установить зависимости и запустить его |
| Остановить запущенный процесс Streamlit |
| Проверить, запущен ли дашборд и на каком порту |
| Прочитать текущий исходный код dashboard.py |
Только чтение. INSERT, UPDATE, DELETE, DROP и все остальные операции записи блокируются на уровне сервера. База знаний доступна только для чтения — Claude не может записывать в неё через этот сервер.
query_knowledge_base — это то, что делает дашборды корректными, а не просто правдоподобными. Вместо того чтобы угадывать, как ваша организация определяет, например, «чистую выручку» или «активного клиента», Claude извлекает фактическую задокументированную формулу из ваших разбитых на фрагменты корпоративных документов перед написанием SQL или кода дашборда.

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-mcpserverSSH:
git clone git@github.com:your-username/streamlit-dashboard-mcpserver.git
cd streamlit-dashboard-mcpserverGitHub CLI:
gh repo clone your-username/streamlit-dashboard-mcpserver
cd streamlit-dashboard-mcpserver3. Настройте окружение с помощью 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 plotly4. Сгенерируйте базу данных
Скрипт 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:
Переменная | По умолчанию | Описание |
|
| Абсолютный путь к вашей базе данных SQLite |
|
| Порт, на котором будет слушать Streamlit |
|
| Абсолютный путь к векторному хранилищу, созданному |
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.
This server cannot be installed
Maintenance
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
MCP server unifying ERPs, CRMs, APIs and knowledge base for Claude, ChatGPT and Gemini.
Query your warehouse or a CSV with Claude/ChatGPT over MCP, governed by table-level ACL + audit.
MCP server giving Claude AI access to 22+ NYC public-record databases for real estate due diligence
Hosted MCP server connecting claude.ai, ChatGPT and other AI apps to your own computer
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceOne config, one CLI that turns your databases (Postgres, MySQL, SQLite, MongoDB) into MCP servers for Claude, GPT, Cursor, and any MCP-compatible agent.1MIT
- FlicenseNot gradedqualityDmaintenanceEnables interaction with SQLite databases, filesystem, AWS IAM, and Gmail through a master MCP server with a Streamlit UI optimized for Claude.1-
- AlicenseAqualityBmaintenanceMCP server for Claude that connects to MySQL, MariaDB, and SQLite databases. Query your databases using natural language.3MIT
- AlicenseNot gradedqualityDmaintenanceA database-agnostic MCP server that enables natural language queries to your database through Claude or Copilot, automatically writing and executing SQL.16MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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