GraphDB MCP-Server
Ein Model Context Protocol-Server, der schreibgeschützten Zugriff auf Ontotext GraphDB bietet. Dieser Server ermöglicht LLMs die Untersuchung von RDF-Graphen und die Ausführung von SPARQL-Abfragen an eine GraphDB-Instanz.
Komponenten
Werkzeuge
sparqlQuery
Führen Sie SPARQL-Abfragen für das verbundene GraphDB-Repository aus
Eingang:
query(Zeichenfolge): Die auszuführende SPARQL-Abfragegraph(Zeichenfolge, optional): Spezifischer Graph-IRI zum Zielformat(Zeichenfolge, optional): Antwortformat (JSON, XML, CSV)
Alle Abfragen werden im Nur-Lese-Modus ausgeführt
listGraphs
Listet alle im Repository verfügbaren Graphen auf
Keine Eingabeparameter erforderlich
Ressourcen
Der Server bietet mehrere Ansichten der Repository-Daten:
Klassenliste (
graphdb://<host>/repository/<repo>/classes)Listet alle im Repository gefundenen RDF-Klassen mit Anzahl auf
Prädikate (
graphdb://<host>/repository/<repo>/predicates)Listet alle Prädikate (Eigenschaften) mit Nutzungszählungen auf
Statistiken (
graphdb://<host>/repository/<repo>/stats)Bietet Zählungen von Subjekten, Prädikaten, Objekten und Tripeln
Beispieldaten (
graphdb://<host>/repository/<repo>/sample)Zeigt eine Auswahl von Tripeln aus dem Repository
Graph-Inhalt (
graphdb://<host>/repository/<repo>/graph/<graphUri>)Bietet Beispieldaten aus bestimmten Diagrammen zusammen mit Metadaten
Related MCP server: mcp-graphql
Konfiguration
Sie können den Server mithilfe von Umgebungsvariablen konfigurieren, indem Sie eine .env Datei erstellen:
GRAPHDB_ENDPOINT=http://localhost:7200
GRAPHDB_REPOSITORY=myRepository
GRAPHDB_USERNAME=username
GRAPHDB_PASSWORD=passwordAlternativ können Sie den Endpunkt und das Repository als Befehlszeilenargumente angeben:
node dist/index.js http://localhost:7200 myRepositoryDie Befehlszeilenargumente haben Vorrang vor Umgebungsvariablen.
Verwendung mit Claude Desktop
Um diesen Server mit der Claude Desktop-App zu verwenden, fügen Sie dem Abschnitt „mcpServers“ Ihrer claude_desktop_config.json die folgende Konfiguration hinzu:
{
"mcpServers": {
"graphdb": {
"command": "node",
"args": [
"/path/to/mcp-server-graphdb/dist/index.js"
],
"env": {
"GRAPHDB_ENDPOINT": "http://localhost:7200",
"GRAPHDB_REPOSITORY": "myRepository",
"GRAPHDB_USERNAME": "username",
"GRAPHDB_PASSWORD": "password"
}
}
}
}Ersetzen Sie die Werte durch Ihre spezifische GraphDB-Konfiguration.
Installation
# Clone the repository
git clone https://github.com/yourname/mcp-server-graphdb.git
cd mcp-server-graphdb
# Install dependencies
yarn install
# Build the project
yarn buildBeispiele für SPARQL-Abfragen
Hier sind einige Beispiele für SPARQL-Abfragen, die Sie mit diesem Server ausführen können:
Listen Sie alle Klassen in der Ontologie auf:
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
SELECT DISTINCT ?class ?label
WHERE {
{ ?class a rdfs:Class } UNION { ?class a owl:Class }
OPTIONAL { ?class rdfs:label ?label }
}
ORDER BY ?classAlle Eigenschaften für eine bestimmte Klasse auflisten:
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
SELECT ?property ?label ?range
WHERE {
?property rdfs:domain <http://example.org/YourClass> .
OPTIONAL { ?property rdfs:label ?label }
OPTIONAL { ?property rdfs:range ?range }
}
ORDER BY ?propertyInstanzen nach Klasse zählen:
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
SELECT ?class (COUNT(?instance) AS ?count)
WHERE {
?instance a ?class
}
GROUP BY ?class
ORDER BY DESC(?count)Lizenz
Dieser MCP-Server ist unter der GPL-3.0-Lizenz lizenziert. Das bedeutet, dass Sie die Software unter den Bedingungen der GNU GPL-3.0-Lizenz frei verwenden, ändern und verbreiten können.