项目简介
OpenIntent (OIML) MCP 服务端是一个基于 Model Context Protocol (MCP) 构建的后端服务,专注于为大型语言模型 (LLM) 客户端提供结构化上下文和工具。它通过托管和管理 OIML 意图文件和项目配置的模式定义,并提供相应的验证和加载工具,确保 AI 代理在代码生成和开发过程中使用一致、可审计的标准。
主要功能点
- 意图文件验证: 验证 OIML 意图文件('.oiml.yaml'),确保其符合 OpenIntent 规范,帮助 AI 代理理解开发需求。
- 项目配置验证: 验证 'project.yaml' 项目配置文件,确保其符合项目模式定义,为 AI 代理提供项目环境的准确信息。
- 项目配置加载: 加载并解析 'project.yaml' 文件,将项目元数据(如框架、路径、数据库配置)提供给 AI 代理。
- 模式缓存管理: 管理 OIML 模式定义的本地缓存,支持列出、清除特定或所有缓存,确保验证工具的高效运行。
- 标准化通信: 通过 JSON-RPC 协议与 LLM 客户端通信,以标准化的方式提供上下文信息和功能调用。
安装步骤
- 克隆仓库:
git clone https://github.com/openintent/oiml.git cd oiml - 安装依赖:
npm install # 或 pnpm install 或 yarn install - 构建项目:
npm run build # 或 pnpm build 或 yarn build - 运行 MCP 服务器:
服务器默认运行在 'http://localhost:3000'。您可以通过设置 'PORT' 环境变量来更改端口。npm start # 或 pnpm start 或 yarn start
服务器配置
MCP 客户端连接此服务器时,需要配置以下 JSON 格式信息。此配置假设 MCP 客户端将作为子进程启动该服务器并通过标准输入输出 (Stdio) 进行通信:
{ "name": "oiml-mcp", // 服务器名称,建议保持一致 "command": "node", // 启动MCP服务器的命令 "args": [ // 命令的参数 "/path/to/your/oiml/repository/dist/mcp/src/server.js" // 请替换为 OIML 仓库下 MCP 服务端编译后的 JavaScript 文件的**绝对路径**。 ], "transport": { "kind": "stdio" // 默认通过 stdio 协议通信 } }
注意: 如果 MCP 客户端选择通过 HTTP/HTTPS 连接,则需要配置 'kind: "http"' 或 'kind: "https"',并提供相应的 'url'(例如 'http://localhost:3000/mcp')。
基本使用方法
一旦 MCP 服务器运行,LLM 客户端即可通过其提供的工具('validate_intent', 'validate_project', 'load_project', 'manage_schema_cache')与 OIML 意图和项目配置进行交互。
示例:验证意图文件 LLM 客户端可以调用 'validate_intent' 工具,将 OIML 意图文件的内容作为参数传入,以检查其有效性。
LLM 客户端调用示例 (逻辑示意):
{ "jsonrpc": "2.0", "id": 1, "method": "tool_code", "params": { "toolName": "validate_intent", "args": { "content": "version: 0.1.3\nintents:\n - kind: add_entity\n scope: data\n entity: User\n fields: [{ name: id, type: integer, required: true }]", "format": "yaml" } } }
服务器将返回一个响应,指示意图文件是否有效以及任何验证错误。
示例:加载项目配置 LLM 客户端可以调用 'load_project' 工具来获取当前项目的 'project.yaml' 配置,从而了解项目的技术栈、文件路径等信息。
LLM 客户端调用示例 (逻辑示意):
{ "jsonrpc": "2.0", "id": 2, "method": "tool_code", "params": { "toolName": "load_project", "args": {} // 可选提供 project_path 参数 } }
服务器将返回包含项目配置解析后内容的响应。
信息
分类
开发者工具