1. What Is This?
Mendix Expert is a self-learning AI assistant built on the Model Context Protocol (MCP). It plugs
directly into VS Code Copilot, Claude Desktop, Cursor, or any MCP-compatible AI tool.
| Feature |
Description |
| 700KB+ Knowledge |
Verified Mendix patterns, SDK code, best practices from official docs |
| Semantic Search |
Understands meaning via Pinecone + Azure OpenAI embeddings |
| Self-Learning |
Automatically harvests new Mendix documentation weekly |
| Project Analysis |
Analyzes your actual .mpr files and themes |
| Beast Mode |
Exhaustive multi-step research on demand |
2. Quick Start
Option A: npm (Recommended)
npm install -g @jordnlvr/mendix-mcp-server
mendix-mcp-server --help
Option B: Clone Repository
git clone https://github.com/jordnlvr/mendix-mcp-server.git
cd mendix-mcp-server && npm install
node src/index.js
3. Configuration Guide
VS Code (GitHub Copilot Chat)
File: %APPDATA%\Code\User\settings.json
{
"chat.mcp.servers": {
"mendix-expert": {
"type": "stdio",
"command": "node",
"args": ["D:/path/to/mendix-mcp-server/src/index.js"]
}
}
}
Usage: Type @mendix-expert in Copilot Chat, then your question.
Claude Desktop
File: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"mendix-expert": {
"command": "node",
"args": ["D:/path/to/mendix-mcp-server/src/index.js"]
}
}
}
Environment Variables (Optional - no config required!)
Good news: Works out of the box! For better semantic search:
# Option 1: OpenAI (most users)
OPENAI_API_KEY=sk-your-key-here
# Option 2: Azure OpenAI (enterprise)
AZURE_OPENAI_API_KEY=your_key
AZURE_OPENAI_ENDPOINT=https://your-endpoint.openai.azure.com
AZURE_OPENAI_EMBEDDING_DEPLOYMENT=text-embedding-ada-002
Knowledge & Search
| Tool |
Purpose |
Example |
query_mendix_knowledge |
Search knowledge base |
"How do I create a microflow?" |
search_mendix |
Hybrid keyword + semantic |
"nanoflow vs microflow performance" |
get_best_practice |
Get recommendations |
"security for REST APIs" |
Analysis
| Tool |
Purpose |
Example |
analyze_project |
Analyze .mpr file |
path="D:/MyApp/MyApp.mpr" |
analyze_theme |
Deep SCSS analysis |
path="D:/MyApp" format="detailed" |
System
| Tool |
Purpose |
hello |
Health check, version, stats |
harvest |
Fetch fresh Mendix docs |
get_usage_analytics |
See search patterns |
5. Power User Commands
General Questions
@mendix-expert How do I create a REST
service that returns JSON?
@mendix-expert Best practice for error
handling in microflows?
SDK Development
@mendix-expert Verified Platform SDK
code to create a microflow with loop
@mendix-expert StringTemplate pattern
for LogMessageAction
Theme & Styling
@mendix-expert Analyze my
design-properties.json for issues
@mendix-expert How to set up local
fonts instead of Google Fonts?
Troubleshooting
@mendix-expert Why might my REST
service return 403?
@mendix-expert Common causes of
"Object is not retrievable" error
6. Beast Mode
Beast Mode triggers exhaustive, multi-step research instead of quick answers.
How to Activate
@mendix-expert [BEAST MODE] Tell me everything about workflow best practices
@mendix-expert Do deep research on pluggable widget development
@mendix-expert Give me a comprehensive guide to Mendix security
Trigger words: deep, comprehensive, exhaustive,
everything about, complete guide, [BEAST MODE]
| ✅ Good For |
❌ Overkill For |
| Learning new Mendix features thoroughly |
Quick syntax questions |
| Preparing documentation/training |
Simple "how do I..." queries |
| Debugging complex issues |
Yes/no questions |
| SDK development with verified patterns |
Basic configuration lookups |
7. Integration Options
| Option |
Best For |
Setup |
| A Direct MCP |
Daily development, full features |
VS Code/Claude/Cursor config |
| B REST + ChatGPT |
Team sharing, browser access |
npm run rest + ngrok + Actions |
| C Smithery Cloud |
Zero setup, quick eval |
Install from smithery.ai |
8. Things to Watch Out For
⚠️ SDK Pattern Warnings
Always test SDK code in a scratch app first! Known gotchas:
model.allEntities() does NOT exist (use domainModel.load().entities)
StringTemplate.createIn() does NOT exist (use
createInLogMessageActionUnderMessageTemplate)
- Always delete flows BEFORE activities when modifying microflows
| Issue |
Cause |
Fix |
| Server not found |
Wrong path |
Use absolute paths with / |
| Stale answers |
Old knowledge |
npm run harvest |
| No semantic search |
Missing API keys |
Add to .env |
9. Maintenance & Operations
| Command |
Purpose |
npm start |
Run MCP server (stdio) |
npm run rest |
Run REST API (port 5050) |
npm run reindex |
Reindex vectors |
npm run reindex:force |
Full vector rebuild |
npm run harvest |
Fetch latest docs |
npm run maintenance |
Full maintenance cycle |
npm test |
Run tests |
10. Troubleshooting
Server Won't Start
node --version # Need 18+
rm -rf node_modules
npm install
node --check src/index.js
REST API Errors
netstat -ano | findstr :5050
taskkill /PID <pid> /F
npm run rest
⚡ Quick Reference Card
| I want to... |
Command |
| Ask a question |
@mendix-expert <question> |
| Analyze my project |
@mendix-expert analyze project at D:/path |
| Get best practices |
@mendix-expert best practice for <topic> |
| Deep research |
@mendix-expert [BEAST MODE] <topic> |
| Check status |
@mendix-expert hello |
| Update knowledge |
npm run harvest && npm run reindex |