Integrations
Allows interaction with WhatsApp contacts through Claude, leveraging AI capabilities in WhatsApp conversations by connecting to a database backend via ODBC.
MCP-Server-ODBC über PyODBC
Ein leichter MCP-Server (Model Context Protocol) für ODBC, erstellt mit FastAPI und pyodbc . Dieser Server ist kompatibel mit Virtuoso DBMS und anderen DBMS-Backends mit ODBC-Treiber.
Merkmale
- Schemas abrufen : Ruft alle Schemanamen aus der verbundenen Datenbank ab und listet sie auf.
- Tabellen abrufen : Rufen Sie Tabelleninformationen für bestimmte oder alle Schemata ab.
- Tabelle beschreiben : Erstellen Sie eine detaillierte Beschreibung der Tabellenstrukturen, einschließlich:
- Spaltennamen und Datentypen
- Nullable-Attribute
- Primär- und Fremdschlüssel
- Tabellen durchsuchen : Filtern und Abrufen von Tabellen basierend auf Namensteilzeichenfolgen.
- Gespeicherte Prozeduren ausführen : Führen Sie im Fall von Virtuoso gespeicherte Prozeduren aus und rufen Sie Ergebnisse ab.
- Abfragen ausführen :
- JSONL-Ergebnisformat: Optimiert für strukturierte Antworten.
- Markdown-Tabellenformat: Ideal für Berichte und Visualisierung.
Voraussetzungen
- Installieren Sie uv :Oder verwenden Sie Homebrew:CopyCopy
- Überprüfungen der unixODBC-Laufzeitumgebung :
- Überprüfen Sie die Installationskonfiguration (d. h. den Speicherort der wichtigsten INI-Dateien), indem Sie Folgendes ausführen:
odbcinst -j
- Listen Sie die verfügbaren Datenquellennamen auf, indem Sie Folgendes ausführen:
odbcinst -q -s
- ODBC-DSN-Setup : Konfigurieren Sie Ihren ODBC-Datenquellennamen (
~/.odbc.ini
) für die Zieldatenbank. Beispiel für Virtuoso DBMS:Copy
Installation
Klonen Sie dieses Repository:
Umgebungsvariablen
Aktualisieren Sie Ihre .env
indem Sie die Standardeinstellungen entsprechend Ihren Präferenzen überschreiben
Konfiguration
Für Claude Desktop- Benutzer: Fügen Sie Folgendes zu claude_desktop_config.json
hinzu:
Verwendung
Mitgelieferte Werkzeuge
Nach erfolgreicher Installation stehen den MCP-Clientanwendungen die folgenden Tools zur Verfügung.
Überblick
Name | Beschreibung |
---|---|
podbc_get_schemas | Listen Sie Datenbankschemata auf, auf die das verbundene Datenbankverwaltungssystem (DBMS) zugreifen kann. |
podbc_get_tables | Listen Sie Tabellen auf, die mit einem ausgewählten Datenbankschema verknüpft sind. |
podbc_describe_table | Geben Sie die Beschreibung einer Tabelle an, die mit einem bestimmten Datenbankschema verknüpft ist. Dies umfasst Informationen zu Spaltennamen, Datentypen, Nullverarbeitung, Autoinkrementierung, Primärschlüssel und Fremdschlüsseln. |
podbc_filter_table_names | Listen Sie Tabellen auf, basierend auf einem Teilzeichenfolgenmuster aus dem Eingabefeld q , das mit einem ausgewählten Datenbankschema verknüpft ist. |
podbc_query_database | Führen Sie eine SQL-Abfrage aus und geben Sie Ergebnisse im JSONL-Format zurück. |
podbc_execute_query | Führen Sie eine SQL-Abfrage aus und geben Sie Ergebnisse im JSONL-Format zurück. |
podbc_execute_query_md | Führen Sie eine SQL-Abfrage aus und geben Sie die Ergebnisse im Markdown-Tabellenformat zurück. |
podbc_spasql_query | Führen Sie eine SPASQL-Abfrage aus und geben Sie Ergebnisse zurück. |
podbc_sparql_query | Führen Sie eine SPARQL-Abfrage aus und geben Sie Ergebnisse zurück. |
podbc_virtuoso_support_ai | Interagieren Sie mit dem Virtuoso Support Assistant/Agent – einer Virtuoso-spezifischen Funktion für die Interaktion mit LLMs |
Detaillierte Beschreibung
- podbc_get_schemas
- Rufen Sie eine Liste aller Schemanamen aus der verbundenen Datenbank ab und geben Sie sie zurück.
- Eingabeparameter:
user
(Zeichenfolge, optional): Datenbankbenutzername. Standardmäßig „demo“.password
(Zeichenfolge, optional): Datenbankkennwort. Standardmäßig „demo“.dsn
(Zeichenfolge, optional): Name der ODBC-Datenquelle. Standardmäßig „Local Virtuoso“.
- Gibt ein JSON-String-Array mit Schemanamen zurück.
- podbc_get_tables
- Ruft eine Liste mit Informationen zu Tabellen in einem angegebenen Schema ab und gibt sie zurück. Wenn kein Schema angegeben ist, wird das Standardschema der Verbindung verwendet.
- Eingabeparameter:
schema
(Zeichenfolge, optional): Datenbankschema zum Filtern von Tabellen. Standardmäßig wird der Verbindungsstandard verwendet.user
(Zeichenfolge, optional): Datenbankbenutzername. Standardmäßig „demo“.password
(Zeichenfolge, optional): Datenbankkennwort. Standardmäßig „demo“.dsn
(Zeichenfolge, optional): Name der ODBC-Datenquelle. Standardmäßig „Local Virtuoso“.
- Gibt eine JSON-Zeichenfolge mit Tabelleninformationen zurück (z. B. TABLE_CAT, TABLE_SCHEM, TABLE_NAME, TABLE_TYPE).
- podbc_filter_table_names
- Filtert und gibt Informationen zu Tabellen zurück, deren Namen eine bestimmte Teilzeichenfolge enthalten.
- Eingabeparameter:
q
(Zeichenfolge, erforderlich): Die Teilzeichenfolge, nach der in Tabellennamen gesucht werden soll.schema
(Zeichenfolge, optional): Datenbankschema zum Filtern von Tabellen. Standardmäßig wird der Verbindungsstandard verwendet.user
(Zeichenfolge, optional): Datenbankbenutzername. Standardmäßig „demo“.password
(Zeichenfolge, optional): Datenbankkennwort. Standardmäßig „demo“.dsn
(Zeichenfolge, optional): Name der ODBC-Datenquelle. Standardmäßig „Local Virtuoso“.
- Gibt eine JSON-Zeichenfolge zurück, die Informationen zu übereinstimmenden Tabellen enthält.
- podbc_describe_table
- Rufen Sie detaillierte Informationen zu den Spalten einer bestimmten Tabelle ab und geben Sie sie zurück.
- Eingabeparameter:
schema
(Zeichenfolge, erforderlich): Der Datenbankschemaname, der die Tabelle enthält.table
(Zeichenfolge, erforderlich): Der Name der zu beschreibenden Tabelle.user
(Zeichenfolge, optional): Datenbankbenutzername. Standardmäßig „demo“.password
(Zeichenfolge, optional): Datenbankkennwort. Standardmäßig „demo“.dsn
(Zeichenfolge, optional): Name der ODBC-Datenquelle. Standardmäßig „Local Virtuoso“.
- Gibt eine JSON-Zeichenfolge zurück, die die Spalten der Tabelle beschreibt (z. B. COLUMN_NAME, TYPE_NAME, COLUMN_SIZE, IS_NULLABLE).
- podbc_query_database
- Führen Sie eine Standard-SQL-Abfrage aus und geben Sie die Ergebnisse im JSON-Format zurück.
- Eingabeparameter:
query
(Zeichenfolge, erforderlich): Die auszuführende SQL-Abfragezeichenfolge.user
(Zeichenfolge, optional): Datenbankbenutzername. Standardmäßig „demo“.password
(Zeichenfolge, optional): Datenbankkennwort. Standardmäßig „demo“.dsn
(Zeichenfolge, optional): Name der ODBC-Datenquelle. Standardmäßig „Local Virtuoso“.
- Gibt Abfrageergebnisse als JSON-Zeichenfolge zurück.
- podbc_query_database_md
- Führen Sie eine Standard-SQL-Abfrage aus und geben Sie die Ergebnisse als Markdown-Tabelle formatiert zurück.
- Eingabeparameter:
query
(Zeichenfolge, erforderlich): Die auszuführende SQL-Abfragezeichenfolge.user
(Zeichenfolge, optional): Datenbankbenutzername. Standardmäßig „demo“.password
(Zeichenfolge, optional): Datenbankkennwort. Standardmäßig „demo“.dsn
(Zeichenfolge, optional): Name der ODBC-Datenquelle. Standardmäßig „Local Virtuoso“.
- Gibt Abfrageergebnisse als Markdown-Tabellenzeichenfolge zurück.
- podbc_query_database_jsonl
- Führen Sie eine Standard-SQL-Abfrage aus und geben Sie die Ergebnisse im JSON-Zeilenformat (JSONL) zurück (ein JSON-Objekt pro Zeile).
- Eingabeparameter:
query
(Zeichenfolge, erforderlich): Die auszuführende SQL-Abfragezeichenfolge.user
(Zeichenfolge, optional): Datenbankbenutzername. Standardmäßig „demo“.password
(Zeichenfolge, optional): Datenbankkennwort. Standardmäßig „demo“.dsn
(Zeichenfolge, optional): Name der ODBC-Datenquelle. Standardmäßig „Local Virtuoso“.
- Gibt Abfrageergebnisse als JSONL-Zeichenfolge zurück.
- podbc_spasql_query
- Führen Sie eine SPASQL-Abfrage (SQL/SPARQL-Hybrid) aus, um Ergebnisse zurückzugeben. Dies ist eine Virtuoso-spezifische Funktion.
- Eingabeparameter:
query
(Zeichenfolge, erforderlich): Die SPASQL-Abfragezeichenfolge.max_rows
(Zahl, optional): Maximale Anzahl der zurückzugebenden Zeilen. Der Standardwert ist 20.timeout
(Zahl, optional): Abfrage-Timeout in Millisekunden. Standardmäßig 30000.user
(Zeichenfolge, optional): Datenbankbenutzername. Standardmäßig „demo“.password
(Zeichenfolge, optional): Datenbankkennwort. Standardmäßig „demo“.dsn
(Zeichenfolge, optional): Name der ODBC-Datenquelle. Standardmäßig „Local Virtuoso“.
- Gibt das Ergebnis des zugrunde liegenden gespeicherten Prozeduraufrufs zurück (z. B.
Demo.demo.execute_spasql_query
).
- podbc_sparql_query
- Führen Sie eine SPARQL-Abfrage aus und geben Sie Ergebnisse zurück. Dies ist eine Virtuoso-spezifische Funktion.
- Eingabeparameter:
query
(Zeichenfolge, erforderlich): Die SPARQL-Abfragezeichenfolge.format
(Zeichenfolge, optional): Gewünschtes Ergebnisformat. Standardmäßig „json“.timeout
(Zahl, optional): Abfrage-Timeout in Millisekunden. Standardmäßig 30000.user
(Zeichenfolge, optional): Datenbankbenutzername. Standardmäßig „demo“.password
(Zeichenfolge, optional): Datenbankkennwort. Standardmäßig „demo“.dsn
(Zeichenfolge, optional): Name der ODBC-Datenquelle. Standardmäßig „Local Virtuoso“.
- Gibt das Ergebnis des zugrunde liegenden Funktionsaufrufs zurück (z. B.
"UB".dba."sparqlQuery"
).
- podbc_virtuoso_support_ai
- Nutzt eine Virtuoso-spezifische KI-Assistentenfunktion und übergibt eine Eingabeaufforderung und einen optionalen API-Schlüssel. Dies ist eine Virtuoso-spezifische Funktion.
- Eingabeparameter:
prompt
(Zeichenfolge, erforderlich): Der Eingabeaufforderungstext für die KI-Funktion.api_key
(Zeichenfolge, optional): API-Schlüssel für den KI-Dienst. Standardmäßig „keine“.user
(Zeichenfolge, optional): Datenbankbenutzername. Standardmäßig „demo“.password
(Zeichenfolge, optional): Datenbankkennwort. Standardmäßig „demo“.dsn
(Zeichenfolge, optional): Name der ODBC-Datenquelle. Standardmäßig „Local Virtuoso“.
- Gibt das Ergebnis des Funktionsaufrufs des AI Support Assistant zurück (z. B.
DEMO.DBA.OAI_VIRTUOSO_SUPPORT_AI
).
Fehlerbehebung
Zur einfacheren Fehlerbehebung:
- Installieren Sie den MCP Inspector:Copy
- Starten Sie den Inspektor:Copy
Greifen Sie auf die bereitgestellte URL zu, um Probleme mit Serverinteraktionen zu beheben.
This server cannot be installed
local-only server
The server can only run on the client's local machine because it depends on local resources.
Ein leichtgewichtiger MCP-Server, der Datenbankzugriff und -abfragen über ODBC-Verbindungen ermöglicht, mit spezieller Unterstützung für Virtuoso DBMS-Funktionen wie SPARQL und KI-Unterstützung durch natürliche Sprache.
Related MCP Servers
- AsecurityFlicenseAqualityMCP server that allows Claude AI to interact directly with MySQL databases, enabling query execution and table information retrieval through natural language.Last updated -163JavaScript
- -securityAlicense-qualityOpen source MCP server specializing in easy, fast, and secure tools for Databases.Last updated -870GoApache 2.0
- -security-license-qualityAn MCP server that enables natural language interaction with Apache Iceberg data lakehouses, allowing users to query table metadata, schemas, and properties through Claude, Cursor, or other MCP clients.Last updated -31PythonApache 2.0
- -security-license-qualityAn MCP server that allows working with MySQL databases by providing tools for executing read-only SQL queries, getting table schemas, and listing database tables.Last updated -1JavaScript