🚀 Acumatica的CData模型上下文协议(MCP)服务器
本项目构建了一个只读的MCP服务器,允许大语言模型(如Claude Desktop)通过自然语言查询Acumatica的实时数据。若需完整的读写、更新、删除和操作功能,以及更简化的设置,请查看我们免费的 Acumatica的CData MCP服务器(测试版)。
🚀 快速开始
目的
我们创建这个只读MCP服务器,是为了让大语言模型(如Claude Desktop)能够查询由 Acumatica的CData JDBC驱动程序 支持的Acumatica实时数据。
CData JDBC驱动程序通过将Acumatica数据公开为关系型SQL模型来连接到Acumatica。
此服务器封装了该驱动程序,并通过简单的MCP接口提供Acumatica数据,因此大语言模型可以通过自然语言问题检索实时信息,无需使用SQL。
设置指南
- 克隆仓库:
git clone https://github.com/cdatasoftware/acumatica-mcp-server-by-cdata.git
cd acumatica-mcp-server-by-cdata
- 构建服务器:
mvn clean install
这将创建JAR文件:CDataMCP-jar-with-dependencies.jar。
3. 下载并安装 {source} 的CData JDBC驱动程序:https://www.cdata.com/drivers/acumatica/download/jdbc
4. 为CData JDBC驱动程序授权:
* 导航到安装目录中的 lib 文件夹,通常为:
* (Windows)C:\Program Files\CData\CData JDBC Driver for Acumatica\
* (Mac/Linux)/Applications/CData JDBC Driver for Acumatica/
* 运行命令 java -jar cdata.jdbc.acumatica.jar --license
* 输入您的姓名、电子邮件和 “TRIAL”(或您的许可证密钥)。
5. 配置与数据源的连接(以Salesforce为例):
* 运行命令 java -jar cdata.jdbc.acumatica.jar 打开连接字符串实用程序。
* 配置连接字符串并点击 “测试连接”
> ⚠️ 重要提示
>
> 如果数据源使用OAuth,您需要在浏览器中进行身份验证。
* 成功后,复制连接字符串以供后续使用。
6. 使用以下属性和格式为您的JDBC连接创建一个 .prp 文件(例如 acumatica.prp):
* Prefix - 用于公开工具的前缀
* ServerName - 服务器的名称
* ServerVersion - 服务器的版本
* DriverPath - JDBC驱动程序JAR文件的完整路径
* DriverClass - JDBC驱动程序类的名称(例如 cdata.jdbc.acumatica.AcumaticaDriver)
* JdbcUrl - 用于与CData JDBC驱动程序连接到数据的JDBC连接字符串(从上面复制)
* Tables - 留空以访问所有数据,否则可以明确声明要访问的表
Prefix=acumatica
ServerName=CDataAcumatica
ServerVersion=1.0
DriverPath=PATH\TO\cdata.jdbc.acumatica.jar
DriverClass=cdata.jdbc.acumatica.AcumaticaDriver
JdbcUrl=jdbc:acumatica: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\\acumatica.prp"
]
},
...
}
}
Linux/Mac
{
"mcpServers": {
"{classname_dash}": {
"command": "/PATH/TO/java",
"args": [
"-jar",
"/PATH/TO/CDataMCP-jar-with-dependencies.jar",
"/PATH/TO/acumatica.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'
- 运行或刷新您的客户端(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"
}
}
}
🔧 技术细节
故障排除
- 如果在Claude Desktop中看不到您的CData MCP服务器,请确保您已完全退出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 |
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 |
... 更多 |