特征模型分析服务器

Flamapy MCP服务器是一个用于分析和验证UVL特征模型的工具,支持通过大型语言模型进行交互。

  • by flamapy
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 flamapy/flamapy-mcp

使用说明

flamapy mcp:一个flamapy mcp服务器

概述

用于Flamapy操作的模型上下文协议服务器。此服务器提供了通过大型语言模型分析、验证和与UVL(通用可变性语言)特征模型交互的工具。

请注意,flamapy mcp目前处于早期开发阶段。随着我们不断开发和改进服务器,功能和可用工具可能会发生变化和扩展。

工具

  1. atomic_sets

    • 标识原子集,原子集是在所有有效配置中始终一起出现的特征组。
    • 输入:
      • content (string):UVL(通用变异语言)特征模型内容。
    • 退货: 列表列表,其中每个内部列表表示一组原子特征。
  2. average_branching_factor

    • 计算每个父特征的子特征的平均数量,指示模型复杂性。
    • 输入:
      • content (字符串):UVL特征模型内容。
    • 退货: 以浮点数表示的平均分支因子。
  3. commonality

    • 测量有效配置中功能的频率,以百分比表示。
    • 输入:
      • content (字符串):UVL特征模型内容。
      • config_file (string):要计算共性的特征的名称。
    • 退货: 指定特征作为浮点数的共性。
  4. configurations

    • 从特征模型生成所有可能的有效配置。
    • 输入:
      • content (字符串):UVL特征模型内容。
    • 退货: 其中每个配置是特征名称到其布尔选择状态的字典(例如。, [{'FeatureA': True, 'FeatureB': False}, ...]).
  5. configurations_number

    • 返回要素模型的有效配置总数。
    • 输入:
      • content (字符串):UVL特征模型内容。
    • 退货: 整数形式的有效配置总数。
  6. core_features

    • 标识所有有效配置中存在的功能(强制功能)。
    • 输入:
      • content (字符串):UVL特征模型内容。
    • 退货: 核心要素名称列表。
  7. count_leafs

    • 统计模型中叶子特征(没有子特征)的数量。
    • 输入:
      • content (字符串):UVL特征模型内容。
    • 退货: 叶特征的数量为整数。
  8. dead_features

    • 标识不能包含在任何有效配置中的功能,通常表示模型错误。
    • 输入:
      • content (字符串):UVL特征模型内容。
    • 退货: 死亡特征名称列表。
  9. estimated_number_of_configurations

    • 通过考虑所有特征组合,忽略约束来估计配置的总数。
    • 输入:
      • content (字符串):UVL特征模型内容。
    • 退货: 配置的估计数量为整数。
  10. false_optional_features

    • 标识看似可选但由于模型约束而强制的功能。
    • 输入:
      • content (字符串):UVL特征模型内容。
    • 退货: 一系列错误的可选功能名称。
  11. feature_ancestors

    • 返回模型层次结构中给定特征的所有祖先特征。
    • 输入:
      • content (字符串):UVL特征模型内容。
      • config_file (string):要查找祖先的特征名称。
    • 退货: 祖先特征名称列表。
  12. feature_inclusion_probability

    • 计算每个特征包含在随机有效配置中的概率。
    • 输入:
      • content (字符串):UVL特征模型内容。
    • 退货: 将每个特征映射到其包含概率的字典(例如。, {'FeatureA': 1.0, 'FeatureB': 0.5}).
  13. filter

    • 根据指定条件筛选并选择配置子集。
    • 输入:
      • content (字符串):UVL特征模型内容。
      • config_file (string):过滤条件,格式为 .csvconf 内容。
    • 退货: 符合条件的配置列表。
  14. homogeneity

    • 衡量配置的相似性。值越高(接近1)表示配置越相似。
    • 输入:
      • content (字符串):UVL特征模型内容。
    • 退货: 同质性得分为浮点数。
  15. leaf_features

    • 标识模型中的所有叶特征(没有子特征的特征)。
    • 输入:
      • content (字符串):UVL特征模型内容。
    • 退货: 叶特征名称列表。
  16. max_depth

    • 查找特征树的最大深度,指示从根到叶的最长路径。
    • 输入:
      • content (字符串):UVL特征模型内容。
    • 退货: 最大深度为整数。
  17. sampling

    • 从特征模型生成有效配置的示例。
    • 输入:
      • content (字符串):UVL特征模型内容。
    • 退货: 示例配置列表,其中每个配置都是其布尔选择状态的特征名称字典。
  18. satisfiability

    • 检查特征模型是否有效,是否可以生成至少一个有效配置。
    • 输入:
      • content (字符串):UVL特征模型内容。
    • 退货: 一个布尔值,指示模型是否可满足。
  19. satisfiable_configuration

    • 根据模型的约束,检查选定特征的给定配置是否有效。
    • 输入:
      • content (字符串):UVL特征模型内容。
      • selected_features (List[str]):配置中被视为“选定”的功能名称列表。
    • 退货: 一个布尔值,指示配置是否可满足。
  20. unique_features

    • 标识属于唯一可变性点的特征。
    • 输入:
      • content (字符串):UVL特征模型内容。
    • 退货: 唯一功能名称列表。
  21. variability

    • 计算变异特征与特征总数的比率。
    • 输入:
      • content (字符串):UVL特征模型内容。
    • 退货: 浮动的可变性比率。
  22. variant_features

    • 识别既不是核心也不是死的功能(即真正的可选功能)。
    • 输入:
      • content (字符串):UVL特征模型内容。
    • 退货: 变体特征名称列表。

