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.4.1.tar.gz (30.2 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.4.1-py3-none-any.whl (43.5 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for pymx-1.4.1.tar.gz
Algorithm Hash digest
SHA256 f8e76561d1223ca62d3af81d3fddd1d87eeea8a3906f936c51d6721ff4bb731d
MD5 32a1aef36824c017b4e0ab4d506ca721
BLAKE2b-256 3118c5336492b737eb3e483549029e2656147e78950ec85d0b4437003799e21b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pymx-1.4.1-py3-none-any.whl
  • Upload date:
  • Size: 43.5 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.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 49fc2ecd5e1f2d8482e7f431d03d4239410747ddd38cd6675ca5be5f20b1c5bd
MD5 aa915f35e3cd1935af03850321dd1fb6
BLAKE2b-256 c46ecfbdf279d5d0346a55a646bef242bd01dddd3573c78d2538f8804f7cb917

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