GraphDB
Proporciona acceso de solo lectura a un repositorio de Ontotext GraphDB.
Documentación
Servidor MCP GraphDB
Un servidor de Protocolo de Contexto de Modelo que proporciona acceso de solo lectura a Ontotext GraphDB. Este servidor permite a los LLM explorar grafos RDF y ejecutar consultas SPARQL contra una instancia de GraphDB.
Componentes
Herramientas
-
sparqlQuery
- Ejecuta consultas SPARQL contra el repositorio GraphDB conectado
- Entrada:
query(cadena): La consulta SPARQL a ejecutargraph(cadena, opcional): IRI de grafo específico a apuntarformat(cadena, opcional): Formato de respuesta (json, xml, csv)
- Todas las consultas se ejecutan en modo de solo lectura
-
listGraphs
- Lista todos los grafos disponibles en el repositorio
- No se requieren parámetros de entrada
Recursos
El servidor proporciona múltiples vistas de los datos del repositorio:
-
Class List (
graphdb://<host>/repository/<repo>/classes)- Lista todas las clases RDF encontradas en el repositorio con conteos
-
Predicates (
graphdb://<host>/repository/<repo>/predicates)- Lista todos los predicados (propiedades) con conteos de uso
-
Statistics (
graphdb://<host>/repository/<repo>/stats)- Proporciona conteos de sujetos, predicados, objetos y tripletas
-
Sample Data (
graphdb://<host>/repository/<repo>/sample)- Muestra una muestra de tripletas del repositorio
-
Graph Content (
graphdb://<host>/repository/<repo>/graph/<graphUri>)- Proporciona datos de muestra de grafos específicos junto con metadatos
Configuración
Puede configurar el servidor usando variables de entorno creando un archivo .env:
GRAPHDB_ENDPOINT=http://localhost:7200
GRAPHDB_REPOSITORY=myRepository
GRAPHDB_USERNAME=username
GRAPHDB_PASSWORD=password
Alternativamente, puede proporcionar el endpoint y el repositorio como argumentos de línea de comandos:
node dist/index.js http://localhost:7200 myRepository
Los argumentos de línea de comandos tienen prioridad sobre las variables de entorno.
Uso con Claude Desktop
Para usar este servidor con la aplicación Claude Desktop, agregue la siguiente configuración a la sección "mcpServers" de su claude_desktop_config.json:
{
"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"
}
}
}
}
Reemplace los valores con su configuración específica de GraphDB.
Instalación
# Clone the repository
git clone https://github.com/keonchennl/mcp-server-graphdb.git
cd mcp-server-graphdb
# Install dependencies
yarn install
# Build the project
yarn build
Ejemplos de consultas SPARQL
Aquí hay algunos ejemplos de consultas SPARQL que puede ejecutar con este servidor:
- Listar todas las clases en la ontología:
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 ?class
- Listar todas las propiedades para una clase específica:
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 ?property
- Contar instancias por clase:
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)
Licencia
Este servidor MCP está licenciado bajo la Licencia GPL-3.0. Esto significa que es libre de usar, modificar y distribuir el software, sujeto a los términos y condiciones de la Licencia GNU GPL-3.0.
