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.3.tar.gz (25.9 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.3-py3-none-any.whl (37.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: pymx-1.2.3.tar.gz
  • Upload date:
  • Size: 25.9 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.3.tar.gz
Algorithm Hash digest
SHA256 b28c0595f068292cde22e9629a54543877e99bf2a56f0da3e7d12d4291cb0989
MD5 b41c888909da8e3635dd7fa1ff1f50e9
BLAKE2b-256 059332c28aafd351c66857d8f6d17c61fb526ecc6f613340846d393fa9e7b2ac

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pymx-1.2.3-py3-none-any.whl
  • Upload date:
  • Size: 37.8 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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 4d5d86781e1c060f1bc897419b8a995a798c8fde4ad13218cfcbfcf94da509de
MD5 aacbcd07c1d7899aa608f46a42a1157f
BLAKE2b-256 34e5e3219735ceaa0bdd0d6235be63fd39868a3080ed83f963cb4b6f084919a2

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