关于 Elasticsearch MCP Server by CData
Elasticsearch MCP Server by CData 是本地只读服务,通过 CData JDBC Driver 查询实时 Elasticsearch 数据。它面向需要用自然语言检索数据、而非直接编写 SQL 的 LLM 客户端。
主要功能
- 01只读访问实时 Elasticsearch 数据
- 02通过 JDBC Driver 访问关系型数据
- 03列出表和列的工具
- 04执行 SQL 查询的工具
适用场景
- 01让 LLM 客户端查询 Elasticsearch 数据
- 02检查可用的数据表和列
- 03对索引数据执行只读 SQL 查询
MCP 相关
该本地 MCP 服务通过 stdio 向 MCP 客户端提供 Elasticsearch 数据和查询工具,权限范围为只读。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
elasticsearch-mcp-server-by-cdata
CData 的 Elasticsearch 模型上下文协议(MCP)服务
:heavy_exclamation_mark: 此项目构建的是本地只读 MCP 服务。如需完全远程的 MCP 访问,请查看首个托管式 MCP 平台:CData Connect AI。如需本地托管并支持完整的读取、写入、更新、删除和操作功能,以及简化的设置,请查看我们的 CData MCP Server for Elasticsearch。
目的
我们创建此只读 MCP 服务,让大模型(如 Claude Desktop)能够查询由 CData JDBC Driver for Elasticsearch 支持的 Elasticsearch 实时数据。
CData JDBC Driver 通过将 Elasticsearch 公开为关系型 SQL 模型来连接 Elasticsearch。
此服务封装了该驱动,并通过简单的 MCP 接口提供 Elasticsearch 数据,让大模型可以通过自然语言提问来检索实时信息,无需 SQL。
设置指南
- 克隆代码库:
git clone https://github.com/cdatasoftware/elasticsearch-mcp-server-by-cdata.git cd elasticsearch-mcp-server-by-cdata - 构建服务:
这会生成 JAR 文件:CDataMCP-jar-with-dependencies.jarmvn clean install - 下载并安装适用于 {source} 的 CData JDBC Driver:https://www.cdata.com/drivers/elasticsearch/download/jdbc
- 为 CData JDBC Driver 获取许可证:
- 转到安装目录中的
lib文件夹,通常为: *(Windows)C:\Program Files\CData\CData JDBC Driver for Elasticsearch\*(Mac/Linux)/Applications/CData JDBC Driver for Elasticsearch/ - 运行命令
java -jar cdata.jdbc.elasticsearch.jar --license - 输入您的姓名、电子邮箱和“TRIAL”(或您的许可证密钥)。
- 转到安装目录中的
- 配置与数据源的连接(以 Salesforce 为例):
-
运行命令
java -jar cdata.jdbc.elasticsearch.jar,打开 Connection String 工具。 -
配置连接字符串,然后点击“Test Connection”
注意: 如果数据源使用 OAuth,您需要在浏览器中进行身份验证。
-
连接成功后,复制连接字符串以供后续使用。
-
- 使用以下属性和格式为 JDBC 连接创建
.prp文件(例如elasticsearch.prp):- Prefix — 用作所公开工具的前缀
- ServerName — 服务的名称
- ServerVersion — 服务的版本
- DriverPath — JDBC 驱动 JAR 文件的完整路径
- DriverClass — JDBC 驱动类的名称(例如 cdata.jdbc.elasticsearch.ElasticsearchDriver)
- JdbcUrl — 用于通过 CData JDBC Driver 连接数据的 JDBC 连接字符串(从上文复制)
- Tables — 留空以访问所有数据;否则,可明确指定要创建访问权限的表
Prefix=elasticsearch ServerName=CDataElasticsearch ServerVersion=1.0 DriverPath=PATH\TO\cdata.jdbc.elasticsearch.jar DriverClass=cdata.jdbc.elasticsearch.ElasticsearchDriver JdbcUrl=jdbc:elasticsearch: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\\elasticsearch.prp" ] }, ... } }Linux/Mac
{ "mcpServers": { "{classname_dash}": { "command": "/PATH/TO/java", "args": [ "-jar", "/PATH/TO/CDataMCP-jar-with-dependencies.jar", "/PATH/TO/elasticsearch.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)。
Note: 你可能需要完全退出 Claude Desktop 客户端,然后重新打开,MCP 服务才会显示。
运行服务器
- 运行以下命令以单独启动 MCP 服务
java -jar /PATH/TO/CDataMCP-jar-with-dependencies.jar /PATH/TO/Salesforce.prp
Note: 服务器使用
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 规范。
elasticsearch_get_tables
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "elasticsearch_get_tables",
"arguments": {}
}
}
elasticsearch_get_columns
{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "elasticsearch_get_columns",
"arguments": {
"table": "Account"
}
}
}
elasticsearch_run_query
{
"jsonrpc": "2.0",
"id": 3,
"method": "tools/call",
"params": {
"name": "elasticsearch_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 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。