Servidor MCP de 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 en una instancia de GraphDB.
Componentes
Herramientas
Consulta Sparql
Ejecutar consultas SPARQL contra el repositorio GraphDB conectado
Aporte:
query(cadena): La consulta SPARQL a ejecutargraph(cadena, opcional): IRI del gráfico específico al que se apuntaformat(cadena, opcional): formato de respuesta (json, xml, csv)
Todas las consultas se ejecutan en modo de solo lectura.
listGraphs
Enumera todos los gráficos disponibles en el repositorio
No se requieren parámetros de entrada
Recursos
El servidor proporciona múltiples vistas de los datos del repositorio:
Lista de clases (
graphdb://<host>/repository/<repo>/classes)Enumera todas las clases RDF encontradas en el repositorio con recuentos
Predicados (
graphdb://<host>/repository/<repo>/predicates)Enumera todos los predicados (propiedades) con recuentos de uso
Estadísticas (
graphdb://<host>/repository/<repo>/stats)Proporciona recuentos de sujetos, predicados, objetos y triples.
Datos de muestra (
graphdb://<host>/repository/<repo>/sample)Muestra una muestra de triples del repositorio.
Contenido del gráfico (
graphdb://<host>/repository/<repo>/graph/<graphUri>)Proporciona datos de muestra de gráficos específicos junto con metadatos.
Related MCP server: mcp-graphql
Configuración
Puede configurar el servidor utilizando variables de entorno creando un archivo .env :
GRAPHDB_ENDPOINT=http://localhost:7200
GRAPHDB_REPOSITORY=myRepository
GRAPHDB_USERNAME=username
GRAPHDB_PASSWORD=passwordComo alternativa, puede proporcionar el punto final y el repositorio como argumentos de la línea de comandos:
node dist/index.js http://localhost:7200 myRepositoryLos argumentos de la 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/yourname/mcp-server-graphdb.git
cd mcp-server-graphdb
# Install dependencies
yarn install
# Build the project
yarn buildEjemplos de consultas SPARQL
A continuación se muestran algunos ejemplos de consultas SPARQL que puede ejecutar con este servidor:
Enumere 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 ?classEnumere todas las propiedades de 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 ?propertyContar 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 GPL-3.0. Esto significa que usted tiene libertad de usar, modificar y distribuir el software, sujeto a los términos y condiciones de la GNU GPL-3.0.