Salesforce移动平台MCP服务器使用说明

项目简介

'mobile-mcp-tools' 是一个开源monorepo,由Salesforce移动平台体验团队维护。它旨在构建可扩展的Model Context Protocol (MCP) 服务器和工具,为LLM提供关于Salesforce移动平台生态系统的精确上下文信息。这有助于LLM生成高质量、生产就绪的移动解决方案。该仓库包含多个MCP服务器,例如专注于移动和混合Web开发的 '@salesforce/mobile-web-mcp-server',以及支持移动原生开发的 '@salesforce/mobile-native-mcp-server'。

主要功能点

  • 上下文信息托管: 托管并管理与Salesforce LWC(Lightning Web Component)移动能力相关的资源,例如设备原生功能(条形码扫描、地理围栏、日历、AR空间捕捉等)的API定义和使用模式。
  • 工具注册与执行: 允许LLM调用各种内置工具。这些工具包括:
    • 原生能力工具: 集成设备功能,如条形码扫描、位置服务、联系人、NFC等。
    • 移动离线工具: 提供离线优先设计模式的实现指南和兼容性分析,帮助检测和修复LWC组件中的离线代码问题。
    • 应用部署与模板: 支持原生移动应用模板发现、项目规划、部署指南和SDK集成。
  • Prompt模板定义: 支持可定制的LLM交互模式,为LLM提供生成Salesforce LWC组件所需的详细指导。
  • JSON-RPC通信: MCP服务器通过JSON-RPC协议与LLM客户端进行标准化通信。
  • 会话管理与能力声明: 管理客户端会话,并声明服务器提供的能力。

安装步骤

请按照以下步骤安装和启动 'mobile-web-mcp-server'(该monorepo中的一个MCP服务器实例):

  1. 克隆仓库: 首先,使用Git将 'mobile-mcp-tools' 仓库克隆到本地计算机。

    git clone https://github.com/forcedotcom/mobile-mcp-tools.git
    cd mobile-mcp-tools
  2. 安装依赖: 在仓库的根目录运行以下命令,安装所有项目所需的依赖包。

    npm install
  3. 构建项目: 构建monorepo中的所有包,确保服务器代码已编译并准备就绪。

    npm run build:all
  4. 启动MCP服务器: 在仓库的根目录,通过运行以下npm脚本来启动 'mobile-web-mcp-server'。

    npm run mobile-web:server:start

    服务器启动后,会通过 Stdio 传输协议在后台运行,等待MCP客户端的连接。

服务器配置 (MCP客户端使用)

MCP客户端需要以下JSON格式的配置信息来连接到 'sfdc-mobile-web-mcp-server':

{
  "serverName": "sfdc-mobile-web-mcp-server",
  "command": "npm",
  "args": [
    "run",
    "mobile-web:server:start"
  ],
  "options": {
    "cwd": "/path/to/your/cloned/mobile-mcp-tools"
  },
  "description": "Salesforce移动Web MCP服务器,提供针对LWC移动开发场景的上下文信息和工具。"
}
  • 'serverName': MCP服务器的唯一标识符。
  • 'command': 用于启动MCP服务器进程的命令行工具。
  • 'args': 传递给 'command' 的参数。'"mobile-web:server:start"' 是在 'mobile-mcp-tools' 根 'package.json' 中定义的脚本,用于启动 'mobile-web' 服务器。
  • 'options.cwd': 重要: 这是您的 'mobile-mcp-tools' 仓库的本地路径。请务必将其替换为您的实际路径,以便 'npm run' 命令能正确找到脚本。
  • 'description': 服务器的简要描述。

基本使用方法

一旦MCP服务器成功启动并在后台运行,任何兼容的MCP客户端都可以使用上述配置连接到它,并执行以下操作:

  1. 列出可用工具: 客户端可以发送请求,获取服务器注册的所有工具的列表。例如,可以查询到 'sfmobile-web-barcode-scanner' (条形码扫描器)、'sfmobile-web-offline-analysis' (离线分析) 等工具。
  2. 调用工具: 客户端可以根据需要调用特定的工具。例如,为了分析一个LWC组件的移动离线兼容性,客户端可以调用 'sfmobile-web-offline-analysis' 工具,并将LWC组件的代码作为输入参数发送过去。服务器将执行分析并返回结构化的分析报告和建议。
  3. 获取上下文信息: 客户端可以调用工具来获取特定LWC移动能力的API文档或“基础上下文”(grounding context)。这些上下文信息对于LLM生成相关代码或提供指导至关重要。

所有这些客户端-服务器交互都通过JSON-RPC协议进行,确保了通信的标准化和可互操作性。

信息

分类

开发者工具