Skip to main content
Glama
README.md
# OneTech MCP Server

[![NPM Version](https://img.shields.io/npm/v/@jordnlvr/onetech-mcp-server)](https://www.npmjs.com/package/@jordnlvr/onetech-mcp-server)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

**Extract and document Mendix Studio Pro modules via Model Context Protocol (MCP)**

OneTech MCP Server enables AI assistants like GitHub Copilot to interrogate local Mendix `.mpr` files and extract comprehensive module documentation including domain models, pages, microflows, and enumerations.

## šŸš€ Quick Start

### Install Globally (Recommended)

```bash
npm install -g @jordnlvr/onetech-mcp-server
```

### Or Use with NPX (No Install)

```bash
npx @jordnlvr/onetech-mcp-server
```

### Configure in VS Code

Add to your VS Code `settings.json`:

```json
{
	"github.copilot.chat.mcp.enabled": true,
	"github.copilot.chat.mcp.servers": {
		"onetech": {
			"command": "npx",
			"args": ["@jordnlvr/onetech-mcp-server"]
		}
	}
}
```

Or use global install:

```json
{
	"github.copilot.chat.mcp.enabled": true,
	"github.copilot.chat.mcp.servers": {
		"onetech": {
			"command": "onetech-mcp-server"
		}
	}
}
```

## šŸ“š Usage

Once configured, use GitHub Copilot to extract module documentation:

```
You: "Extract the RequestHub module from D:\Projects\OneTech.mpr"

Copilot: [Uses onetech_extract_module tool]
āœ… Successfully extracted 4 files from module 'RequestHub':
  - DomainModel.json (57KB)
  - Pages.json (42KB)
  - Microflows.json (0KB)
  - Enumerations.json (4KB)
```

## šŸ› ļø Available Tools

### `onetech_extract_module`

Extracts domain model, pages, microflows, and enumerations from a Mendix module using `mx.exe`.

**Parameters:**

-  `mprPath` (required): Absolute path to the `.mpr` file
-  `moduleName` (required): Name of the module to extract
-  `outputPath` (required): Absolute path to output directory for JSON files
-  `mxPath` (optional): Path to `mx.exe` (default: `D:\Program Files\Mendix\11.3.0.80734\modeler\mx.exe`)

**Returns:**

-  JSON files containing complete module structure
-  File sizes and extraction status
-  Success/error messages

## šŸ“‹ Requirements

-  **Node.js**: >= 18.0.0
-  **Mendix Studio Pro**: Version 11.3.0 or compatible
-  **mx.exe**: Command-line tool (included with Studio Pro)

## šŸ”’ Privacy & Security

-  **100% Local**: All processing happens on your machine
-  **No Cloud**: Your `.mpr` files never leave your computer
-  **No Tracking**: No telemetry, analytics, or data collection
-  **Open Source**: Full transparency, audit the code yourself

## šŸŽÆ Use Cases

-  **Documentation Generation**: Extract module structure for AI-powered docs
-  **Code Review**: Analyze domain models and microflows
-  **Migration Planning**: Understand module dependencies
-  **Teaching**: Demonstrate Mendix architecture to students
-  **Onboarding**: Help new developers understand existing apps

## šŸ“¦ What Gets Extracted

For each module, the tool generates 4 JSON files:

1. **DomainModel.json**: Entities, attributes, associations, validation rules
2. **Pages.json**: Page layouts, widgets, data sources
3. **Microflows.json**: Logic flows, actions, parameters
4. **Enumerations.json**: Enumeration types and values

## šŸ—ļø Architecture

```
Your Machine
ā”œā”€ā”€ VS Code + GitHub Copilot
ā”œā”€ā”€ OneTech MCP Server (this package)
│   └── Calls mx.exe with your .mpr file
ā”œā”€ā”€ mx.exe (Mendix CLI)
└── Your .mpr files (local, never uploaded)
```

## šŸ¤ Contributing

Built by the OneTech Team for the Mendix developer community.

**Found a bug?** Open an issue on GitHub.  
**Have a feature request?** Let us know!

## šŸ“„ License

MIT License - See LICENSE file for details

## šŸ”— Links

-  [Model Context Protocol](https://modelcontextprotocol.io/)
-  [Mendix Documentation](https://docs.mendix.com/)
-  [GitHub Repository](https://github.com/onetech/mcp-server)

---

**Version**: 0.1.0  
**Status**: MVP Release  
**First Mendix MCP Server** šŸŽ‰

TDQS

A3.5/5.0

Scored across 1 tool

Disambiguation5/5

With only one tool, there is no possibility of ambiguity or overlap between tools. The single tool has a clear, distinct purpose focused on extracting module structure from Mendix.

Naming Consistency5/5

The naming follows a consistent verb_noun pattern (onetech_extract_module), and with only one tool, there is no inconsistency to evaluate. The name clearly describes the action and target.

Tool Count2/5

A single tool is too few for most server purposes, as it severely limits functionality and suggests an incomplete or overly narrow scope. While the tool itself might be useful, the set lacks breadth for typical MCP server operations.

Completeness2/5

The server appears to target Mendix module extraction, but with only one tool, there are significant gaps. There is no coverage for creating, updating, deleting, or querying modules, making the surface incomplete for any robust workflow in this domain.