Skip to main content
Glama

Локальный семантический агент MCP с OWL, HermiT и Ollama

Полностью локальная архитектура выполнения на macOS для детерминированной проверки, модификации, рассуждений в логике описаний (DL) и SPARQL-запросов к банковским онтологиям (OWL/RDF) с использованием LLM-агентов и протокола Model Context Protocol (MCP) через STDIO.

Основные возможности

  • Рассуждения HermiT DL: Интегрированный решатель логики описаний (sync_reasoner_hermit) для проверки согласованности онтологии, вычисления выводимых иерархий классов и обнаружения невыполнимых классов.

  • Движок SPARQL-запросов: Прямое выполнение W3C SPARQL-запросов к графу знаний RDF через RDFLib, что позволяет выполнять сложные семантические запросы, фильтрацию и агрегации.

  • Мутация таксономии и экземпляров (TBox/ABox): Динамическое добавление классов OWL, иерархий подклассов и утверждений именованных индивидов.

  • Интерактивные визуализации с силовым графом: Автоматический экспорт графа знаний в интерактивные HTML-сети PyVis.

  • Два режима выполнения: Автоматизированный пакетный конвейер (agente.py) и постоянный диалоговый REPL (agent_interactive.py).

Related MCP server: OWL-MCP

Архитектура

Система разделяет рассуждения модели и выполнение графа на четыре основных уровня:

  1. Оркестратор агентов:

    • agente.py: Автоматизированный конвейер, выполняющий пакетные цели агента от начала до конца.

    • agent_interactive.py: Многоходовой диалоговый REPL, поддерживающий состояние и выполняющий динамические многошаговые семантические рабочие процессы.

  2. Движок LLM (Ollama): Выполняет локальные модели (например, glm-5.2:cloud, qwen2.5-coder) для декомпозиции намерений и форматирования параметров без прямого доступа к файлам.

  3. MCP-сервер (server.py): Интерфейс JSON-RPC 2.0, работающий через STDIO, преобразующий вызовы инструментов модели в детерминированные операции над семантическим графом с помощью Owlready2 и RDFLib.

  4. Семантический слой (core.owl): Постоянный граф онтологии RDF/XML W3C, проверенный решателем DL HermiT.

Структура репозитория

  • core.owl: Базовый файл банковской онтологии в формате RDF/XML (стандарт W3C OWL).

  • server.py: Нативный MCP-сервер JSON-RPC 2.0, предоставляющий мутацию TBox/ABox, выполнение SPARQL, рассуждения HermiT и экспорт графов PyVis.

  • agente.py: Автоматизированный агент пакетного выполнения, соединяющий Ollama с MCP-сервером.

  • agent_interactive.py: Интерактивный диалоговый REPL-агент для управления онтологией в реальном времени.

  • requirements.txt: Зависимости Python (owlready2, rdflib, pyvis).

  • graph.html: Экспортированная интерактивная HTML-визуализация графа (создается по запросу).

  • README.md: Архитектура проекта, документация по инструментам и инструкции по настройке.

Предварительные требования

  • ОС: macOS (Apple Silicon или Intel)

  • Python: 3.10 или выше

  • Ollama: Установлен и запущен локально

  • Java: OpenJDK / JRE (требуется Owlready2 для решателя HermiT)

Установка и настройка окружения

  1. Клонируйте репозиторий и перейдите в каталог проекта:

git clone [https://github.com/jairorodriguezarias/mcp-ontology-layer.git](https://github.com/jairorodriguezarias/mcp-ontology-layer.git)
cd mcp-ontology-layer
  1. Создайте и активируйте виртуальное окружение:

python3 -m venv venv
source venv/bin/activate
  1. Установите необходимые зависимости:

pip install -r requirements.txt

4 . Загрузите модель в Ollama:

ollama pull glm-5.2:cloud
  1. Запустите демонстрацию агента:

python3 agente.py

6 .

python3 agent_interactive.py
  1. Визуализация графа знаний

open graph.html

Доступные инструменты MCP

  • list_classes

  • Параметры: Нет

  • Описание: Загружает core.owl и возвращает все зарегистрированные классы онтологии.

  • add_subclass

  • Параметры: new_class (строка, обязательный), parent_class (строка, обязательный)

  • Описание: Добавляет новый класс под существующим родительским классом и сохраняет обновленный граф RDF/XML на диск.

  • create_individual

  • Параметры: class_name (строка, обязательный), individual_id (строка, обязательный)

  • Описание: Создает конкретного индивида ABox, принадлежащего определенному классу.

  • check_consistency

  • Параметры: Нет

  • Описание: Запускает решатель логики описаний (DL) HermiT для проверки логической согласованности и обнаружения невыполнимых классов.

  • execute_sparql

  • Параметры: query (строка, обязательный)

  • Описание: Выполняет стандартный SPARQL-запрос W3C к графу знаний RDF.

  • export_graph

  • Параметры: output_html (строка, необязательный; по умолчанию: graph.html)

  • Описание: Создает интерактивную HTML-визуализацию графа онтологии с силовым расположением с помощью PyVis.

Maintenance

ActivityStale
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    C
    quality
    D
    maintenance
    A Model Context Protocol (MCP) server that connects GraphDB's SPARQL endpoints and Ollama models to Claude, enabling Claude to query and manipulate ontology data while leveraging various AI models.
    28
    3
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    MCP server for building and exploring OWL 2 ontologies using AI agents, with tools for axiom management, structural pattern matching, and persistent selections.
    25
    BSD 3-Clause