OpenKer Modeler MCP Server
by cslv1
README.md
# 🛠️ OpenKer Modeler
**OpenKer Modeler** is an AI-native, Model-Based Systems Engineering (MBSE) platform designed to maintain a single source of truth using plain-text **SysML v2** notation. The name "Ker" is derived from **KerML** (Kernel Modeling Language), the foundational syntax of the SysML v2 standard that enables precise, formal, and machine-readable systems modeling.
## 🚀 Key Features
- **Git-Backed Truth**: Models are stored as `.sysml` files in Git, making them natively readable and editable by both Humans and AI agents.
- **AI-Native Interoperability**: Built-in **Model Context Protocol (MCP)** server allows AI agents (like OpenClaw or Claude) to traverse the model graph, query requirements, and perform impact analysis.
- **Automated Reporting**: A high-fidelity reporting engine that automatically synthesizes SysML models into professional PDF System Engineering reports (including BDD, IBD, RD, Use Case, Activity, and State Machine diagrams).
- **EARS Framework**: Built-in support for the "Easy Approach to Requirements Syntax" for formal specification rigor.
## 📁 Project Structure
- `/models`: The authoritative SysML v2 textual model files (`.sysml`).
- `/mcp-server`: The Model Context Protocol (MCP) implementation for agent access.
- `/docs`: Generated Markdown reports and diagram PNGs/PDFs.
- `/assets`: Static resources like branding and logos.
- `reporting_engine.js`: The automated documentation and diagram synthesis engine.
## 🤖 For AI Agents
This repository is designed to be "Agent-First." If you are an AI assistant:
1. Read `models/*.sysml` to understand the system architecture.
2. Use the MCP server to perform traceability checks and impact analysis.
3. Update the `.sysml` files directly to refine the architecture or requirements.
4. Run `npm run generate-docs` to regenerate diagrams and documentation.
## 👥 For Human Engineers
### Prerequisites
- **Node.js**: Installed on your system (v18+).
- **markdown-pdf**: Install globally via `npm install -g markdown-pdf`.
### Usage
1. Clone the repository.
2. Run `npm install` to set up dependencies.
3. Edit the `.sysml` files in the `/models` directory.
4. Run the reporting engine:
```bash
npm run generate-docs
npm run generate-pdf
```
This will read the `OpenKer.sysml` model and output the updated specifications into the `docs/` folder.
## 📜 License
This project is licensed under the **GNU General Public License v3.0 (GPL-3.0)**. See the `LICENSE` file for details.