Salesforce Marketing Mcp Server By Cdata

Salesforce Marketing Mcp Server By Cdata

🚀 CData的Salesforce Marketing只读MCP服务器

本项目构建了一个只读的Model Context Protocol (MCP)服务器,可让大语言模型(如Claude Desktop)通过自然语言查询Salesforce Marketing的实时数据,无需使用SQL。

🚀 快速开始

目的

我们创建这个只读的MCP服务器,是为了让大语言模型(如Claude Desktop)能够查询由CData JDBC Driver for Salesforce Marketing支持的Salesforce Marketing实时数据。CData JDBC驱动程序通过将Salesforce Marketing数据公开为关系型SQL模型来与之连接。该服务器封装了该驱动程序,并通过简单的MCP接口提供Salesforce Marketing数据,因此大语言模型可以通过自然语言问题检索实时信息,无需使用SQL。

⚠️ 重要提示 本项目构建的是只读MCP服务器。如需完整的读、写、更新、删除和操作功能,以及更简化的设置,请查看我们免费的CData MCP Server for Salesforce Marketing (beta)

安装指南

  1. 克隆仓库
    git clone https://github.com/cdatasoftware/salesforce-marketing-mcp-server-by-cdata.git
    cd salesforce-marketing-mcp-server-by-cdata
    
  2. 构建服务器
    mvn clean install
    
    这将创建JAR文件:CDataMCP-jar-with-dependencies.jar。
  3. 下载并安装CData JDBC驱动程序https://www.cdata.com/drivers/salesforcemarketing/download/jdbc
  4. 为CData JDBC驱动程序授权
    • 导航到安装目录中的lib文件夹,通常为:
      • (Windows)C:\Program Files\CData\CData JDBC Driver for Salesforce Marketing\
      • (Mac/Linux)/Applications/CData JDBC Driver for Salesforce Marketing/
    • 运行命令java -jar cdata.jdbc.sfmarketingcloud.jar --license
    • 输入您的姓名、电子邮件和“TRIAL”(或您的许可证密钥)。
  5. 配置与数据源的连接(以Salesforce为例)
    • 运行命令java -jar cdata.jdbc.sfmarketingcloud.jar以打开连接字符串实用程序。
    • 配置连接字符串并点击“测试连接”。

      注意:如果数据源使用OAuth,您需要在浏览器中进行身份验证。

    • 成功后,复制连接字符串以备后用。
  6. 使用以下属性和格式为您的JDBC连接创建一个.prp文件(例如salesforce-marketing.prp
    • Prefix - 用于公开工具的前缀
    • ServerName - 服务器的名称
    • ServerVersion - 服务器的版本
    • DriverPath - JDBC驱动程序JAR文件的完整路径
    • DriverClass - JDBC驱动程序类的名称(例如cdata.jdbc.sfmarketingcloud.SFMarketingCloudDriver)
    • JdbcUrl - 用于与CData JDBC驱动程序连接到数据的JDBC连接字符串(从上面复制)
    • Tables - 留空以访问所有数据,否则您可以明确声明要创建访问权限的表
    Prefix=sfmarketingcloud
    ServerName=CDataSFMarketingCloud
    ServerVersion=1.0
    DriverPath=PATH\TO\cdata.jdbc.sfmarketingcloud.jar
    DriverClass=cdata.jdbc.sfmarketingcloud.SFMarketingCloudDriver
    JdbcUrl=jdbc:sfmarketingcloud:InitiateOAuth=GETANDREFRESH;
    Tables=
    

使用Claude Desktop运行服务器

  1. 为Claude Desktop创建配置文件(claude_desktop_config.json)以添加新的MCP服务器,使用以下格式。如果文件已存在,请将条目添加到配置文件的mcpServers中。 Windows
    {
    "mcpServers": {
    "{classname_dash}": {
    "command": "PATH\\TO\\java.exe",
    "args": [
    "-jar",
    "PATH\\TO\\CDataMCP-jar-with-dependencies.jar",
    "PATH\\TO\\salesforce-marketing.prp"
    ]
    }
    }
    }
    
    Linux/Mac
    {
    "mcpServers": {
    "{classname_dash}": {
    "command": "/PATH/TO/java",
    "args": [
    "-jar",
    "/PATH/TO/CDataMCP-jar-with-dependencies.jar",
    "/PATH/TO/salesforce-marketing.prp"
    ]
    }
    }
    }
    
    如果需要,将配置文件复制到适当的目录(以Claude Desktop为例)。 Windows
    cp C:\PATH\TO\claude_desktop_config.json %APPDATA%\Claude\claude_desktop_config.json
    
    Linux/Mac
    cp /PATH/TO/claude_desktop_config.json /Users/{user}/Library/Application\ Support/Claude/claude_desktop_config.json
    
  2. 运行或刷新您的客户端(Claude Desktop)

    注意:您可能需要完全退出Claude Desktop客户端并重新打开,才能使MCP服务器显示。

独立运行服务器

运行以下命令以独立运行MCP服务器:

java -jar /PATH/TO/CDataMCP-jar-with-dependencies.jar /PATH/TO/Salesforce.prp

注意:服务器使用stdio,因此只能与在同一台机器上运行的客户端一起使用。

💻 使用示例

基础用法

一旦MCP服务器配置完成,AI客户端将能够使用内置工具来读取、写入、更新和删除基础数据。通常,您无需显式调用这些工具。只需让客户端回答有关基础数据系统的问题即可。例如:

  • "我的成交机会与客户行业之间的相关性是什么?"
  • "我的SUPPORT项目中有多少未解决的工单?"
  • "你能告诉我今天有哪些日历事件吗?"

工具及描述

在以下定义中,{servername} 指的是配置文件中MCP服务器的名称(例如上面的{classname_dash})。

  • {servername}_get_tables - 检索数据源中可用表的列表。使用{servername}_get_columns工具列出表上的可用列。该工具的输出将以CSV格式返回,第一行包含列标题。
  • {servername}_get_columns - 检索表的列列表。使用{servername}_get_tables工具获取可用表的列表。该工具的输出将以CSV格式返回,第一行包含列标题。
  • {servername}_run_query - 执行SQL SELECT查询

JSON-RPC请求示例

如果您要编写发送到MCP服务器的请求脚本,而不是使用AI客户端(例如Claude),则在调用可用工具时,可以参考以下JSON有效负载示例(遵循JSON-RPC 2.0规范)。

salesforce_marketing_get_tables

{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "salesforce_marketing_get_tables",
"arguments": {}
}
}

