Token导航 LogoToken导航TokenDH.com
Salesforce CopilotStudio logo
开发工具未说明官方级别未说明来源级核验

Salesforce CopilotStudio

MCP Server

一个自托管的Salesforce MCP服务器,提供流式HTTP传输层,用于连接Microsoft Copilot Studio,支持15种Salesforce工具操作。

工具数

15

提示词数

0

GitHub Stars

1

资源数

0
TypeScript开发工具命令行工具

安装说明

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

作者 / 组织

ITSpecialist111

提供方

ITSpecialist111

最后核验

2026/5/17 20:20

快速接入

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

详细介绍

用于Copilot Studio的Salesforce MCP服务器

一个具有流式HTTP传输的自托管Salesforce MCP(模型上下文协议)服务器,旨在连接到Microsoft Copilot Studio。

______________________________________________________________________

⚠️ 免责声明

此项目仅用于测试、开发和教育目的。

  • 这是 Salesforce、微软或任何附属公司的官方产品。
  • 这个项目是 由Salesforce或Microsoft认可、支持或维护。
  • 作者接受 无责任 因使用本软件而导致的任何数据丢失、安全事件、服务中断或其他损害。
  • 请勿在生产中使用 而无需执行自己的安全审查、渗透测试和合规性评估。
  • 您全权负责保护您的Salesforce凭据、Azure资源以及通过此服务器处理的任何数据。
  • Salesforce®是Salesforce,股份有限公司的注册商标,Microsoft®和Copilot Studio®是Microsoft Corporation的注册商标。所有商标均归其各自所有者所有。
  • 使用本软件须遵守 MIT许可证 --按“原样”提供,不提供任何形式的保证。

______________________________________________________________________

概述

这个项目囊括了优秀的 tsmztech/mcp服务器销售团队 (MIT许可证) 流式HTTP传输层,使其能够与 微软复制品工作室 作为定制MCP连接器。

为什么存在

方法有效吗?限制
Salesforce托管MCP (api.salesforce.com)返回401“无效令牌”--需要未记录的JWT格式,测试版不稳定
微软的原生Salesforce连接器只有7个工具:GetAccounts、GetOpportunity、GetLeads、GetCases、PostCase、PatchCase、ExecuteSOSLQuery
此自托管MCP服务器15工具 --完整的SOQL、任何对象上的CRUD、Apex、模式管理

建筑

Microsoft Copilot Studio
    → Custom MCP Connector (Streamable HTTP)
        → Azure App Service / Container App
            → This MCP Server (HTTP transport)
                → Salesforce REST API (via jsforce)

可用工具(15)

工具说明
salesforce_search_objects按名称模式搜索Salesforce对象
salesforce_describe_object获取任何对象的完整架构元数据
salesforce_query_records使用关系支持执行SOQL查询
salesforce_aggregate_queryGROUP BY、COUNT、SUM、AVG查询
salesforce_dml_records在任何对象上插入、更新、删除、插入
salesforce_manage_object创建/修改自定义对象
salesforce_manage_field创建/修改自定义字段
salesforce_manage_field_permissions管理现场级安全
salesforce_search_allSOSL跨对象搜索
salesforce_read_apex阅读Apex类源代码
salesforce_write_apex创建/更新Apex类
salesforce_read_apex_trigger读取触发器源代码
salesforce_write_apex_trigger创建/更新触发器
salesforce_execute_anonymous执行匿名Apex
salesforce_manage_debug_logs启用/禁用/检索调试日志

先决条件

  • Node.js 18+
  • Salesforce组织 具有API访问权限(开发人员、企业版、无限版)
  • Azure 订阅 (用于托管)
  • 微软复制品工作室 许可证

快速入门(本地)

1.克隆并安装

git clone 
cd mcp-server-salesforce
npm install

2.配置Salesforce凭据

复制示例环境文件并填写您的凭据:

cp .env.example .env

编辑 .env:

