JakubK/ProtegeMCP
If you are the rightful owner of ProtegeMCP and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.
The ProtegeMCP is a plugin for Protege that initiates a Model Context Protocol server, enabling ontology work and queries through Claude Desktop or any MCP-compatible LLM/Agent.
ProtegeMCP
Proof of Concept of Protege Plugin which starts Model Context Protocol server for Protege, allowing you to work on your ontology and query it with your Claude Desktop or any MCP compatible LLM/Agent.
Requirements
- .NET 10
- JavaSE-11+
How it works
At its core its just Protege plugin, serving Protege features via simple REST API. In final artifact plugin jar there is embedded MCP Server developed in dotnet which is consuming mentioned REST API. I had few attempts to have just java MCP Server, but I'm not very proficient with Java's ecosystem and dependency management, hence the dotnet + java approach.
Capabilities
All MCP Server capabilities are exposed as Tools.
Concepts - 4 tools
list-concepts- List all concepts present in current Ontologycreate-concept- Create new conceptrename-concept- Rename already existing conceptdelete-concept- Deletes/Removes concept from current Ontology
Concept Axioms - 3 tools
list-concept-axioms- List all axioms organized by category for given Concept in current Ontologyadd-concept-axiom- Assign Axiom to concept (equivalentClass, subClass, disjointClass, disjointUnionClass)remove-concept-axiom- Removes assigned Axiom from concept (equivalentClass, subClass, disjointClass, disjointUnionClass)
Object Properties - 5 tools
list-object-properties- List all Object Properties present in current Ontologycreate-object-property- Create new Object Propertyrename-object-property- Rename already existing Object Propertydelete-object-property- Deletes/Removes Object Property from current Ontologyset-object-property-characteristics- Set/Reset characteristics of given Object Property (functional, inverseFunctional, transitive, symmetric, asymmetric, reflexive, irreflexive)
Object Property Axioms - 3 tools
list-object-property-axioms- List all Object Property axioms for given Object Property organized by category (equivalentTo, subPropertyOf, inverseOf, domains, range, disjointWith, superPropertyOf)add-object-property-axiom- Add Object Property axiomdelete-object-property-axiom- Remove Object Property axiom
Individuals - 4 tools
list-individuals- List all Individuals present in current Ontologycreate-individual- Create new Individualdelete-individual- Delete individualrename-individual- Rename individual
Individual Properties - 10 tools
assign-type- Assign type (concept) to given individualremove-type- Remove type assignmentassign-same-individual- Denote that 2 individuals are actually the sameremove-same-individual- Remove same individual assignmentassign-different-individual- Denote that 2 individuals are separate onesremove-different-individual- Remove different individuals assignmentassign-object-property-assertion- Add Object Property assertion to individualremove-object-property-assertion- Remove Object Property assertionassign-negative-object-property-assertion- Add Negative Object Property Assertionremove-negative-object-property-assertion- Remove Negative Object Property Assertion
IO - 4 tools
get-current-ontology- Get the information about current ontology. Useful when working with multiple ones to make sure correct one gets updatednew-ontology- Create new window with new empty Ontologyopen-ontology- Opens Ontology from given file (supported by Protege). Switches current ontology to it.save-as-ontology- Saves the ontology