Token导航 LogoToken导航TokenDH.com
Miaw MCP Server logo
AI代理未说明官方级别未说明来源级核验

Miaw MCP Server

MCP Server

连接ChatGPT到Salesforce增强聊天(MIAW - 应用内和网页消息),使AI助手能够无缝将会话转交给Salesforce代理(包括Agentforce机器人和人工代理)。

工具数

0

提示词数

0

GitHub Stars

1

资源数

0
JavaScriptClaudeAI代理Claude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

skyrmionz

提供方

skyrmionz

最后核验

2026/5/17 20:20

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

Salesforce MIAW MCP服务器

将ChatGPT连接到您的Salesforce增强聊天(MIAW-应用内和网络消息),这样您的AI助手就可以无缝地将对话传递给Salesforce代理(包括代理机器人和人工代理)。

🎯 这有什么作用

此MCP(模型上下文协议)服务器使ChatGPT能够:

  • 与Salesforce代理开始消息会话
  • 实时发送和接收消息
  • 处理人工智能聊天机器人和人类代理之间的传输
  • 显示实时聊天小部件 当转移到人类代理时
  • 结束聊天会话 两侧均适当
  • 检测代理何时结束聊天 并通知用户
  • 在整个切换过程中保持对话上下文

非常适合您的ChatGPT助手需要专家帮助或遇到超出其范围的问题。

⚡ 快速开始

先决条件

  1. Salesforce组织 启用了增强聊天(MIAW)

- 在消息设置中配置和部署应用内和Web频道的消息 - 已配置并发布嵌入式服务部署 确保将其配置为“自定义客户端” - 配置全渠道路由和流(代理-人工升级) - 通过配置出站全通道连接激活代理 - 已配置Live Agent消息通道

  1. Herold帐户

- 注册或登录 heroku.com - 创建一个应用程序来托管MCP服务器,命名为:“miaw MCP Server”

  1. ChatGPT Plus或团队

- 对于MCP连接器:在设置中启用开发人员模式 - 对于自定义GPT:创建自己的自定义GPT

  1. 已安装工具

- Git - Node.js 18+(用于本地测试,可选)

步骤1:获取Salesforce凭据

您需要从Salesforce组织中获取三条信息(最容易找到所有这些信息的是Setup→ 嵌入式服务部署→ 您的部署→ 安装代码段→ 聊天代码片段):

  1. SCRT网址 (Salesforce聊天运行时URL)

- 格式: https://your-org-url.my.salesforce-scrt.com

  1. 嵌入式服务开发人员姓名

- 例子: Target_Messaging_for_In_App_and_Web

  1. 组织ID

- 例子: 00DHu000000p8j3R

步骤2:从Github部署到Heroku并克隆

  1. 转到您制作的Heroku应用程序→ “部署”选项卡→ 所有命令向下滚动到“使用Heroku Git部署”
  2. 在您最喜欢的IDE中,打开一个新终端
  3. 通过键入“Git Clone”克隆Git存储库https://github.com/skyrmionz/miaw-mcp-server.git“然后按Enter键
  4. 键入:“heroku登录”,然后按Enter键→ 按照提示进行身份验证
  5. 通过检查您是否在“miaw-mcp-server”中来确保您在正确的目录中,如果不是,请键入:“cd miaw-mcp server”并按Enter键
cd miaw-mcp-server
git init
heroku git:remote -a chatgpt-components
git add .
git commit -am "(enter your comment here)"
git push heroku main

之后,您仍然需要在Heroku应用程序中设置环境变量,这是您之前获得的:

  1. 再次访问Heroku应用程序→ “设置”选项卡→ 向下滚动到“配置变量”→ “显示配置变量”或开始添加环境变量。
  2. 添加以下环境变量:
