[x3d-public] X3D and Model Context Protocol (MCP)
John Carlson
yottzumm at gmail.com
Mon Apr 20 23:24:54 PDT 2026
Note, here’s the Saxonica page with the HE License, previously I was
reporting Google Search results:
https://www.saxonica.com/html/documentation12/about/packages.html
<https://www.saxonica.com/html/documentation12/about/packages.html#:~:text=SaxonC%20%28on%20the%20Native%20platform%29%20is%20distributed,and%20require%20activation%20by%20a%20license%20key.>
On Tue, Apr 21, 2026 at 1:19 AM John Carlson <yottzumm at gmail.com> wrote:
> Great work here, foundational technology is still required, can we use MCP
> to debug X3D stylesheets, X3DUOM or schemas? Can these be broken up into
> more manageable, extensible and reusable pieces? Are they? Does a
> stylesheet MCP exist? XMLSpy?
>
> Interesting, I didn’t realize lxml came with style sheet processing (XSLT
> 1.0, sigh), validation and schematron! Reading XML into x3d.py! That’s
> great progress. Now I can create a typical JSON to DOM converter! That
> sounds like a task I could dig into!
>
> On JSON, Is there head metadata or just scene Metadata*? If someone has a
> performant Python JSON schema validator, I’m all ears! “Validate an X3D
> document (XML or JSON) against the XSD schema.” Frankly, it looks like the
> MCP validates JSON surface structure, I’m not seeing a schema validator for
> JSON. Try misspelling “head” or “meta” and see what happens to your
> validation. I haven’t looked at the whole code base yet. I need to review
> JSON output from x3d.py (recent versions), but…..
>
> It would seem like Saxonica would have an interesting Python stylesheet
> solution:
>
> Well, there’s Home Edition under Mozilla Public License!
>
>
> - pip install saxonche
>
> https://www.saxonica.com/products/PD12/SaxonC-HE.pdf
>
> This seems like a good solution which protects Web3D Consortium
> investments.
>
> On the other hand, there’s supply chain risks.
>
> I am hopeful that converting X3D JSON into X3D DOM or X3D XML with python
> will soon be possible!
>
> Collaboration welcome!
>
> John
>
> On Mon, Apr 20, 2026 at 10:58 PM Don Brutzman via x3d-public <
> x3d-public at web3d.org> wrote:
>
>> For our next X3D AI Working Group meeting...
>>
>> - Tuesday 21 April 2026, 0800 pacific
>> -
>> https://www.web3d.org/calendar/2800/x3d-ai-working-group-meeting/2025-11-19t160000-2025-12-16t160000-2026-01-20t160000
>>
>> ... am hoping to briefly present the following significant work by Rick
>> Lentz.
>>
>> The Model Context Protocol (MCP)
>>
>> - Model Context Protocol - Wikipedia
>> <https://en.wikipedia.org/wiki/Model_Context_Protocol>
>> - https://en.wikipedia.org/wiki/Model_Context_Protocol
>>
>> The *Model Context Protocol* (*MCP*) is an open standard
>>> <https://en.wikipedia.org/wiki/Open_standard> and open-source
>>> <https://en.wikipedia.org/wiki/Open-source> framework
>>> <https://en.wikipedia.org/wiki/Software_framework> introduced by
>>> Anthropic <https://en.wikipedia.org/wiki/Anthropic> in November 2024 to
>>> standardize the way artificial intelligence
>>> <https://en.wikipedia.org/wiki/Artificial_intelligence> (AI) systems
>>> like large language models
>>> <https://en.wikipedia.org/wiki/Large_language_model> (LLMs) integrate
>>> and share data with external tools, systems, and data sources.[1]
>>> <https://en.wikipedia.org/wiki/Model_Context_Protocol#cite_note-venturebeat-2024-11-25-1> MCP
>>> provides a universal interface for reading files, executing functions, and
>>> handling contextual prompts.[2]
>>> <https://en.wikipedia.org/wiki/Model_Context_Protocol#cite_note-venturebeat_2025-03-27-2> Following
>>> its announcement, the protocol was adopted by major AI providers, including
>>> OpenAI <https://en.wikipedia.org/wiki/OpenAI> and Google DeepMind
>>> <https://en.wikipedia.org/wiki/Google_DeepMind>.[3]
>>> <https://en.wikipedia.org/wiki/Model_Context_Protocol#cite_note-TechCrunch_2025-03-25-3>
>>> [4]
>>> <https://en.wikipedia.org/wiki/Model_Context_Protocol#cite_note-TechCrunch_2025-04-09-4>
>>
>>
>> Rick has created an open-source MCP project for X3D, and has gotten some
>> interesting results using it.
>>
>> - ricklentz/x3d_mcp <https://github.com/ricklentz/x3d_mcp>
>> - https://github.com/ricklentz/x3d_mcp
>> - https://github.com/ricklentz/x3d_mcp/blob/main/README.md
>>
>> x3d_mcp <https://github.com/ricklentz/x3d_mcp#x3d_mcp>
>>>
>>> MCP server for generating, validating, and converting valid X3D content.
>>> Built on the official Web3D Consortium toolchain.
>>> Overview <https://github.com/ricklentz/x3d_mcp#overview>
>>>
>>> x3d_mcp exposes X3D capabilities to LLMs via the Model Context Protocol
>>> (MCP). It generates spec-compliant X3D scenes in XML, JSON, and ClassicVRML
>>> encodings, with full validation against the ISO/IEC 19775 standard.
>>>
>>> LLMs have spatial and visual understanding of 3D space. X3D (Extensible
>>> 3D) provides a declarative, XML-based means to express that understanding
>>> as valid, interoperable 3D content. This server bridges the two.
>>>
>>> No X3D MCP server exists in the ecosystem. This is the first.
>>>
>> Design Decisions
>> <https://github.com/ricklentz/x3d_mcp/blob/main/README.md#design-decisions>
>> Language: Python
>> <https://github.com/ricklentz/x3d_mcp/blob/main/README.md#language-python>
>>
>> - x3d.py (PyPI x3d v4.0.65, BSD-3) -- official Web3D Consortium
>> package, auto-generated from X3DUOM
>> - lxml -- XSD and ISO-Schematron validation, 42x faster than
>> pure-Python alternatives
>> - FastMCP (PyPI mcp) -- official Anthropic MCP SDK, decorator-based
>> tool registration
>> - All dependencies are BSD/MIT licensed. Project uses Web3D
>> Consortium Open-Source License <https://www.web3d.org/license>.
>>
>> Two Operating Modes
>> <https://github.com/ricklentz/x3d_mcp/blob/main/README.md#two-operating-modes>
>>
>> Workflow Mode -- high-level tools for end-to-end scene generation. The
>> LLM describes what it wants; the server handles construction, validation,
>> and serialization. Fewer tool calls, higher reliability.
>>
>> Granular Mode -- low-level tools for node-by-node scene construction.
>> The LLM builds the scene graph incrementally: create nodes, set fields, add
>> children, define routes. Full control for complex or iterative workflows.
>>
>> Both modes validate output before returning it.
>> JSON Conversion
>> <https://github.com/ricklentz/x3d_mcp/blob/main/README.md#json-conversion>
>>
>> JSON and ClassicVRML encoding uses x3d.py's built-in .JSON() and .VRML() serialization
>> methods. These are auto-generated from X3DUOM and produce spec-compliant
>> output directly. The Web3D Consortium's X3dToJson.xslt is XSLT 2.0,
>> which is incompatible with lxml (XSLT 1.0 only), so we use the native
>> Python serialization instead.
>> Validation Pipeline
>> <https://github.com/ricklentz/x3d_mcp/blob/main/README.md#validation-pipeline>
>>
>> Three layers, matching the X3D specification's own validation hierarchy:
>>
>> 1. Type checking at generation time -- x3d.py enforces field types,
>> ranges, and enumerations during scene construction
>> 2. XSD validation -- lxml.etree.XMLSchema against x3d-4.1.xsd (bundled
>> with companion schemas)
>> 3. JSON structural validation -- checks for required X3D root,
>> @version, @profile, and Scene keys
>>
>> X3DUOM as Foundation
>> <https://github.com/ricklentz/x3d_mcp/blob/main/README.md#x3duom-as-foundation>
>>
>> The X3dUnifiedObjectModel-4.1.xml (X3DUOM) is the single source of truth
>> for all 265 concrete nodes (5 new in 4.1: EnvironmentLight, FontLibrary,
>> HAnimPose, InlineGeometry, Tangent), abstract types, simple types, and
>> statements. It is parsed at build time to generate:
>>
>> - Node/field metadata lookup tables
>> - containerField mapping rules
>> - Enumeration value sets
>> - Default value tables
>> - Inheritance hierarchy
>>
>> [etc. etc. etc.]
>> _________________
>>
>> This certainly looks interesting and already connects a thorough list of
>> X3D resources. He is willing to transition (not just fork) this project on
>> GitHub as an open-access Web3D Consortium project if the X3D AI group is
>> willing to work with it. This project is already shared publicly under the
>> Web3D Consortium Open-Source License.
>>
>> All reactions and feedback welcome. Have fun with MCP, and LLM model
>> creation using X3D! 😁 👍
>>
>> all the best, Don
>> --
>> X3D Graphics, Maritime Robotics, Distributed Simulation
>> Relative Motion Consulting https://RelativeMotion.info
>> _______________________________________________
>> x3d-public mailing list
>> x3d-public at web3d.org
>> http://web3d.org/mailman/listinfo/x3d-public_web3d.org
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20260421/2e6ee68b/attachment-0001.html>
More information about the x3d-public
mailing list