# Project: Blockbench MCP Plugin
# Repository: https://github.com/jasonjgardner/blockbench-mcp-plugin
# Author: Jason Gardner
# Type: Blockbench Plugin
# Target Platform: Minecraft + Blockbench

## Summary
This is a plugin for Blockbench that integrates with the Model Context Protocol (MCP). It enables automated and contextual manipulation of 3D models using LLM-driven workflows. It is designed to assist with structured model generation, property editing, and potential export logic for downstream use.

## Key Objectives
- Connect Blockbench’s internal model representation to LLMs using a structured protocol (MCP).
- Enable structured data exchange: import/export model metadata, geometry, animations, and textures.
- Allow scripted or conversational workflows with AI agents to modify models in-place.

## Dependencies
- Blockbench Plugin API (JavaScript-based)
- Model Context Protocol (specification reference needed)
- Three.js (via Blockbench)
- Optionally, APIs for communication with a local or remote LLM agent

## Features (Planned / In Progress)
- [x] MCP schema parsing and validation
- [ ] AI-assisted property editing (name, scale, origin, visibility, etc.)
- [ ] AI-assisted animation creation or modification
- [ ] Export geometry or metadata in MCP-compliant format
- [ ] Basic UI integration (side panel, buttons, notifications)
- [ ] LLM interface (agent chat or command-based interaction)

## Development Setup
1. Clone this repository into the Blockbench plugins folder or load it via `Plugins > Load Plugin from File`.
2. Use Blockbench's developer mode for live reloading and debugging.
3. The main entry point is `index.ts`.
4. Enable logging in the developer console (`View > Developer Tools`) to track plugin actions.

## Notes for LLM Tools
- Focus on manipulating models through the Blockbench API (`Blockbench.model`, `Group`, `Cube`, `Outliner`, etc.)
- MCP references should include object definitions, context-specific logic, and any validation rules.
- Maintain two-way sync between the Blockbench UI state and MCP object model.
- LLM tools can assist in generating plugin UI code (e.g., dialogs, sidebars) or creating MCP-compatible payloads.

## Plugin API Reference
- Official: https://www.blockbench.net/wiki
- Common classes: `new Action()`, `new Dialog()`, `Blockbench.showQuickMessage()`
- Typical usage patterns involve:
  - Registering actions with `MenuBar.addAction`
  - Manipulating models via `Outliner`, `selected`, or `Project` state
  - Reading and writing metadata with `model.getProperty()` or `model.format`

## License
MIT License

## Related Projects
- JannisX11/Blockbench
- Model Context Protocol (concept/protocol spec)

# End of LLM.txt
