QueryForge
streamlit-dashboard-mcpserver
QueryForge — Sprich mit deiner Datenbank. Sieh zu, wie sie zum Dashboard wird.
Ein einheitlicher Model Context Protocol Server, der es Claude ermöglicht, jede SQLite-Datenbank abzufragen, unternehmensspezifische Geschäftslogik aus einer Wissensdatenbank abzurufen und Live-Streamlit-Dashboards zu erstellen – alles aus einer einzigen Konversation.
Projektstruktur
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
Was es tut
Tool | Beschreibung |
| Listet alle Tabellen in der Datenbank auf |
| Zeigt Spalten, Typen und Einschränkungen für eine Tabelle |
| Gibt die ersten N Zeilen einer beliebigen Tabelle zurück |
| Führt schreibgeschützte SELECT-Abfragen aus |
| Ruft relevante Abschnitte aus Unternehmensdokumenten ab (benutzerdefinierte Berechnungsformeln, Geschäftsregeln, Metrikdefinitionen), um Claude beim Schreiben korrekter Abfragen und Dashboard-Logik zu helfen |
| Schreibt eine Streamlit-App, installiert Abhängigkeiten automatisch und startet sie |
| Stoppt den laufenden Streamlit-Prozess |
| Prüft, ob das Dashboard läuft und auf welchem Port |
| Liest den aktuellen dashboard.py-Quellcode |
Schreibgeschützt erzwungen. INSERT, UPDATE, DELETE, DROP und alle anderen Schreiboperationen werden auf Serverebene blockiert. Die Wissensdatenbank ist nur zum Abrufen gedacht – Claude kann über diesen Server nicht in sie zurückschreiben.
query_knowledge_base ist das, was Dashboards korrekt macht, nicht nur plausibel. Anstatt zu raten, wie deine Organisation etwas wie „Nettoumsatz“ oder „aktiver Kunde“ definiert, ruft Claude die tatsächlich dokumentierte Formel aus deinen aufgeteilten Unternehmensdokumenten ab, bevor es SQL- oder Dashboard-Code schreibt.

