内容
FML 本地服务器
这是一个本地的 MCP 服务器,允许您直接从像 Claude Desktop 这样的 AI 助手与 FML 联邦进行交互。启动后,您可以加载模型、运行逻辑,并通过自然语言与 FML 文件交互。
---
## 步骤 1 — 构建项目
在项目根目录下打开 PowerShell 或 CMD 并运行:
```bat
.\gradlew.bat build
```
就这样。您需要的一切都将在 `build\` 下生成。
---
## 步骤 2 — 连接到 Claude Desktop
打开您的 Claude Desktop 配置文件(通常位于 `%APPDATA%\Claude\claude_desktop_config.json`)并添加服务器条目:
```json
{
"mcpServers": {
"fml-mcp-server": {
"command": "java",
"args": [
"-jar",
"C:\\...\\openflexo-fml-mcp-server\\fml-mcp-server\\build\\libs\\fml-mcp-server-2.99-SNAPSHOT.jar",
"--transport",
"stdio",
"--rc",
"C:\\...\\openflexo-fml-mcp-server\\fml-mcp-server\\src\\test\\resources"
],
"env": {}
}
},
}
```
> 将路径替换为您克隆此存储库的位置。
> 您可以通过进入 Claude Desktop 的设置并点击底部的“打开配置文件”找到配置文件。

---
## 步骤 3 — 开始对话
一旦 Claude Desktop 检测到服务器,您将在工具面板中看到它被列出。

现在,您可以与您的 FML 模型对话。例如:
- *"加载 StudentFederation 并向我展示学生"*
- *"运行 Calculator,输入 X 和 Y"*
- *"MaintenanceFederation 跟踪什么?"*

---
## 可用的示例模型
所有示例模型都已准备好使用,位于 `src\test\resources\FML`:
| 模型 | 功能描述 |
|---|---|
| `HelloFML.fml` | 基本的 Hello World,适合作为第一个测试 |
| `Calculator.fml` | 简单的算术运算 |
| `StudentFederation.fml` | 处理学生 CSV 数据 |
| `MaintenanceFederation.fml` | 维护日志示例 |
| `ManufacturingFederation.fml` | 生产过程模型 |
| `WorkflowDemo.fml` | 工作流步骤演示 |
---
## 可用的工具
这些是服务器向您的 AI 助手公开的工具。Claude 将根据您的请求自动选择正确的工具。
| 工具 | 功能描述 |
|---|---|
| `ping` | 检查服务器是否正常运行并响应 |
| `list_fml_models` | 列出资源中心中可用的所有 FML 模型 |
| `load_fml_file` | 加载 FML 文件,以便您可以使用它 |
| `validate_fml_file` | 验证 FML 文件并报告任何错误 |
| `write_fml_file` | 写入或保存 FML 文件 |
| `write_file` | 将通用文件写入磁盘 |
| `describe_concept` | 描述加载模型中的概念 |
| `list_resource_centers` | 列出所有已注册的资源中心 |
| `add_resource_center` | 按路径添加新的资源中心 |
| `bind_resource` | 将资源绑定到模型 |
| `reload_model` | 如果模型在磁盘上发生变化,则重新加载模型 |
| `create_instance` | 创建概念的新实例 |
| `initialize_instance` | 在实例上运行初始化逻辑 |
| `destroy_instance` | 销毁现有实例 |
| `list_instances` | 列出概念的所有现有实例 |
| `get_instance_state` | 返回实例的当前状态 |
| `query_instances` | 使用条件或过滤器查询实例 |
| `get_property` | 从实例获取属性值 |
| `set_property` | 在实例上设置属性值 |
| `call_behaviour` | 在实例上调用行为(方法) |
| `batch_call_behaviour` | 一次调用多个行为 |
| `execute_workflow` | 执行模型中定义的工作流 |
---
## 遇到问题?
- 确保构建完成且没有错误后再启动 Claude Desktop
- 再次检查配置文件中的 jar 路径 - 它需要是完整的绝对路径
- 编辑配置文件后重启