OWL-MCP について
OWL-MCP は、Web Ontology Language(OWL)のオントロジーを扱う MCP サーバーです。AI アシスタントからオントロジーを直接読み書きしたい研究者やセマンティック Web の利用者を対象としています。公理は関数型構文の文字列として扱われ、ディスク上のオントロジーファイルと同期されます。
主な機能
- 01MCP 経由での OWL 公理の検索・追加・削除
- 02OWL 関数型構文を用いた文字列ベースの API
- 03ディスク上のファイルと同期するインメモリモデル
- 04ファイル変更の検出と登録オブザーバーへの通知
- 05スレッドセーフなオントロジー操作
- 06よく使うオントロジーの設定管理
活用シーン
- 01AI アシスタントによるオントロジーの作成と公理の追加
- 02オントロジー内エンティティの可読ラベルの参照
- 03Protege と同じオントロジーファイルを並行して編集
MCP 対応
MCP サーバーとして、OWL 公理の検索・追加・削除に関する関数呼び出しを MCP クライアントに提供します。ドキュメントの構成例では、ホストとして Goose を使用しています。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
OWL-MCP
OWL-MCP は、Web Ontology Language(OWL)オントロジーを扱うための Model-Context-Protocol(MCP)サーバーです。
クイックスタート
ここでは、Goose で owl-mcp を使用する方法を説明しますが、MCP に対応する AI ホストであればどれでも使用できます。
Goose をインストールする
こちらから Goose のデスクトップ版または CLI 版をインストールできます。
手順に従って LLM プロバイダーを設定してください(Anthropic を推奨します)。
OWL-MCP 拡張機能をインストールする
次のリンクから直接インストールできます。
または、手動でインストールするには、Goose の拡張機能セクションで owlmcp の新しいエントリーを追加します。
uvx owl-mcp
次の動画では、手動での設定方法を説明しています。
試してみる
オントロジーの作成や、オントロジーへの公理の追加を依頼できます。
仕組み
MCP サーバーは、OWL の機能構文を使用して、OWL 公理の検索、追加、削除を行う関数呼び出しを提供します。各関数呼び出しには、ディスク上の OWL ファイルのパスが付随します。py-horned-owl がサポートする形式であればどれでも使用できます(OBO ガイドラインに従い、ソースには機能構文を推奨します)。
サーバーはオントロジーのインスタンスをメモリ上に保持し、ディスクと同期します。CRUD 操作を行うと、インメモリモデルが更新され、同時にディスクと同期されます。Protege を実行している場合、Protege もローカルディスクと同期し、更新内容を表示します。
このサーバーは OBO 形式のオントロジーを扱うのに適しています。OWL 文字列をクライアントに返す際、一般的な OBO 形式と同様に、不透明な ID のラベルが # コメントとして含まれます。
主な機能
- MCP サーバーとの統合:標準化された Model-Context-Protocol を使用して、AI アシスタントを OWL オントロジーに直接接続します
- スレッドセーフな操作:すべてのオントロジー操作はスレッドセーフであり、複数ユーザーの環境に適しています
- ファイル同期:ディスク上のオントロジーファイルへの変更を自動的に検出して同期します
- イベントベースの通知:オブザーバーを登録して、オントロジーへの変更の通知を受け取れます
- シンプルな文字列ベースの API:複雑なオブジェクトモデルを扱わずに、機能構文の文字列として OWL 公理を操作できます
- 設定システム:頻繁に使用するオントロジーの設定を保存および管理します
- ラベルのサポート:設定可能なアノテーションプロパティを使用して、エンティティの人間が読みやすいラベルにアクセスできます
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。

