使用说明
CData提供的SAP HANA XS高级MCP服务器
CData的SAP HANA XS Advanced模型上下文协议(MCP)服务器
⚠️ 此项目构建的是一个只读MCP服务器。如需完整的读、写、更新、删除及操作功能,以及简化的设置,请查看我们的 CData MCP Server for SAP HANA XS Advanced(适用于SAP HANA XS高级版的CData MCP服务器)。
目的
我们创建了这个只读的MCP服务器,以便允许大型语言模型(如Claude Desktop)查询由SAP HANA XS Advanced支持的实时数据 CData JDBC驱动程序用于SAP HANA XS Advanced。
CData JDBC驱动程序通过将它们作为关系型SQL模型进行暴露,来连接到SAP HANA XS Advanced。
该服务器封装了该驱动程序,并通过一个简单的MCP接口使SAP HANA XS Advanced数据得以访问,因此大型语言模型(LLMs)可以通过自然语言提问来检索实时信息,无需使用SQL。
安装指南
- 克隆仓库:
git clone https://github.com/cdatasoftware/sap-hana-xs-advanced-mcp-server-by-cdata.git cd sap-hana-xs-advanced-mcp-server-by-cdata - 构建服务器:这将生成一个JAR文件:CDataMCP-jar-with-dependencies.jar
mvn clean install - 下载并安装适用于{源}的CData JDBC驱动程序: https://www.cdata.com/drivers/saphanaxsa/download/jdbc 翻译为中文是:“https://www.cdata.com/驱动程序/SAP HANA XSA/下载/JDBC”。不过,为了更符合中文表达习惯,我们可以稍作调整,翻译为:“https://www.cdata.com/驱动/SAP HANA XSA/下载/JDBC 驱动”
- 授权CData JDBC驱动程序:
- 导航至
lib安装目录中的文件夹,通常为:- (Windows)
C:\Program Files\CData\CData JDBC Driver for SAP HANA XS Advanced\ - (Mac/Linux)
/Applications/CData JDBC Driver for SAP HANA XS Advanced/
- (Windows)
- 运行该命令
java -jar cdata.jdbc.saphanaxsa.jar --license - 请输入您的姓名、电子邮件和“TRIAL”(或您的许可证密钥)。
- 导航至
- 配置您到数据源的连接(以Salesforce为例):
-
运行该命令
java -jar cdata.jdbc.saphanaxsa.jar打开连接字符串实用程序。 -
配置连接字符串并点击“测试连接”
注: 如果数据源使用OAuth,您需要在浏览器中进行身份验证。
-
一旦成功,复制连接字符串以供后续使用。
-
- 创建一个
.prp为您的JDBC连接创建文件(例如。sap-hana-xs-advanced.prp) 使用以下属性和格式:- 前缀 - 用于暴露的工具的前缀
- 服务器名称 - 为您的服务器命名
- 服务器版本 - 适用于您服务器的版本
- 驱动程序路径 - 您的JDBC驱动程序JAR文件的完整路径
- 驱动程序类 - JDBC驱动程序类的名称(例如:cdata.jdbc.saphanaxsa.SAPHANAXSADriver)
- JdbcUrl(注:JdbcUrl本身是一个专有名词,通常在数据库连接上下文中表示JDBC连接字符串,直接翻译为“JDBC连接URL”或保持原样使用更为常见) - 使用CData JDBC驱动程序连接到您的数据时所需的JDBC连接字符串(从上面复制)
- 桌子 - 留空以访问所有数据,否则您可以明确声明您希望创建访问权限的表
Prefix=saphanaxsa ServerName=CDataSAPHANAXSA ServerVersion=1.0 DriverPath=PATH\TO\cdata.jdbc.saphanaxsa.jar DriverClass=cdata.jdbc.saphanaxsa.SAPHANAXSADriver JdbcUrl=jdbc:saphanaxsa:InitiateOAuth=GETANDREFRESH; Tables=
使用Claude Desktop连接服务器
-
创建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\\sap-hana-xs-advanced.prp" ] }, ... } }Linux/麦金塔(Mac)
{ "mcpServers": { "{classname_dash}": { "command": "/PATH/TO/java", "args": [ "-jar", "/PATH/TO/CDataMCP-jar-with-dependencies.jar", "/PATH/TO/sap-hana-xs-advanced.prp" ] }, ... } }如果需要,请将配置文件复制到相应的目录中(以Claude Desktop为例)。 Windows
cp C:\PATH\TO\claude_desktop_config.json %APPDATA%\Claude\claude_desktop_config.jsonLinux/麦金塔(Mac)
cp /PATH/TO/claude_desktop_config.json /Users/{user}/Library/Application\ Support/Claude/claude_desktop_config.json' -
运行或刷新您的客户端(Claude Desktop)。
注: 您可能需要完全退出或关闭您的Claude桌面客户端,然后重新打开它,以便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-RPC 2.0规范的JSON有效载荷示例。
获取源表
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "source_get_tables",
"arguments": {}
}
}
获取源列(或:获取数据源的列)
{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "source_get_columns",
"arguments": {
"table": "Account"
}
}
}
源运行查询
{
"jsonrpc": "2.0",
"id": 3,
"method": "tools/call",
"params": {
"name": "source_run_query",
"arguments": {
"sql": "SELECT * FROM [Account] WHERE [IsDeleted] = true"
}
}
}
故障排除
- 如果您在Claude Desktop中看不到您的CData MCP服务器,请确保您已完全退出Claude Desktop(Windows系统:使用任务管理器;Mac系统:使用活动监视器)
- 如果Claude Desktop无法检索数据,请确保您已正确配置了连接。使用连接字符串构建器来创建连接字符串(见上文),并将连接字符串复制到属性(.prp)文件中。
- 如果您在连接数据源时遇到问题,请联系 CData 支持团队。
- 如果您在使用MCP服务器时遇到问题,或有任何其他反馈,请加入 CData 社区。
许可证
这个MCP服务器是根据MIT许可证授权的。这意味着您可以在遵守MIT许可证条款和条件的前提下,自由地使用、修改和分发该软件。如需了解更多详情,请参阅 许可证 项目仓库中的文件。
所有支持的来源
| 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 | EnterpriseDB | Epicor Kinetic | |
| Exact Online | Excel | Excel Online | |
| 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 | JDBC-ODBC Bridge | |
| Jira | Jira Assets | Jira Service Management | JSON |
| Kafka | Kintone | LDAP | |
| 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 | 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 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 | ... Dozens More |