SALESFORCE_CONNECTION_TYPE=User_Password
SALESFORCE_USERNAME=your-username@salesforce.com
SALESFORCE_PASSWORD=your-password
SALESFORCE_TOKEN=your-security-token
SALESFORCE_INSTANCE_URL=https://login.salesforce.com
PORT=3000
安全说明: 对于生产环境,请使用OAuth 2.0客户端凭据流,而不是用户名/密码。集 SALESFORCE_CONNECTION_TYPE=OAuth_2_0_Client_Credentials 并提供 SALESFORCE_CLIENT_IDSALESFORCE_CLIENT_SECRET.

3.构建和运行

npm run build
node dist/http-server.js

4.测试

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

# Initialize MCP session
curl -X POST http://localhost:3000/ \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-03-26","capabilities":{},"clientInfo":{"name":"test","version":"1.0"}}}'

部署到Azure

选项A:Azure应用服务

# Login to Azure
az login

# Create resource group
az group create --name rg-sf-mcp --location uksouth

# Create App Service plan
az appservice plan create --name plan-sf-mcp --resource-group rg-sf-mcp --sku B1 --is-linux

# Create web app
az webapp create --name sf-mcp-server --resource-group rg-sf-mcp --plan plan-sf-mcp --runtime "NODE:18-lts"

# Configure environment variables
az webapp config appsettings set --name sf-mcp-server --resource-group rg-sf-mcp --settings \
  SALESFORCE_CONNECTION_TYPE=User_Password \
  SALESFORCE_USERNAME=your-username@salesforce.com \
  SALESFORCE_PASSWORD=your-password \
  SALESFORCE_TOKEN=your-security-token \
  SALESFORCE_INSTANCE_URL=https://login.salesforce.com \
  PORT=8080

# Deploy
az webapp deploy --name sf-mcp-server --resource-group rg-sf-mcp --src-path ./deploy.zip

选项B:Azure容器应用程序

部署.md 用于具有托管身份的容器应用程序部署。

连接到Copilot工作室

使用MCP板载向导(推荐)

  1. 在Copilot工作室→ 代理→ 工具添加工具新工具模型上下文协议
  2. 填写:

- 服务器名称: Salesforce CRM - 服务器描述: Query and manage Salesforce data — SOQL, CRUD, schema, Apex - 服务器URL: https://your-app-name.azurewebsites.net/

  1. 身份验证: (如果使用API密钥)或 OAuth 2.0 (如果使用Entra ID)
  2. 点击 创建创建连接添加到代理

使用自定义连接器(替代方案)

  1. 在Power Apps中→ 自定义连接器→ 导入OpenAPI文件
  2. 使用提供的 swagger.yaml
  3. 在“安全”选项卡上配置安全性
  4. 将连接器添加到您的Copilot Studio代理

安全注意事项

当前状态

重要提示: 该项目目前适合 开发、演示和内部概念验证 使用。它需要对企业生产部署进行额外的强化。请参阅下面的路线图。
区域当前状态企业准备好了吗?
Salesforce身份验证应用程序设置中的用户名+密码+安全令牌否--使用OAuth客户端凭据或JWT承载
MCP端点身份验证可选API密钥(X-API-Key header)部分--为企业添加Entra ID
传输中的数据Azure应用服务强制执行HTTPS
秘密管理Azure应用程序设置(静态加密)部分--移动到密钥库
网络接入向互联网开放否--添加IP分配列表或VNET
审计日志否--添加应用程序洞察
代币轮换手动否--需要自动刷新

身份验证选项

方法用例设置
API密钥 (header)简单部署,内部使用设置 API_KEY env var,传入 X-API-Key 头球
Entra ID OAuth生产、多租户配置应用注册+应用服务上的轻松认证
网络限制深度防御Azure VNET+专用端点

