A mendix extension library implement mcp server.
Project description
Mendix Python 扩展
本项目为 Mendix Studio Pro 提供 Python 扩展,允许开发者通过 Python 脚本与 IDE 进行交互。它实现了 MCP 服务器,用于与 Mendix Studio Pro 扩展 API 进行通信。
功能特性
- 读取和修改 Mendix Studio Pro 中的文档内容
- 通过事件驱动架构监听文档变更
- 使用 Python 扩展 Mendix Studio Pro 功能
- 基于 MCP (Modular Command Protocol) 的通信机制
安装
- 从 Mendix 市场安装 extension mcp server
- 【可选,如果你需要开发验证】从 Mendix 市场安装 StudioPro Python Extension
- 安装所需的 Python 包:
pip install pymx
开发
开发环境搭建请参考 DEVELOPMENT.md:
- 安装 Python 3.11 或更高版本
- 安装所需依赖:
pip install -e .
- 如需开发环境,还需安装开发依赖:
pip install -e ".[dev]"
项目结构
pymx/
├── context.py # 全局上下文访问
├── document.py # 文档对象模型,用于内容读写和监听
├── ide/ # IDE 交互核心逻辑
├── mcp/ # MCP 服务器实现
│ ├── main.py # C# 调用的主入口点
│ ├── server.py # 核心服务器设置和运行逻辑
│ ├── mendix_context.py # 存储从 C# 传入的全局 Mendix 服务对象
│ ├── tool_registry.py # 共享的 MCP 实例和工具注册逻辑
│ └── tools/ # 单个工具实现
│ ├── __init__.py # 工具的自动发现和注册
│ └── *.py # 单个工具文件 (例如 mendix_constant.py)
└── model/ # 数据模型和业务逻辑
使用方法
详细使用说明请参阅以下资源:
资源
操作过程
- 打开项目(需要开启扩展--enable-extension-development)
&"D:\Program Files\Mendix\10.24.1.74050\modeler\studiopro.exe" --enable-extension-development "D:\Users\Wengao.Liu\Mendix\App\App.mpr"
- 安装python 3.11 或更高版本
- 安装依赖包 pip install pymx
- 安装 extension mcp server 扩展
- 启动 MCP 服务
- 配置 vscode mcp
- 使用
添加新工具
向 MCP 服务器添加新工具:
- 在
pymx/mcp/tools/目录下创建新的 Python 文件 (例如mendix_yourtool.py) - 导入共享的 MCP 实例:
from ..tool_registry import mcp
- 使用
@mcp.tool()装饰器定义工具函数:@mcp.tool(name="your_tool_name", description="工具描述") async def your_tool_function(parameters): # 工具实现 return result
- 工具将在服务器启动时自动发现和注册。
文档
使用 kb.md 作为知识库进行开发。
Agent prompt: '用工具创建模型'
贡献
请阅读 DEVELOPMENT.md 了解我们的行为准则和提交拉取请求的流程。
许可证
该项目基于 MIT 许可证授权 - 有关详细信息,请参阅 LICENSE 文件。
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pymx-1.2.2.tar.gz.
File metadata
- Download URL: pymx-1.2.2.tar.gz
- Upload date:
- Size: 26.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
15de60500233ade2c929da729365c2430085b4506f05fec043d1850d5ffa370f
|
|
| MD5 |
e6e30534dc4d257f26bb5f2ed0db592c
|
|
| BLAKE2b-256 |
aca5251a78a47290e2e18692b0c8dd0cee17ecc8733d7f02d4c7b8cedc42292b
|
File details
Details for the file pymx-1.2.2-py3-none-any.whl.
File metadata
- Download URL: pymx-1.2.2-py3-none-any.whl
- Upload date:
- Size: 38.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
041bedbd5ba8861ce0c835b49d60cecdd4290e1a1babdaecd1adac1a8452a71a
|
|
| MD5 |
b758f119c6805b126659154a51407f43
|
|
| BLAKE2b-256 |
1aa196f9cc183904e86a497a1ce0d79e5d53e4efb37fc4503373652948aac849
|