使用说明
项目简介
本项目是一个基于Model Context Protocol (MCP) 的服务器实现,专注于提供订单管理服务。它包含两个核心功能:查询订单详情和更新订单状态。此MCP服务器设计与Llama-stack平台集成,并通过简单的API调用,使得LLM应用能够方便地访问和操作订单数据。
主要功能点
- 订单查询工具 (findorder): 允许LLM客户端通过订单ID查询订单的详细信息,包括订单状态和订单项。
- 订单更新工具 (updateorder): 允许LLM客户端根据订单ID更新订单的状态。
- 数据持久化: 使用PostgreSQL数据库存储订单数据,保证数据的可靠性。
- 易于集成: 设计为与Llama-stack平台无缝集成,方便LLM应用利用订单上下文信息。
安装步骤
由于本项目以Helm Chart形式部署在OpenShift集群上,以下是基本的安装步骤:
-
前提条件:
- 已安装OpenShift集群
- 已安装Helm CLI 和 OpenShift CLI (oc)
- 可以访问运行中的LLM (已测试llama32-3b)
- 可选:已安装 llama-stack-client CLI
-
登录OpenShift集群: 使用 OpenShift CLI 登录到您的 OpenShift 集群。
-
创建新项目: 创建一个新的OpenShift项目,例如 'llama-stack':
oc new-project llama-stack -
设置环境变量: 设置 LLM 连接相关的环境变量,替换 '???' 为您的 LLM 地址和 Token:
export LLM_URL=??? export LLM_TOKEN=??? export LLM_MODEL=llama32-3b -
安装 Helm Chart: 使用 Helm CLI 安装 'llama-stack-helm' Chart。请确保您位于 Chart 目录中,并执行以下命令:
helm install llama-stack ./llama-stack --set "vllm.url=$LLM_URL/v1,vllm.apiKey=$LLM_$TOKEN,vllm.inferenceModel=$LLM_MODEL" -
验证部署: 使用以下命令监控 Pod 的状态,确保所有 Pod 成功运行:
oc get pods -w -
注册 MCP 服务器到 Llama-stack: 获取 Llama-stack 服务器的路由地址:
export LLAMA_STACK_URL=$(oc get route llama-stack -o jsonpath='{.spec.host}')注册 MCP 服务器工具组到 Llama-stack。这将使 Llama-stack 能够发现和使用订单服务提供的工具:
curl -X POST -H "Content-Type: application/json" \ --data \ '{ "provider_id" : "model-context-protocol", "toolgroup_id" : "mcp::orders-service", "mcp_endpoint" : { "uri" : "http://llama-stack-mcp:8000/sse"}}' \ https://$LLAMA_STACK_URL/v1/toolgroups
服务器配置 (MCP 客户端配置)
对于需要与此MCP服务器集成的MCP客户端(例如Llama-stack),需要配置以下信息以连接到服务器并使用其提供的工具。
{ "server_name": "orders", "command": "node index.js", "args": [], "transport": "stdio" }
配置参数说明:
- 'server_name': MCP 服务器的名称,这里为 "orders"。
- 'command': 启动 MCP 服务器的命令,假设在服务器容器中,可以直接使用 'node index.js' 启动 Node.js 应用。
- 'args': 启动命令的参数,本项目中无需额外参数,所以为空数组。
- 'transport': MCP 服务器使用的传输协议,从代码实现 'StdioServerTransport()' 来看,应配置为 'stdio'。
注意: 上述 'stdio' 配置适用于直接运行 'mcp-server/app/index.js' 的场景。在 Llama-stack 集成环境中,根据 'README.md' 的描述,Llama-stack 通过 SSE 与 MCP 服务器交互,因此 Llama-stack 的配置可能需要指向 'http://llama-stack-mcp:8000/sse' 这个 SSE 端点。 但对于通用的 MCP 客户端配置,如果需要直接连接到该 MCP 服务器的底层实现,可能需要通过 Stdio 或其他服务器实际支持的协议进行配置。 请根据实际部署环境和集成方式调整配置。
基本使用方法
- 部署 Chat-app: 按照 'README.md' 中的说明,部署 'chat-app' 应用。
- 访问 Chat-app UI: 通过浏览器访问 'chat-app' 的路由地址(可以使用 'oc get route llama-stack-chatui' 获取)。
- 与订单服务交互: 在 Chat-app UI 中,您可以输入关于订单的查询,例如 “订单 ORD1001 的状态是什么?”。Llama-stack 会调用配置好的 MCP 服务器的工具来查询订单信息,并将结果返回给您。
通过以上步骤,您可以在 OpenShift 集群上成功部署和使用 Llama-stack 订单管理 MCP 服务器,并将其集成到 LLM 应用中。
信息
分类
商业系统