生产清单

  • \[\]使用OAuth 2.0客户端凭据进行Salesforce身份验证(不是用户名/密码)
  • \[\]将机密存储在Azure密钥库中,而不是应用程序设置中
  • \[\]仅启用HTTPS
  • \[\]添加API密钥或Entra ID身份验证
  • \[\]限制网络访问(IP分配列表或VNET)
  • \[\]启用Azure监视器/应用程序洞察
  • \[\]设置令牌刷新错误警报
  • \[\]检查要公开哪些MCP工具(如果不需要,请禁用Apex/模式工具)

路线图

安全强化(优先级)

项目状态描述
启用API密钥身份验证就绪设置 API_KEY env-var——已内置于服务器中
切换到OAuth 2.0客户端凭据计划用已连接的应用程序客户端凭据替换用户名/密码。服务器已通过支持此功能 SALESFORCE_CONNECTION_TYPE=OAuth_2_0_Client_Credentials
切换到JWT承载身份验证计划基于证书的身份验证——不存储秘密,最安全的选项
Azure密钥库集成计划将所有Salesforce凭据从应用程序设置移动到密钥库引用
端点上的Entra ID身份验证已计划添加Azure应用服务轻松授权,以便只有您的租户可以访问MCP服务器
应用程序洞察日志记录计划记录所有MCP工具调用、Salesforce查询和错误,以进行审计跟踪
VNET+专用端点计划限制网络访问,以便只有Power Platform可以访问MCP服务器
工具级访问控制计划配置暴露哪些MCP工具(例如,禁用只读代理的写/Pex工具)
自动秘密轮换计划自动提醒和轮换Salesforce令牌

特性

项目状态描述
可流式HTTP传输完成启用Copilot Studio MCP集成
文档搜索、列表、下载完成自定义 salesforce_get_documents 具有4个动作的工具
接受标头修复完成Power Platform API集线器兼容性
API密钥验证完成可选 X-API-Key 标头验证
SharePoint代理流集成完成下载Salesforce文件→ 带有可点击链接的SharePoint
从文档中提取文本计划从Word/PDF中提取可读文本用于LLM推理
持续会话计划用Redis替换内存中的会话存储,以实现多实例扩展
集装箱化部署计划Docker+Azure容器应用支持

项目结构

├── src/
│   ├── index.ts              # Original STDIO MCP server (from tsmztech)
│   ├── http-server.ts        # Streamable HTTP wrapper (added for Copilot Studio)
│   ├── tools/                # Tool implementations
│   │   ├── query.ts          # SOQL queries
│   │   ├── dml.ts            # Insert/Update/Delete/Upsert
│   │   ├── search.ts         # Object search
│   │   ├── searchAll.ts      # SOSL search
│   │   ├── describe.ts       # Schema metadata
│   │   ├── aggregateQuery.ts # Aggregate queries
│   │   ├── manageObject.ts   # Custom object management
│   │   ├── manageField.ts    # Custom field management
│   │   ├── readApex.ts       # Read Apex source
│   │   ├── writeApex.ts      # Write Apex source
│   │   └── ...
│   ├── types/                # TypeScript type definitions
│   └── utils/
│       └── connection.ts     # Salesforce connection factory
├── .env.example              # Example environment config
├── package.json
├── tsconfig.json
└── swagger.yaml              # OpenAPI spec for custom connector

积分

该项目建立在 tsmztech/mcp服务器销售团队 (MIT许可证)。HTTP传输包装器(http-server.ts)该项目增加了Copilot Studio集成。

许可证

麻省理工学院——见 许可证

目录标签

目录标签

TypeScript开发工具命令行工具Salesforce集成本地部署自托管服务器CopilotStudio连接器数据管理工具企业级应用

接入字段

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

未说明

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

oauth

工具数量(toolCount,工具数)

15

资源数量(resourceCount,资源数)

0

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

0

权限和风险

未说明oauth部署方式未说明

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

安装前确认

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

仍需确认:installCommand

来源信息

继续浏览同类 MCP