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 或更高版本
  2. 安装所需依赖:
    pip install -e .
    
  3. 如需开发环境,还需安装开发依赖:
    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 服务器添加新工具:

  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.2.2.tar.gz (26.1 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.2.2-py3-none-any.whl (38.0 kB view details)

Uploaded Python 3

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

Hashes for pymx-1.2.2.tar.gz
Algorithm Hash digest
SHA256 15de60500233ade2c929da729365c2430085b4506f05fec043d1850d5ffa370f
MD5 e6e30534dc4d257f26bb5f2ed0db592c
BLAKE2b-256 aca5251a78a47290e2e18692b0c8dd0cee17ecc8733d7f02d4c7b8cedc42292b

See more details on using hashes here.

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

Hashes for pymx-1.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 041bedbd5ba8861ce0c835b49d60cecdd4290e1a1babdaecd1adac1a8452a71a
MD5 b758f119c6805b126659154a51407f43
BLAKE2b-256 1aa196f9cc183904e86a497a1ce0d79e5d53e4efb37fc4503373652948aac849

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