Сервер GraphDB MCP
Сервер Model Context Protocol, который обеспечивает доступ только для чтения к Ontotext GraphDB. Этот сервер позволяет LLM исследовать RDF-графы и выполнять запросы SPARQL к экземпляру GraphDB.
Компоненты
Инструменты
sparqlQuery
Выполнение запросов SPARQL к подключенному репозиторию GraphDB
Вход:
query(строка): SPARQL-запрос для выполненияgraph(строка, необязательно): Конкретный IRI графика для целевого объектаformat(строка, необязательно): Формат ответа (json, xml, csv)
Все запросы выполняются в режиме только для чтения.
списокГрафики
Перечисляет все графики, доступные в репозитории.
Входные параметры не требуются
Ресурсы
Сервер обеспечивает несколько представлений данных репозитория:
Список классов (
graphdb://<host>/repository/<repo>/classes)Перечисляет все классы RDF, найденные в репозитории, с указанием количества.
Предикаты (
graphdb://<host>/repository/<repo>/predicates)Перечисляет все предикаты (свойства) с подсчетом использований
Статистика (
graphdb://<host>/repository/<repo>/stats)Предоставляет подсчеты подлежащих, предикатов, объектов и троек.
Образец данных (
graphdb://<host>/repository/<repo>/sample)Показывает выборку троек из репозитория
Содержимое графика (
graphdb://<host>/repository/<repo>/graph/<graphUri>)Предоставляет образцы данных из определенных графиков вместе с метаданными.
Related MCP server: mcp-graphql
Конфигурация
Вы можете настроить сервер с помощью переменных среды, создав файл .env :
GRAPHDB_ENDPOINT=http://localhost:7200
GRAPHDB_REPOSITORY=myRepository
GRAPHDB_USERNAME=username
GRAPHDB_PASSWORD=passwordВ качестве альтернативы вы можете указать конечную точку и репозиторий в качестве аргументов командной строки:
node dist/index.js http://localhost:7200 myRepositoryАргументы командной строки имеют приоритет над переменными среды.
Использование с Claude Desktop
Чтобы использовать этот сервер с приложением Claude Desktop, добавьте следующую конфигурацию в раздел «mcpServers» вашего 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"
}
}
}
}Замените значения на вашу конкретную конфигурацию GraphDB.
Установка
# 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 buildПримеры запросов SPARQL
Вот несколько примеров запросов SPARQL, которые вы можете выполнить с помощью этого сервера:
Перечислите все классы в онтологии:
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Перечислите все свойства для определенного класса:
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Подсчет экземпляров по классу:
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)Лицензия
Этот сервер MCP лицензирован по лицензии GPL-3.0. Это означает, что вы можете свободно использовать, изменять и распространять программное обеспечение в соответствии с условиями лицензии GNU GPL-3.0.