Key: MCP_TRANSPORT | Value: http
Key: MIAW_ES_DEVELOPER_NAME | Value: (Your Embedded Service Deployment API Name)
Key: MIAW_ORG_ID | Value: (Your Org ID)
Key: MIAW_SCRT_URL | Value: (Your Org's SCRT URL)

步骤3:连接到ChatGPT

部署到ChatGPT:

  1. 转到ChatGPT→ 个人资料→ 设置→ 应用程序和连接器→ 高级设置→ 开发者模式“开启”→ Back
  2. 点击右上角的“创建”
  3. 为图标添加图像(可选)
  4. 命名您的连接器
  5. 添加说明(ChatGPT应如何/何时使用连接器?)
  6. 在“MCP服务器URL”中输入您的Heroku URL: https://your-app-name.herokuapp.com/mcp
  7. 将身份验证设置为“无身份验证”
  8. 勾选“我理解并想继续…”框
  9. 点击“创建”按钮
  10. 完成!连接器将连接到您的ChatGPT
  11. 测试一下连接!

🚀 运作原理

对话流程

sequenceDiagram
    User->>ChatGPT: "I need help with my order"
    ChatGPT->>MCP Server: generate_guest_access_token()
    MCP Server->>Salesforce: Request access token
    Salesforce-->>MCP Server: Access token
    MCP Server-->>ChatGPT: sessionId
    ChatGPT->>MCP Server: create_conversation(sessionId)
    MCP Server->>Salesforce: Create conversation
    Salesforce-->>MCP Server: conversationId
    ChatGPT->>MCP Server: list_conversation_entries(sessionId, conversationId)
    MCP Server->>Salesforce: Poll for messages (every 500ms, up to 25s)
    Salesforce-->>MCP Server: Chatbot greeting
    MCP Server-->>ChatGPT: "Hi! How can I help?" + _roleInfo.isLiveAgent=false
    ChatGPT->>User: "Hi! How can I help?"
    User->>ChatGPT: "Connect me to a live agent"
    ChatGPT->>MCP Server: send_message(sessionId, conversationId, text)
    MCP Server->>Salesforce: Send message + Route to agent
    ChatGPT->>MCP Server: list_conversation_entries(sessionId, conversationId)
    MCP Server->>Salesforce: Poll for agent response
    Salesforce-->>MCP Server: Live agent greeting + _roleInfo.isLiveAgent=true
    MCP Server-->>ChatGPT: Agent name + isLiveAgent=true
    ChatGPT->>MCP Server: show_salesforce_chat(sessionId, conversationId, agentName)
    MCP Server-->>ChatGPT: Live Chat Widget displayed
    Note over User,ChatGPT: User now chats directly in widget

实时代理小部件

当人工代理加入对话时,ChatGPT会自动显示一个嵌入式聊天小部件:

  • 实时消息 -消息立即出现
  • 代理商信息 -显示代理名称和首字母
  • 结束聊天按钮 -用户可以结束会话
  • 自动检测 -知道代理何时结束聊天
  • 风格化界面 -与ChatGPT匹配的专业聊天UI

服务器端轮询

服务器智能地处理轮询,因此ChatGPT不必:

  • list_conversation_entries 被调用时,服务器会在内部轮询每个 500毫秒
  • 等待至 25秒 (Heroku的30秒超时-5秒缓冲)
  • 当出现非“自动流程”消息时立即返回
  • 自动过滤掉系统消息
  • ChatGPT只接收最终结果

这意味着ChatGPT总是能得到及时的代理响应,而无需复杂的轮询逻辑!

🛠️ 地方发展

# Install dependencies
npm install

# Set environment variables
cp .env.example .env
# Edit .env with your Salesforce credentials

# Build
npm run build

# Run locally (stdio mode for testing with Claude Desktop)
npm start

# Or run HTTP mode (for testing with curl)
MCP_TRANSPORT=http PORT=3000 node dist/index.js

使用cURL进行测试

# Health check
curl http://localhost:3000/

# Initialize MCP
curl -X POST http://localhost:3000/mcp \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{}}'

# List tools
curl -X POST http://localhost:3000/mcp \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}}'

# Call generate_guest_access_token
curl -X POST http://localhost:3000/mcp \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc":"2.0",
    "id":3,
    "method":"tools/call",
    "params":{
      "name":"generate_guest_access_token",
      "arguments":{"appName":"Test App","clientVersion":"1.0.0"}
    }
  }'

🐛 故障排除

“创建连接器时出错”或“连接已关闭”

解决方案: 确保您的Heroku应用程序正在使用 /mcp 端点:

https://your-app-name.herokuapp.com/mcp

令牌生成时“请求失败,状态代码为400”

原因: Salesforce配置无效。

解决方案:

  1. 验证 MIAW_SCRT_URL 正确(无尾随斜线)
  2. 验证 MIAW_ES_DEVELOPER_NAME 与Salesforce完全匹配
  3. 验证 MIAW_ORG_ID 是您当前的组织ID

会话创建时“请求失败,状态代码为401”

原因: 会话已过期或无效。

解决方案: 使用生成新会话 generate_guest_access_token

ChatGPT说“赛琳娜回复:…”而不仅仅是消息

原因: 自定义GPT中缺少指令。

解决方案: 将“关键消息规则”部分复制到自定义GPT的指令字段中。

消息延迟到达或根本没有到达

原因: 服务器端轮询可能需要调整。

解决方案: 检查Heroku日志:

heroku logs --tail --app your-app-name

查找“轮询非自动流程消息…”日志。

“请求超时”(30s+)

原因: 没有可用的代理或响应非常慢。

解决方案:

  1. 确保代理在Salesforce中在线
  2. 检查代理容量设置
  3. 在Salesforce中验证路由配置

结束聊天按钮不起作用/404错误

原因: API终结点路径不正确。

解决方案: 服务器现在使用正确的Salesforce MIAW API端点:

  • DELETE /conversation/{id}/session?esDeveloperName={name} -结束消息会话
  • DELETE /conversation/{id}?esDeveloperName={name} -结束对话

确保你的 MIAW_ES_DEVELOPER_NAME 环境变量设置正确。

代理结束聊天,但小部件不更新

原因: 小部件未检测到“代理已结束聊天”消息。

解决方案: 服务器现在检测到来自“自动流程”的消息,其中包含:

  • “代理已结束聊天”
  • “聊天已结束”
  • “对话已结束”

小部件将自动显示“代理已结束此聊天会话”并禁用输入。

实时聊天小部件未出现

原因: show_salesforce_chat 打电话太早或 isLiveAgent 未检测到。

解决方案:

  1. 检查 _roleInfo.isLiveAgenttrue 打电话之前 show_salesforce_chat
  2. 仅在以下情况下呼叫 mostRecentSenderRole 是“代理”(不是“聊天机器人”)

📚 资源

🤝 贡献

欢迎投稿!拜托:

  1. 分叉存储库
  2. 创建要素分支(git checkout -b feature/amazing-feature)
  3. 提交您的更改(git commit -m 'Add amazing feature')
  4. 推到分支(git push origin feature/amazing-feature)
  5. 打开拉取请求

📄 许可证

MIT许可证-请参阅 许可证 详细信息文件

🙏 致谢

内置:

💬 支持

______________________________________________________________________

由...制作❤️ Salesforce和AI社区

目录标签

目录标签

JavaScriptClaudeAI代理会话转接本地部署实时消息AI助手Salesforce集成客户支持

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

token

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明token部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP