由CData提供的SSAS-MCP服务器
CData的SQL Server Analysis Services模型上下文协议(MCP)服务器
⚠️ 该项目构建的是一个只读MCP服务器。如需完整的读、写、更新、删除以及执行操作功能,并享受简化的设置流程,请访问我们的 CData MCP Server 用于 SQL Server Analysis Services。
目的
我们创建了这个只读的MCP服务器,以便让大型语言模型(如Claude Desktop)能够查询由SQL Server Analysis Services支持的实时数据 CData JDBC驱动程序,用于SQL Server Analysis Services。
CData JDBC 驱动程序通过将 SQL Server Analysis Services 暴露为关系型 SQL 模型来连接到它们。
这个服务器封装了该驱动程序,并通过一个简单的MCP接口提供SQL Server Analysis Services的数据,因此大型语言模型(LLMs)可以通过自然语言提问来检索实时信息,无需使用SQL。
设置指南
- 克隆仓库:
git clone https://github.com/cdatasoftware/ssas-mcp-server-by-cdata.git
cd ssas-mcp-server-by-cdata- 构建服务器:
mvn clean install这会生成一个JAR文件:CDataMCP-jar-with-dependencies.jar
- 下载并安装适用于{source}的CData JDBC驱动程序:
- 授权CData JDBC驱动程序:
- 导航至 lib 安装目录中的文件夹,通常为: - (Windows) C:\Program Files\CData\CData JDBC Driver for SQL Server Analysis Services\ - (Mac/Linux) /Applications/CData JDBC Driver for SQL Server Analysis Services/ - 运行该命令 java -jar cdata.jdbc.ssas.jar --license - 请输入您的姓名、电子邮件以及“TRIAL”(或您的许可证密钥)。
- 配置您与数据源的连接(以Salesforce为例):
- 运行该命令 java -jar cdata.jdbc.ssas.jar 打开连接字符串实用程序。
- 配置连接字符串并点击“测试连接”
> 注: 如果数据源使用OAuth,您需要在浏览器中进行身份验证。
- 一旦成功,复制连接字符串以便后续使用。
- 创建一个
.prp用于您的JDBC连接的文件(例如。ssas.prp) 使用以下属性和格式:
- 前缀 - 用于公开的工具的前缀 - 服务器名称 - 为您的服务器命名 - 服务器版本 - 适用于您服务器的版本 - 驱动程序路径 - 您的JDBC驱动程序JAR文件的完整路径 - 驱动程序类 - JDBC 驱动程序类的名称(例如:cdata.jdbc.ssas.SSASDriver) - JdbcUrl 翻译成中文是“JDBC URL”。 - 要与CData JDBC驱动程序一起使用的JDBC连接字符串,以连接到您的数据(从上面复制) - 桌子 - 留空以访问所有数据,否则您可以明确声明您希望创建访问权限的表
Prefix=ssas
ServerName=CDataSSAS
ServerVersion=1.0
DriverPath=PATH\TO\cdata.jdbc.ssas.jar
DriverClass=cdata.jdbc.ssas.SSASDriver
JdbcUrl=jdbc:ssas:InitiateOAuth=GETANDREFRESH;
Tables=使用Claude Desktop连接服务器
- 创建Claude桌面的配置文件(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\\ssas.prp"
]
},
...
}
}Linux/Mac(注:此处为直接翻译,保持原样,因为“Linux/Mac”在中文中通常不翻译,直接使用原名)
{
"mcpServers": {
"{classname_dash}": {
"command": "/PATH/TO/java",
"args": [
"-jar",
"/PATH/TO/CDataMCP-jar-with-dependencies.jar",
"/PATH/TO/ssas.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有效载荷示例。
ssas_get_tables 翻译为中文是“获取 SSAS 表”或“SSAS 表获取”。这里,“SSAS”通常指的是“SQL Server Analysis Services”,是一种用于创建企业级多维数据集的在线分析处理(OLAP)服务。因此,这个短语可能是在描述一个用于从 SQL Server Analysis Services 中获取表或数据集的过程或功能
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "ssas_get_tables",
"arguments": {}
}
}\ssas_get_columns\ 可以翻译为“获取 SSAS 列”或“获取多维数据集列”,具体取决于上下文中的 SSAS(SQL Server Analysis Services)或类似系统的具体含义。在这里,为了保持通用性,可以翻译为“获取 SSAS 列”
{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "ssas_get_columns",
"arguments": {
"table": "Account"
}
}
}ssas_run_query 翻译为中文是:“SSAS 执行查询”
{
"jsonrpc": "2.0",
"id": 3,
"method": "tools/call",
"params": {
"name": "ssas_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许可证条款和条件的前提下,自由使用、修改和分发该软件。如需了解更多详情,请参阅(相关文件或链接) 许可证 项目仓库中的文件。
所有支持的来源
AccessAct CRMAct-OnActive Directory ActiveCampaignAcumaticaAdobe AnalyticsAdobe Commerce ADPAirtableAlloyDBAmazon Athena Amazon DynamoDBAmazon MarketplaceAmazon S3Asana Authorize.NetAvalara AvaTaxAvroAzure Active Directory Azure Analysis ServicesAzure Data CatalogAzure Data Lake StorageAzure DevOps Azure SynapseAzure TableBasecampBigCommerce BigQueryBing AdsBing SearchBitbucket Blackbaud FE NXTBoxBullhorn CRMCassandra CertiniaCloudantCockroachDBConfluence Cosmos DBCouchbaseCouchDBCSV CventDatabricksDB2DocuSign DropboxDynamics 365Dynamics 365 Business CentralDynamics CRM Dynamics GPDynamics NAVeBayeBay Analytics ElasticsearchEmailEnterpriseDBEpicor Kinetic Exact OnlineExcelExcel OnlineFacebook Facebook AdsFHIRFreshdeskFTP GitHubGmailGoogle Ad ManagerGoogle Ads Google AnalyticsGoogle CalendarGoogle Campaign Manager 360Google Cloud Storage Google ContactsGoogle Data CatalogGoogle DirectoryGoogle Drive Google SearchGoogle SheetsGoogle SpannerGraphQL GreenhouseGreenplumHarperDBHBase HCL DominoHDFSHighriseHive HubDBHubSpotIBM Cloud Data EngineIBM Cloud Object Storage IBM InformixImpalaInstagramJDBC-ODBC Bridge JiraJira AssetsJira Service ManagementJSON KafkaKintoneLDAPLinkedIn LinkedIn AdsMailChimpMariaDBMarketo MarkLogicMicrosoft DataverseMicrosoft Entra IDMicrosoft Exchange Microsoft OneDriveMicrosoft PlannerMicrosoft ProjectMicrosoft Teams Monday.comMongoDBMYOB AccountRightMySQL nCinoNeo4JNetSuiteOData OdooOffice 365OktaOneNote OracleOracle EloquaOracle Financials CloudOracle HCM Cloud Oracle SalesOracle SCMOracle Service CloudOutreach.io ParquetPaylocityPayPalPhoenix PingOnePinterestPipedrivePostgreSQL Power BI XMLAPrestoQuickbaseQuickBooks QuickBooks OnlineQuickBooks TimeRaisers Edge NXTReckon Reckon Accounts HostedRedisRedshiftREST RSSSage 200Sage 300Sage 50 UK Sage Cloud AccountingSage IntacctSalesforceSalesforce Data Cloud Salesforce Financial Service CloudSalesforce MarketingSalesforce Marketing Cloud Account EngagementSalesforce Pardot SalesloftSAPSAP Ariba ProcurementSAP Ariba Source SAP Business OneSAP BusinessObjects BISAP ByDesignSAP Concur SAP FieldglassSAP HANASAP HANA XS AdvancedSAP Hybris C4C SAP Netweaver GatewaySAP SuccessFactorsSAS Data SetsSAS xpt SendGridServiceNowSFTPSharePoint SharePoint Excel ServicesShipStationShopifySingleStore SlackSmartsheetSnapchat AdsSnowflake SparkSplunkSQL Analysis ServicesSQL Server SquareStripeSugar CRMSuiteCRM SurveyMonkeySybaseSybase IQTableau CRM Analytics TallyTaxJarTeradataTier1 TigerGraphTrelloTrinoTwilio TwitterTwitter AdsVeeva CRMVeeva Vault Wave FinancialWooCommerceWordPressWorkday xBaseXeroXMLYouTube Analytics ZendeskZoho BooksZoho CreatorZoho CRM Zoho InventoryZoho ProjectsZuora... Dozens More
