flamapy mcp:一个flamapy mcp服务器
概述
用于Flamapy操作的模型上下文协议服务器。此服务器提供了通过大型语言模型分析、验证和与UVL(通用可变性语言)特征模型交互的工具。
请注意,flamapy mcp目前处于早期开发阶段。随着我们不断开发和改进服务器,功能和可用工具可能会发生变化和扩展。
工具
atomic_sets
- 标识原子集,原子集是在所有有效配置中始终一起出现的特征组。 - 输入: - content (string):UVL(通用变异语言)特征模型内容。 - 退货: 列表列表,其中每个内部列表表示一组原子特征。
average_branching_factor
- 计算每个父特征的子特征的平均数量,指示模型复杂性。 - 输入: - content (字符串):UVL特征模型内容。 - 退货: 以浮点数表示的平均分支因子。
commonality
- 测量有效配置中功能的频率,以百分比表示。 - 输入: - content (字符串):UVL特征模型内容。 - config_file (string):要计算共性的特征的名称。 - 退货: 指定特征作为浮点数的共性。
configurations
- 从特征模型生成所有可能的有效配置。 - 输入: - content (字符串):UVL特征模型内容。 - 退货: 其中每个配置是特征名称到其布尔选择状态的字典(例如。, [{'FeatureA': True, 'FeatureB': False}, ...]).
configurations_number
- 返回要素模型的有效配置总数。 - 输入: - content (字符串):UVL特征模型内容。 - 退货: 整数形式的有效配置总数。
core_features
- 标识所有有效配置中存在的功能(强制功能)。 - 输入: - content (字符串):UVL特征模型内容。 - 退货: 核心要素名称列表。
count_leafs
- 统计模型中叶子特征(没有子特征)的数量。 - 输入: - content (字符串):UVL特征模型内容。 - 退货: 叶特征的数量为整数。
dead_features
- 标识不能包含在任何有效配置中的功能,通常表示模型错误。 - 输入: - content (字符串):UVL特征模型内容。 - 退货: 死亡特征名称列表。
estimated_number_of_configurations
- 通过考虑所有特征组合,忽略约束来估计配置的总数。 - 输入: - content (字符串):UVL特征模型内容。 - 退货: 配置的估计数量为整数。
false_optional_features
- 标识看似可选但由于模型约束而强制的功能。 - 输入: - content (字符串):UVL特征模型内容。 - 退货: 一系列错误的可选功能名称。
feature_ancestors
- 返回模型层次结构中给定特征的所有祖先特征。 - 输入: - content (字符串):UVL特征模型内容。 - config_file (string):要查找祖先的特征名称。 - 退货: 祖先特征名称列表。
feature_inclusion_probability
- 计算每个特征包含在随机有效配置中的概率。 - 输入: - content (字符串):UVL特征模型内容。 - 退货: 将每个特征映射到其包含概率的字典(例如。, {'FeatureA': 1.0, 'FeatureB': 0.5}).
filter
- 根据指定条件筛选并选择配置子集。 - 输入: - content (字符串):UVL特征模型内容。 - config_file (string):过滤条件,格式为 .csvconf 内容。 - 退货: 符合条件的配置列表。
homogeneity
- 衡量配置的相似性。值越高(接近1)表示配置越相似。 - 输入: - content (字符串):UVL特征模型内容。 - 退货: 同质性得分为浮点数。
leaf_features
- 标识模型中的所有叶特征(没有子特征的特征)。 - 输入: - content (字符串):UVL特征模型内容。 - 退货: 叶特征名称列表。
max_depth
- 查找特征树的最大深度,指示从根到叶的最长路径。 - 输入: - content (字符串):UVL特征模型内容。 - 退货: 最大深度为整数。
sampling
- 从特征模型生成有效配置的示例。 - 输入: - content (字符串):UVL特征模型内容。 - 退货: 示例配置列表,其中每个配置都是其布尔选择状态的特征名称字典。
satisfiability
- 检查特征模型是否有效,是否可以生成至少一个有效配置。 - 输入: - content (字符串):UVL特征模型内容。 - 退货: 一个布尔值,指示模型是否可满足。
satisfiable_configuration
- 根据模型的约束,检查选定特征的给定配置是否有效。 - 输入: - content (字符串):UVL特征模型内容。 - selected_features (List\[str\]):配置中被视为“选定”的功能名称列表。 - 退货: 一个布尔值,指示配置是否可满足。
unique_features
- 标识属于唯一可变性点的特征。 - 输入: - content (字符串):UVL特征模型内容。 - 退货: 唯一功能名称列表。
variability
- 计算变异特征与特征总数的比率。 - 输入: - content (字符串):UVL特征模型内容。 - 退货: 浮动的可变性比率。
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
- 转到Zencoder菜单(…)
- 从下拉菜单中,选择
Agent Tools - 点击
Add Custom MCP - 从下面添加名称(即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文件。
