关于 Presto MCP Server by CData
Presto MCP Server by CData 是本地服务,通过 CData JDBC Driver 让 LLM 客户端查询 Presto 实时数据。它提供只读接口,便于检索数据,无需用户编写 SQL。
主要功能
- 01通过 CData JDBC Driver 连接 Presto
- 02以关系型 SQL 模型公开数据
- 03列出可访问的表和列
- 04查询实时数据
- 05将访问范围限制为指定表
适用场景
- 01向 LLM 客户端询问 Presto 数据
- 02检查可用表及其列
- 03通过自然语言请求检索实时数据
MCP 相关
本地 stdio MCP 服务提供列出表、查看列和查询 Presto 数据的工具。项目将此服务描述为只读。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
presto-mcp-server-by-cdata
CData 的 Presto 模型上下文协议(MCP)服务
:heavy_exclamation_mark: 此项目构建的是一个本地只读 MCP 服务。如需完全远程的 MCP 访问,请查看首个托管式 MCP 平台:CData Connect AI。如需本地托管并具备完整的读取、写入、更新、删除和操作能力,以及简化的设置流程,请查看我们的 CData MCP Server for Presto。
用途
我们创建此只读 MCP 服务,以便让大模型(例如 Claude Desktop)查询由 CData JDBC Driver for Presto 支持的 Presto 实时数据。
CData JDBC Driver 通过将 Presto 数据公开为关系型 SQL 模型来连接 Presto。
此服务封装了该驱动程序,并通过简单的 MCP 接口提供 Presto 数据,因此大模型可以通过自然语言提问来检索实时信息,无需编写 SQL。
设置指南
- 克隆仓库:
git clone https://github.com/cdatasoftware/presto-mcp-server-by-cdata.git cd presto-mcp-server-by-cdata - 构建服务:
这会创建 JAR 文件:CDataMCP-jar-with-dependencies.jarmvn clean install - 下载并安装适用于 {source} 的 CData JDBC Driver:https://www.cdata.com/drivers/presto/download/jdbc
- 为 CData JDBC Driver 申请许可:
- 导航至安装目录中的
lib文件夹,通常位于:- (Windows)
C:\Program Files\CData\CData JDBC Driver for Presto\ - (Mac/Linux)
/Applications/CData JDBC Driver for Presto/
- (Windows)
- 运行命令
java -jar cdata.jdbc.presto.jar --license - 输入您的姓名、电子邮件地址,以及 "TRIAL"(或您的许可密钥)。
- 导航至安装目录中的
- 配置与数据源的连接(以 Salesforce 为例):
-
运行命令
java -jar cdata.jdbc.presto.jar,打开连接字符串工具。 -
配置连接字符串,然后点击 "Test Connection"
注意: 如果数据源使用 OAuth,您需要在浏览器中进行身份验证。
-
连接成功后,复制连接字符串,以备后续使用。
-
- 为您的 JDBC 连接创建一个
.prp文件(例如presto.prp),并使用以下属性和格式:- Prefix - 用于已公开工具的前缀
- ServerName - 服务器名称
- ServerVersion - 服务器版本
- DriverPath - JDBC 驱动程序 JAR 文件的完整路径
- DriverClass - JDBC 驱动程序类的名称(例如 cdata.jdbc.presto.PrestoDriver)
- JdbcUrl - 用于通过 CData JDBC Driver 连接数据的 JDBC 连接字符串(从上方复制)
- Tables - 留空以访问所有数据,否则可明确指定要创建访问权限的表
Prefix=presto ServerName=CDataPresto ServerVersion=1.0 DriverPath=PATH\TO\cdata.jdbc.presto.jar DriverClass=cdata.jdbc.presto.PrestoDriver JdbcUrl=jdbc:presto: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\\presto.prp" ] }, ... } }Linux/Mac
{ "mcpServers": { "{classname_dash}": { "command": "/PATH/TO/java", "args": [ "-jar", "/PATH/TO/CDataMCP-jar-with-dependencies.jar", "/PATH/TO/presto.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 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 规范。
presto_get_tables
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "presto_get_tables",
"arguments": {}
}
}
presto_get_columns
{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "presto_get_columns",
"arguments": {
"table": "Account"
}
}
}
presto_run_query
{
"jsonrpc": "2.0",
"id": 3,
"method": "tools/call",
"params": {
"name": "presto_run_query",
"arguments": {
"sql": "SELECT * FROM [Account] WHERE [IsDeleted] = true"
}
}
}
故障排除
- 如果在 Claude Desktop 中看不到 CData MCP Server,请确保已完全退出 Claude Desktop(Windows:使用任务管理器;Mac:使用活动监视器)。
- 如果 Claude Desktop 无法检索数据,请确保已正确配置连接。使用连接字符串生成器创建连接字符串(见上文),并将连接字符串复制到属性(.prp)文件中。
- 如果连接数据源时遇到问题,请联系 CData 支持团队。
- 如果使用 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 | 电子邮件 | 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 | ……还有数十种 |
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。