Voraussetzungen
Python 3.11+ (festgelegt über
.python-version)uv — wird in diesem Projekt bereits verwendet (siehe
uv.lock)Claude Desktop
Ein Ordner mit Quelldokumenten für die Wissensdatenbank (PDF, Markdown oder Klartext – z. B. deine internen Formelblätter, Metrik-Glossare oder SOPs)
Installation
1. Claude Desktop installieren
Lade Claude Desktop für dein Betriebssystem herunter und installiere es: Windows / macOS: https://claude.ai/download Melde dich nach der Installation mit deinem Anthropic-Konto an.
2. Repository klonen
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. Umgebung mit uv einrichten
Dieses Projekt verwendet uv für die Umgebungsverwaltung. Die Dateien .python-version und uv.lock sind bereits eingecheckt, sodass die Einrichtung ein einziger Befehl ist.
Installiere uv, falls du es nicht hast:
# Windows (PowerShell)
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"Erstelle die virtuelle Umgebung und installiere alle Abhängigkeiten aus der Lock-Datei:
uv syncAktiviere die Umgebung:
# Windows PowerShell
.venv\Scripts\Activate.ps1
# Windows CMD
.venv\Scripts\activate.batDu siehst den Projektnamen in deiner Eingabeaufforderung, wenn sie aktiv ist:
(streamlit-dashboard-mcpserver) PS C:\Users\benij\ds_project\streamlit-dashboard-mcpserver>Überprüfe, ob die wichtigsten Pakete installiert sind:
pip list | findstr "mcp streamlit"Falls etwas fehlt:
uv pip install mcp streamlit pandas plotly4. Datenbank generieren
Das Skript seed.py im Ordner data/ generiert eine realistische CRM-Datenbank mit über 10.000 Datensätzen über ein vollständiges Snowflake-Schema.
cd data
python seed.py
cd ..Dies erstellt data/database.db, das der MCP-Server liest.
5. Wissensdatenbank-Index erstellen
Lege deine Unternehmensdokumente (Formelblätter, Metrikdefinitionen, Geschäftsregeln – PDF, Markdown oder .txt) in knowledge_base/docs/ ab und führe dann aus:
python knowledge_base/ingest.pyDies teilt die Dokumente in Abschnitte auf, bettet sie ein und schreibt den resultierenden Vektor-Store nach knowledge_base/index/. Daraus liest query_knowledge_base zur Laufzeit – führe dieses Skript erneut aus, sobald sich die Quelldokumente ändern.
6. Claude Desktop konfigurieren
Claude Desktop liest MCP-Serverdefinitionen aus einer JSON-Konfigurationsdatei.
Öffne die Konfigurationsdatei:
notepad $env:APPDATA\Claude\claude_desktop_config.jsonFalls die Datei noch nicht existiert, fragt Notepad, ob sie erstellt werden soll – klicke auf Ja.
Füge die folgende Konfiguration ein und ersetze benij durch deinen Windows-Benutzernamen, falls er anders ist:
{
"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"
}
}
}
}Um deinen genauen Python-Pfad zu bestätigen, führe bei aktiver venv aus:
where.exe pythonErwartete Ausgabe:
C:\Users\benij\ds_project\streamlit-dashboard-mcpserver\.venv\Scripts\python.exeVerwende diese exakte Zeichenfolge als command-Wert in der Konfiguration.
Verwende immer absolute Pfade. Claude Desktop startet den MCP-Server als Unterprozess aus einem unvorhersehbaren Arbeitsverzeichnis – relative Pfade werden nicht korrekt aufgelöst.
7. Claude Desktop neu starten
Nach dem Speichern der Konfiguration beende Claude Desktop vollständig – klicke mit der rechten Maustaste auf das Symbol in der Taskleiste → Beenden. Öffne es dann erneut.
Wenn es neu startet, klicke auf das 🔨-Hammersymbol unten links im Chat-Eingabefeld. Du solltest alle 9 Tools aufgelistet sehen, was bestätigt, dass der Server verbunden ist.
Verwendung
Sobald die Verbindung steht, sprich natürlich mit 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 wird das Schema erkunden, bei Bedarf relevante Geschäftslogik aus der Wissensdatenbank abrufen, Abfragen ausführen, den Streamlit-Code schreiben, fehlende Abhängigkeiten installieren und eine URL zurückgeben, die du in deinem Browser öffnen kannst – standardmäßig http://localhost:8501.
Umgebungsvariablen
Setze diese im env-Block deiner claude_desktop_config.json:
Variable | Standard | Beschreibung |
|
| Absoluter Pfad zu deiner SQLite-Datenbank |
|
| Port, auf dem Streamlit lauschen wird |
|
| Absoluter Pfad zum Vektor-Store, der von |
Fehlerbehebung
🔨 Hammersymbol wird in Claude Desktop nicht angezeigt Die Konfigurations-JSON ist wahrscheinlich ungültig – nachgestellte Kommas und falsch gesetzte Klammern sind häufige Fehler. Füge sie in jsonlint.com ein, um sie zu validieren. Beende Claude Desktop nach jeder Konfigurationsänderung immer vollständig und öffne es erneut.
Fehler „Database not found“
Stelle sicher, dass DB_PATH ein absoluter Pfad ist und database.db im Ordner data/ existiert. Führe seed.py aus, falls es noch nicht generiert wurde.
query_knowledge_base liefert keine Ergebnisse / leerer Index
Stelle sicher, dass knowledge_base/docs/ tatsächlich Dokumente enthält, und führe dann python knowledge_base/ingest.py erneut aus. Stelle sicher, dass KB_INDEX_PATH in deiner Konfiguration auf knowledge_base/index/ zeigt.
Streamlit-Seite lädt nicht
Frage Claude „Läuft das Dashboard?“ um get_dashboard_status aufzurufen. Wenn es nicht läuft, bitte Claude, create_dashboard erneut auszuführen. Prüfe auch, ob Port 8501 nicht bereits von einem anderen Prozess verwendet wird.
uv sync schlägt fehl
Stelle sicher, dass deine installierte Python-Version mit .python-version übereinstimmt. Führe python --version aus, um zu prüfen, und installiere bei Bedarf die richtige Version von python.org.
PowerShell ExecutionPolicy-Fehler beim Aktivieren von .venv
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUserAktiviere dann erneut.
Über
Ein MCP-Server, der natürliche Sprache in SQL-Abfragen und Live-Streamlit-Dashboards mit Geschäftslogik-Bewusstsein verwandelt, unterstützt von Claude und einer retrieval-augmentierten Wissensdatenbank mit unternehmensspezifischen Regeln und Formeln.
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