Skip to main content
Glama

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.md

Related MCP server: TheMCP-server

Was es tut

Tool

Beschreibung

list_tables

Listet alle Tabellen in der Datenbank auf

describe_table

Zeigt Spalten, Typen und Einschränkungen für eine Tabelle

sample_table

Gibt die ersten N Zeilen einer beliebigen Tabelle zurück

query_database

Führt schreibgeschützte SELECT-Abfragen aus

query_knowledge_base

Ruft relevante Abschnitte aus Unternehmensdokumenten ab (benutzerdefinierte Berechnungsformeln, Geschäftsregeln, Metrikdefinitionen), um Claude beim Schreiben korrekter Abfragen und Dashboard-Logik zu helfen

create_dashboard

Schreibt eine Streamlit-App, installiert Abhängigkeiten automatisch und startet sie

stop_dashboard

Stoppt den laufenden Streamlit-Prozess

get_dashboard_status

Prüft, ob das Dashboard läuft und auf welchem Port

read_dashboard

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.

screenshot1-dashboard screenshot2-chat

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-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. 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 sync

Aktiviere die Umgebung:

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

Du 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 plotly

4. 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.py

Dies 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.json

Falls 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 python

Erwartete Ausgabe:

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

Verwende 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

DB_PATH

./database.db

Absoluter Pfad zu deiner SQLite-Datenbank

DASHBOARD_PORT

8501

Port, auf dem Streamlit lauschen wird

KB_INDEX_PATH

./knowledge_base/index

Absoluter Pfad zum Vektor-Store, der von ingest.py erstellt wurde

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 CurrentUser

Aktiviere 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.

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