MCP测试工作台

Salesforce Lightning应用程序,用于在配置到Agentforce之前测试和验证MCP服务器和工具。

  • by mvogelgesang
  • Apex
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 mvogelgesang/MCP-Workbench

使用说明

MCP工作台

Salesforce Lightning应用程序,用于在Agentforce中配置MCP(模型上下文协议)服务器和工具之前对其进行测试和验证。Workbench允许您:

  • 连接 通过命名凭据连接到MCP服务器
  • 发现 可用工具及其模式
  • 测试 通过动态UI使用自定义参数的工具
  • 验证 部署到Agentforce代理之前的响应
  • 调试 带有详细错误消息的连接问题

目录

安装

先决条件

  • Salesforce命令行界面 sf 已安装
  • 连接到Salesforce组织(建议使用沙盒或scratch组织) 启用MCP Beta权限
  • 通过代理注册表注册的一个或多个MCP服务器。注册步骤: 注册MCP服务器

步骤1:部署代码

非命名空间组织

sf package install -p 04tHs000000iSjcIAE -o {TARGET}

或

https://{ORG_NAME}.my.salesforce.com/packaging/installPackage.apexp?p0=04tHs000000iSjcIAE

命名空间组织

克隆仓库: git clone git@github.com:mvogelgesang/MCP-Workbench.git

开放项目 cd mcpWorkbench

将所有组件部署到您的组织 sf project deploy start --source-dir force-app/main/default

部署的内容:

  • Apex类(McpToolTester)和测试类
  • 内容资产(MCP徽标)
  • Lightning应用程序(MCP_Workbench)
  • 闪电网络组件(mcpToolTester)
  • 选项卡(MCP Workbench)
  • 权限集

步骤2:分配权限集

sf org assign permset --name MCP_Workbench

使用MCP工作台

第一步:打开应用程序

  1. 单击左上角的应用程序启动器(华夫饼图标)
  2. 搜索 “MCP工作台”
  3. 单击打开

你应该看看 MCP工作台 选项卡。

步骤2:选择MCP服务器

  1. 从下拉列表中,选择您的命名凭证API名称
  2. 点击 “连接到服务器”

发生了什么:

  • 发送MCP initialize 请求
  • 显示服务器信息(名称、版本、协议)
  • 自动加载可用工具
  • 运行只读 权限诊断 (见下文)
  • 如果存在问题,将在页面上报告错误

权限诊断

成功连接后,MCP Workbench将呈现可折叠的 权限诊断 面板之间 服务器连接详细信息 和 可用工具。它是只读的,不授予或分配任何内容,旨在捕捉ISV合作伙伴MCP流量失败的两个最常见原因:

  1. 外部凭证访问(启发式) — ExternalCredential 其主体不能直接从Apex SOQL查询,因此诊断推断访问 SetupEntityAccess 类型行 ExternalCredentialParameter.具有任何权限集授予权限的用户 ExternalCredentialParameter 访问很可能也具有此MCP的主要访问权限。这是一个强有力的指标,而不是保证——诊断无法将特定的主体与您选择的特定MCP联系起来。
  2. UserExternalCredential 阅读 --通过以下方式进行精确验证 ObjectPermissions用户必须已阅读 UserExternalCredential sObject,以便Salesforce可以在运行时解析其每个用户的OAuth令牌。

面板对以下各项进行两次检查:

  • 这 当前用户 (管理员配置MCP)
  • 每位活跃用户 Name 以...开始 Platform --通常由Salesforce管理 平台集成用户 代理平台/MCP在执行时运行
  • 可选地,任何 特定用户名 您输入“还要检查特定用户名”输入

每行显示两个检查的通过/失败图标、当前携带访问权限的权限集(如果有)以及缺少访问权限时的补救提示。要在分配权限集后重新运行,请单击 跑 在面板中。

如果运行用户缺少“查看设置和配置”,面板将显示一条内联警告,说明设置对象查询失败;MCP Workbench的其余部分继续工作。

步骤3:浏览可用工具

连接后,您将看到工具卡,其中包含:

  • 工具名称 (例如,“getPet”、“addPet”)
  • 描述 (该工具的功能)
  • 点击测试

点击任意工具卡,打开测试界面。

步骤4:测试工具

测试视图有两列:

左列:输入参数

  • 动态表单 根据工具的输入模式生成
  • 必填字段 标有 *
  • 数组字段 带有添加/删除项目按钮
  • 字段描述 用于指导
  • 输入架构 显示(JSON)

右栏:响应

  • JSON响应 从工具执行开始
  • 格式化显示 带有语法高亮显示
  • 错误消息 如果执行失败

测试:

  1. 填写所需参数
  2. 根据需要添加可选参数
  3. 对于需要数组的工具输入,请单击 “添加项目” 添加条目
  4. 点击 “执行工具”
  5. 查看右侧的回复

步骤5:迭代和验证

  • 修改参数并重新执行
  • 测试不同的输入组合
  • 验证对无效输入的错误处理
  • 记录Agent配置的预期响应

注册MCP服务器

在测试工具之前,您需要通过Agentforce注册表注册MCP服务器。

代理注册

  1. 设置→ 代理注册→ New
  2. 配置:
    • MCP服务器名称:您的服务器名称(例如“PetStore”)
    • 描述:MCP服务器做什么?
    • 服务器URL:远程MCP服务器的URL
    • 认证方法:{选择适当的身份验证方法}
    • 身份提供者URL:您的MCP服务器的OAuth令牌URL
    • 范围:所需的OAuth作用域(如果有的话)
    • 客户端ID:您的OAuth客户端ID
    • 客户端密钥:您的OAuth客户端密钥
  3. 点击 创建并继续
  4. 添加一个或多个工具,单击 允许并继续
  5. 在“应用策略”页面上单击“保存”。

技术组件

闪电网络组件: mcpToolTester

具有三个视图的交互式UI:

  1. 服务器选择 -选择并连接到MCP服务器
  2. 工具列表 -将可用工具浏览为可点击的卡片
  3. 工具测试 -使用动态生成的表单测试单个工具

位置: force-app/main/default/lwc/mcpToolTester/

顶点类: McpToolTester

处理MCP协议通信的后端控制器:

  • initializeConnection(namedCredential) -连接到MCP服务器
  • getAvailableTools(namedCredential) -列出可用工具
  • callTool(namedCredential, toolName, parameters) -执行工具
  • getAvailableServers() -列出命名凭据

位置: force-app/main/default/classes/McpToolTester.cls

闪电应用程序: MCP Workbench

带有嵌入在选项卡中的工具测试器组件的专用应用程序。

位置: force-app/main/default/applications/MCP_Workbench.app-meta.xml

权限集: MCP_Workbench

授予对应用程序和Apex类的访问权限。

位置: force-app/main/default/permissionsets/MCP_Workbench.permissionset-meta.xml

错误处理

工具测试仪提供详细的错误诊断。

错误显示

当出现错误时,您将看到:

  1. 错误横幅 带有摘要信息
  2. “显示详细信息” 展开完整错误信息的按钮
  3. 故障排除指南 具体步骤
  4. 技术细节 (JSON)用于调试

贡献

发现bug了吗?有功能请求吗?

  1. 打开一个描述问题/功能的问题
  2. 如果修复了一个错误,请包括调试日志和重现步骤
  3. 对于功能,描述用例和预期行为

欢迎拉取请求!看 贡献.md 作为指导方针。

许可证

此项目根据Apache许可证2.0获得许可-请参阅 许可证 文件以获取详细信息。

版权所有(c)2024 Salesforce,股份有限公司。