Sap Hana Xs Advanced Mcp Server By Cdata

Sap Hana Xs Advanced Mcp Server By Cdata

🚀 CData的SAP HANA XS Advanced模型上下文协议(MCP)服务器

CData的SAP HANA XS Advanced模型上下文协议(MCP)服务器允许大语言模型(LLM)查询实时数据。本项目构建的是只读MCP服务器,若需要完整的读、写、更新、删除和操作功能,以及更简化的设置,请查看我们免费的 CData SAP HANA XS Advanced MCP服务器(测试版)

🚀 快速开始

目的

我们创建此只读MCP服务器,是为了让大语言模型(如Claude Desktop)能够查询由 CData SAP HANA XS Advanced JDBC驱动程序 支持的SAP HANA XS Advanced实时数据。

CData JDBC驱动程序通过将SAP HANA XS Advanced数据作为关系SQL模型公开,实现与之连接。此服务器封装了该驱动程序,并通过简单的MCP接口提供SAP HANA XS Advanced数据,因此大语言模型可以通过自然语言问题检索实时信息,无需使用SQL。

安装指南

  1. 克隆仓库
    git clone https://github.com/cdatasoftware/sap-hana-xs-advanced-mcp-server-by-cdata.git
    cd sap-hana-xs-advanced-mcp-server-by-cdata
    
  2. 构建服务器
    mvn clean install
    
    这将创建JAR文件:CDataMCP-jar-with-dependencies.jar
  3. 下载并安装CData JDBC驱动程序https://www.cdata.com/drivers/saphanaxsa/download/jdbc
  4. 为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/
    • 运行命令java -jar cdata.jdbc.saphanaxsa.jar --license
    • 输入您的姓名、电子邮件和“TRIAL”(或您的许可证密钥)。
  5. 配置数据源连接(以Salesforce为例)
    • 运行命令java -jar cdata.jdbc.saphanaxsa.jar打开连接字符串实用程序。
    • 配置连接字符串并点击“测试连接”

      ⚠️ 重要提示:如果数据源使用OAuth,您需要在浏览器中进行身份验证。

    • 连接成功后,复制连接字符串以备后用。
  6. 创建JDBC连接的.prp文件(例如sap-hana-xs-advanced.prp,使用以下属性和格式:
    • Prefix - 用于公开工具的前缀
    • ServerName - 服务器名称
    • ServerVersion - 服务器版本
    • DriverPath - JDBC驱动程序JAR文件的完整路径
    • DriverClass - JDBC驱动程序类的名称(例如cdata.jdbc.saphanaxsa.SAPHANAXSADriver)
    • JdbcUrl - 用于与CData JDBC驱动程序连接到数据的JDBC连接字符串(从上面复制)
    • Tables - 留空以访问所有数据,否则可以明确声明要创建访问权限的表
    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运行服务器

  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\\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.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请求示例

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

source_get_tables

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

source_get_columns

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

source_run_query

{
"jsonrpc": "2.0",
"id": 3,
"method": "tools/call",
"params": {
"name": "source_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:30

相似服务问题