安装

使用紫外线(推荐)

使用时 uv 不需要特定的安装。我们将 使用 uvx 直接运行 flamapy mcp.

使用PIP

或者,您可以安装 flamapy-mcp 通过pip:

pip install flamapy-mcp

安装后,您可以使用以下命令将其作为脚本运行:

python -m flamapy_mcp

配置

使用Claude Desktop

将此添加到您的 claude_desktop_config.json:

Using uvx
"mcpServers": {
  "flamapy": {
    "command": "uvx",
    "args": ["flamapy-mcp"]
  }
}
Using pip installation
"mcpServers": {
  "flamapy": {
    "command": "python",
    "args": ["-m", "flamapy_mcp"]
  }
}
Using docker
"mcpServers": {
  "flamapy-mcp": {
    "command": "docker",
    "args": ["run", "--rm", "-i", "mcp/flamapy"]
  }
}

使用VS代码

为了快速安装,请使用下面的一键安装按钮之一。..

对于手动安装,请将以下JSON块添加到VS Code中的用户设置(JSON)文件中。您可以按 Ctrl + Shift + P 和打字 Preferences: Open Settings (JSON).

您可以选择将其添加到名为的文件中 .vscode/mcp.json 在您的工作空间中。这将允许您与他人共享配置。

请注意 mcp 中不需要密钥 .vscode/mcp.json 文件。

{
  "mcp": {
    "servers": {
      "flamapy": {
        "command": "uvx",
        "args": ["flamapy-mcp"]
      }
    }
  }
}

使用方法 泽德

添加到您的Zed settings.json:

Using uvx
"context_servers": [
  "flamapy-mcp": {
    "command": {
      "path": "uvx",
      "args": ["flamapy-mcp"]
    }
  }
],
Using pip installation
"context_servers": {
  "flamapy-mcp": {
    "command": {
      "path": "python",
      "args": ["-m", "flamapy_mcp"]
    }
  }
},

使用方法 Zencoder

  1. 转到Zencoder菜单(…)
  2. 从下拉菜单中,选择 Agent Tools
  3. 点击 Add Custom MCP
  4. 从下面添加名称(即flamapy)和服务器配置,并确保点击 Install 按钮
Using uvx
{
    "command": "uvx",
    "args": ["flamapy-mcp"]
}

调试

您可以使用MCP检查器调试服务器。对于uvx安装:

npx @modelcontextprotocol/inspector uvx flamapy-mcp

跑步 tail -n 20 -f ~/Library/Logs/Claude/mcp*.log 将显示服务器的日志,并可能 帮助您调试任何问题。

发展

如果您正在进行本地开发,可以使用MCP检查器测试您的更改。看 调试 用于运行说明。

合作者

与合作创建 数据库实验室 (数据库实验室), 激光束指示器.

许可证

此MCP服务器根据MIT许可证获得许可。这意味着您可以根据MIT许可证的条款和条件自由使用、修改和分发软件。有关更多详细信息,请参阅项目存储库中的LICENSE文件。