Skip to main content

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) 的通信机制

安装

  1. 从 Mendix 市场安装 extension mcp server
  2. 【可选,如果你需要开发验证】从 Mendix 市场安装 StudioPro Python Extension
  3. 安装所需的 Python 包:
    pip install pymx
    

开发

开发环境搭建请参考 DEVELOPMENT.md

  1. 安装 Python 3.11 或更高版本,正常会自动检测,也可以用环境变量PYTHONNET_PYDLL来手动指定
  2. 安装所需依赖:
    pip install -e .
    
  3. 如需开发环境,还需安装开发依赖:
    pip install -e ".[dev]"
    

troubleshooting

Help->Open Log File Directory-> log.txt 复制内容发给开发者定位问题

项目结构

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 服务器添加新工具:

  1. pymx/mcp/tools/ 目录下创建新的 Python 文件 (例如 mendix_yourtool.py)
  2. 导入共享的 MCP 实例:
    from ..tool_registry import mcp
    
  3. 使用 @mcp.tool() 装饰器定义工具函数:
    @mcp.tool(name="your_tool_name", description="工具描述")
    async def your_tool_function(parameters):
        # 工具实现
        return result
    
  4. 工具将在服务器启动时自动发现和注册。

文档

使用 kb.md 作为知识库进行开发。

Agent prompt: '用工具创建模型'

贡献

请阅读 DEVELOPMENT.md 了解我们的行为准则和提交拉取请求的流程。

许可证

该项目基于 MIT 许可证授权 - 有关详细信息,请参阅 LICENSE 文件。

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pymx-1.3.1.tar.gz (28.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pymx-1.3.1-py3-none-any.whl (41.2 kB view details)

Uploaded Python 3

File details

Details for the file pymx-1.3.1.tar.gz.

File metadata

  • Download URL: pymx-1.3.1.tar.gz
  • Upload date:
  • Size: 28.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for pymx-1.3.1.tar.gz
Algorithm Hash digest
SHA256 112653f074738a4e9172ad3ff63ce7808f16c772e91e9dc46ba3d1d383495dbe
MD5 d6bfe10a89a6ffd74228d4bd97861d6c
BLAKE2b-256 10358d64b21e730ae63b5ef3975239dd22a13752351be5847795a78c31fece42

See more details on using hashes here.

File details

Details for the file pymx-1.3.1-py3-none-any.whl.

File metadata

  • Download URL: pymx-1.3.1-py3-none-any.whl
  • Upload date:
  • Size: 41.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for pymx-1.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 9e1aba8b013da853f069e968f73805a92c7472f6272b39718dc65c3e73b2b6d5
MD5 44633f93bd480a66961b13df52e02bbc
BLAKE2b-256 9d5c3c84c7f7db1969ac4779ea853a23378c9892da7037e7457bdfaf1d1618a9

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page