GraphDB
Fornece acesso somente leitura a um repositório Ontotext GraphDB.
Documentação
Servidor MCP GraphDB
Um servidor Model Context Protocol que fornece acesso somente leitura ao Ontotext GraphDB. Este servidor permite que LLMs explorem grafos RDF e executem consultas SPARQL contra uma instância GraphDB.
Componentes
Ferramentas
-
sparqlQuery
- Executa consultas SPARQL contra o repositório GraphDB conectado
- Entrada:
query(string): A consulta SPARQL a ser executadagraph(string, opcional): IRI do grafo específico para alvoformat(string, opcional): Formato de resposta (json, xml, csv)
- Todas as consultas são executadas em modo somente leitura
-
listGraphs
- Lista todos os grafos disponíveis no repositório
- Nenhum parâmetro de entrada é necessário
Recursos
O servidor fornece várias visões dos dados do repositório:
-
Class List (
graphdb://<host>/repository/<repo>/classes)- Lista todas as classes RDF encontradas no repositório com contagens
-
Predicates (
graphdb://<host>/repository/<repo>/predicates)- Lista todos os predicados (propriedades) com contagens de uso
-
Statistics (
graphdb://<host>/repository/<repo>/stats)- Fornece contagens de sujeitos, predicados, objetos e triplas
-
Sample Data (
graphdb://<host>/repository/<repo>/sample)- Mostra uma amostra de triplas do repositório
-
Graph Content (
graphdb://<host>/repository/<repo>/graph/<graphUri>)- Fornece dados de amostra de grafos específicos juntamente com metadados
Configuração
Você pode configurar o servidor usando variáveis de ambiente criando um arquivo .env:
GRAPHDB_ENDPOINT=http://localhost:7200
GRAPHDB_REPOSITORY=myRepository
GRAPHDB_USERNAME=username
GRAPHDB_PASSWORD=password
Alternativamente, você pode fornecer o endpoint e o repositório como argumentos de linha de comando:
node dist/index.js http://localhost:7200 myRepository
Os argumentos de linha de comando têm precedência sobre as variáveis de ambiente.
Uso com Claude Desktop
Para usar este servidor com o aplicativo Claude Desktop, adicione a seguinte configuração à seção "mcpServers" do seu 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"
}
}
}
}
Substitua os valores pela sua configuração específica do GraphDB.
Instalação
# 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
Exemplos de Consultas SPARQL
Aqui estão alguns exemplos de consultas SPARQL que você pode executar com este servidor:
- Liste todas as classes na ontologia:
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
- Liste todas as propriedades para uma classe 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
- Conte instâncias por classe:
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)
Licença
Este servidor MCP é licenciado sob a Licença GPL-3.0. Isso significa que você é livre para usar, modificar e distribuir o software, sujeito aos termos e condições da Licença GNU GPL-3.0.
