mcpField
P
Power BI XMLA MCP Server by CData

Power BI XMLA MCP Server by CData

本地服务
github.com/CDataSoftware数据与分析454 周前更新

关于 Power BI XMLA MCP Server by CData

CData Power BI XMLA MCP Server 是一个本地只读服务,可通过 CData JDBC Driver 让 LLM 查询 Power BI XMLA 数据。它面向希望通过自然语言检索实时数据、无需编写 SQL 的用户。

主要功能

  1. 01读取 Power BI XMLA 数据
  2. 02通过 JDBC Driver 连接数据
  3. 03提供表和列查询工具
  4. 04支持 SQL 查询

适用场景

  1. 01用自然语言询问 Power BI 数据
  2. 02查看可访问表及其列
  3. 03对 Power BI 数据执行只读 SQL 查询

MCP 相关

该 MCP 服务通过 stdio 暴露 Power BI XMLA 数据读取工具,包括列出表、查看列和运行 SQL 查询;需要与服务运行在同一台机器上的 MCP 客户端。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

power-bi-xmla-mcp-server-by-cdata

CData 的 Power BI XMLA 模型上下文协议(MCP)服务

:heavy_exclamation_mark: 此项目构建的是一个本地只读 MCP 服务。如需完全远程的 MCP 访问,请查看首个托管 MCP 平台:CData Connect AI。如需本地托管,并支持完整的读取、写入、更新、删除和操作功能,同时简化设置,请查看我们的 CData MCP Server for Power BI XMLA。

用途

我们创建此只读 MCP 服务,以便 LLM(例如 Claude Desktop)查询 CData JDBC Driver for Power BI XMLA 支持的 Power BI XMLA 实时数据。

CData JDBC Driver 通过将 Power BI XMLA 数据公开为关系型 SQL 模型来连接它们。

此服务封装了该驱动程序,并通过简单的 MCP 接口提供 Power BI XMLA 数据,因此 LLM 可以通过自然语言提问来获取实时信息,无需编写 SQL。

设置指南

  1. 克隆仓库:
    git clone https://github.com/cdatasoftware/power-bi-xmla-mcp-server-by-cdata.git
    cd power-bi-xmla-mcp-server-by-cdata
    
  2. 构建服务:
    mvn clean install
    
    此操作会创建 JAR 文件:CDataMCP-jar-with-dependencies.jar
  3. 下载并安装适用于 {source} 的 CData JDBC Driver:https://www.cdata.com/drivers/powerbixmla/download/jdbc
  4. 为 CData JDBC Driver 授权:
    • 在安装目录中找到 lib 文件夹,通常位于: *(Windows)C:\Program Files\CData\CData JDBC Driver for Power BI XMLA\ *(Mac/Linux)/Applications/CData JDBC Driver for Power BI XMLA/
    • 运行命令 java -jar cdata.jdbc.powerbixmla.jar --license
    • 输入您的姓名、电子邮件地址和“TRIAL”(或您的许可证密钥)。
  5. 配置与数据源的连接(以 Salesforce 为例):
    • 运行命令 java -jar cdata.jdbc.powerbixmla.jar,打开连接字符串实用工具。

      CData JDBC Driver Connectiong String utility.
    • 配置连接字符串,然后点击“Test Connection”

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

    • 连接成功后,复制连接字符串以供后续使用。

  6. 使用以下属性和格式为 JDBC 连接创建 .prp 文件(例如 power-bi-xmla.prp):
    • Prefix - 用于所公开工具的前缀
    • ServerName - 服务的名称
    • ServerVersion - 服务的版本
    • DriverPath - JDBC 驱动程序 JAR 文件的完整路径
    • DriverClass - JDBC 驱动程序类的名称(例如 cdata.jdbc.powerbixmla.PowerBIXMLADriver)
    • JdbcUrl - 用于通过 CData JDBC Driver 连接数据的 JDBC 连接字符串(从上方复制)
    • Tables - 留空以访问所有数据;否则,可明确声明要创建访问权限的表
      Prefix=powerbixmla
      ServerName=CDataPowerBIXMLA
      ServerVersion=1.0
      DriverPath=PATH\TO\cdata.jdbc.powerbixmla.jar
      DriverClass=cdata.jdbc.powerbixmla.PowerBIXMLADriver
      JdbcUrl=jdbc:powerbixmla: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\\power-bi-xmla.prp"
          ]
        },
        ...
      }
    }
    

    Linux/Mac

    {
      "mcpServers": {
        "{classname_dash}": {
          "command": "/PATH/TO/java",
          "args": [
            "-jar",
            "/PATH/TO/CDataMCP-jar-with-dependencies.jar",
            "/PATH/TO/power-bi-xmla.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 服务才会显示。

运行服务

  1. 运行以下命令以独立运行 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 规范。

power_bi_xmla_get_tables
{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "tools/call",
    "params": {
        "name": "power_bi_xmla_get_tables",
        "arguments": {}
    }
}
power_bi_xmla_get_columns
{
    "jsonrpc": "2.0",
    "id": 2,
    "method": "tools/call",
    "params": {
        "name": "power_bi_xmla_get_columns",
        "arguments": {
            "table":  "Account"
        }
    }
}
power_bi_xmla_run_query
{
    "jsonrpc": "2.0",
    "id": 3,
    "method": "tools/call",
    "params": {
        "name": "power_bi_xmla_run_query",
        "arguments": {
            "sql":  "SELECT * FROM [Account] WHERE [IsDeleted] = true"
        }
    }
}

故障排除

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

许可证

此 MCP 服务采用 MIT 许可证。这意味着您可以自由使用、修改和分发此软件,但须遵守 MIT 许可证的条款和条件。详情请参阅项目仓库中的 LICENSE 文件。

所有支持的数据源

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
Elasticsearch电子邮件EnterpriseDBEpicor 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……还有数十种

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。