salesforce_marketing_get_columns

{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "salesforce_marketing_get_columns",
"arguments": {
"table":  "Account"
}
}
}

salesforce_marketing_run_query

{
"jsonrpc": "2.0",
"id": 3,
"method": "tools/call",
"params": {
"name": "salesforce_marketing_run_query",
"arguments": {
"sql":  "SELECT * FROM [Account] WHERE [IsDeleted] = true"
}
}
}

📚 详细文档

故障排除

  1. 如果在Claude Desktop中看不到您的CData MCP服务器,请确保您已完全退出Claude Desktop(Windows:使用任务管理器,Mac:使用活动监视器)。
  2. 如果Claude Desktop无法检索数据,请确保您已正确配置连接。使用连接字符串构建器创建连接字符串(见上文),并将连接字符串复制到属性(.prp)文件中。
  3. 如果您在连接到数据源时遇到问题,请联系CData支持团队
  4. 如果您在使用MCP服务器时遇到问题,或有任何其他反馈,请加入CData社区

许可证

此MCP服务器根据MIT许可证授权。这意味着您可以自由使用、修改和分发该软件,但需遵守MIT许可证的条款和条件。有关更多详细信息,请参阅项目仓库中的LICENSE文件。

所有支持的数据源

数据源 数据源 数据源 数据源
Access Act CRM Act-On Active Directory
ActiveCampaign Acumatica Adobe Analytics Adobe Commerce
ADP Airtable AlloyDB Amazon Athena
Amazon DynamoDB Amazon Marketplace Amazon S3 Asana
Authorize.Net Avalara AvaTax Avro Azure Active Directory
Azure Analysis Services Azure Data Catalog Azure Data Lake Storage Azure DevOps
Azure Synapse Azure Table Basecamp BigCommerce
BigQuery Bing Ads Bing Search Bitbucket
Blackbaud FE NXT Box Bullhorn CRM Cassandra
Certinia Cloudant CockroachDB Confluence
Cosmos DB Couchbase CouchDB CSV
Cvent Databricks DB2 DocuSign
Dropbox Dynamics 365 Dynamics 365 Business Central Dynamics CRM
Dynamics GP Dynamics NAV eBay eBay Analytics
Elasticsearch Email EnterpriseDB Epicor Kinetic
Exact Online Excel Excel Online Facebook
Facebook Ads FHIR Freshdesk FTP
GitHub Gmail Google Ad Manager Google Ads
Google Analytics Google Calendar Google Campaign Manager 360 Google Cloud Storage
Google Contacts Google Data Catalog Google Directory Google Drive
Google Search Google Sheets Google Spanner GraphQL
Greenhouse Greenplum HarperDB HBase
HCL Domino HDFS Highrise Hive
HubDB HubSpot IBM Cloud Data Engine IBM Cloud Object Storage
IBM Informix Impala Instagram JDBC - ODBC Bridge
Jira Jira Assets Jira Service Management JSON
Kafka Kintone LDAP LinkedIn
LinkedIn Ads MailChimp MariaDB Marketo
MarkLogic Microsoft Dataverse Microsoft Entra ID Microsoft Exchange
Microsoft OneDrive Microsoft Planner Microsoft Project Microsoft Teams
Monday.com MongoDB MYOB AccountRight MySQL
nCino Neo4J NetSuite OData
Odoo Office 365 Okta OneNote
Oracle Oracle Eloqua Oracle Financials Cloud Oracle HCM Cloud
Oracle Sales Oracle SCM Oracle Service Cloud Outreach.io
Parquet Paylocity PayPal Phoenix
PingOne Pinterest Pipedrive PostgreSQL
Power BI XMLA Presto Quickbase QuickBooks
QuickBooks Online QuickBooks Time Raisers Edge NXT Reckon
Reckon Accounts Hosted Redis Redshift REST
RSS Sage 200 Sage 300 Sage 50 UK
Sage Cloud Accounting Sage Intacct Salesforce Salesforce Data Cloud
Salesforce Financial Service Cloud Salesforce Marketing Salesforce Marketing Cloud Account Engagement Salesforce Pardot
Salesloft SAP SAP Ariba Procurement SAP Ariba Source
SAP Business One SAP BusinessObjects BI SAP ByDesign SAP Concur
SAP Fieldglass SAP HANA SAP HANA XS Advanced SAP Hybris C4C
SAP Netweaver Gateway SAP SuccessFactors SAS Data Sets SAS xpt
SendGrid ServiceNow SFTP SharePoint
SharePoint Excel Services ShipStation Shopify SingleStore
Slack Smartsheet Snapchat Ads Snowflake
Spark Splunk SQL Analysis Services SQL Server
Square Stripe Sugar CRM SuiteCRM
SurveyMonkey Sybase Sybase IQ Tableau CRM Analytics
Tally TaxJar Teradata Tier1
TigerGraph Trello Trino Twilio
Twitter Twitter Ads Veeva CRM Veeva Vault
Wave Financial WooCommerce WordPress Workday
xBase Xero XML YouTube Analytics
Zendesk Zoho Books Zoho Creator Zoho CRM
Zoho Inventory Zoho Projects Zuora ... 更多
  • 0 关注
  • 0 收藏,8 浏览
  • system 提出于 2025-09-23 17:00

相似服务问题