oracle-scm-mcp-server-by-cdata
CData的Oracle SCM Model Context Protocol (MCP) 服务器
:heavy_exclamation_mark: 该项目构建了一个本地的只读MCP服务器。对于完全远程的MCP访问,请查看第一个托管的MCP平台:CData Connect AI。对于本地托管、具有完整读取、写入、更新、删除和操作功能以及简化设置的服务器,请查看我们的CData MCP Server for Oracle SCM。
目的
我们创建了这个只读MCP服务器,允许大型语言模型(如Claude Desktop)查询由CData JDBC Driver for Oracle SCM支持的实时数据。
CData JDBC驱动程序通过暴露它们作为关系SQL模型来连接到Oracle SCM。
该服务器封装了此驱动程序,并通过简单的MCP接口使Oracle SCM数据可用,因此大型语言模型可以通过询问自然语言问题来检索实时信息——无需SQL。
安装指南
- 克隆仓库:
git clone https://github.com/cdatasoftware/oracle-scm-mcp-server-by-cdata.git
cd oracle-scm-mcp-server-by-cdata
- 构建服务器:
mvn clean install
这会生成JAR文件:CDataMCP-jar-with-dependencies.jar
- 下载并安装CData JDBC驱动程序:https://www.cdata.com/drivers/oraclescm/download/jdbc
- 授权CData JDBC驱动程序:
- 导航到安装目录中的
lib文件夹,通常位于:
- (Windows)
C:\Program Files\CData\CData JDBC Driver for Oracle SCM\
- (Mac/Linux)
/Applications/CData JDBC Driver for Oracle SCM/
- 运行命令
java -jar cdata.jdbc.oraclescm.jar --license
- 输入您的姓名、电子邮件和“TRIAL”(或您的许可证密钥)。
- 配置与数据源的连接(以Salesforce为例):
- 创建一个用于JDBC连接的
.prp文件(例如oracle-scm.prp),使用以下属性和格式:
使用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\\oracle-scm.prp"
]
},
...
}
}
Linux/Mac
{
"mcpServers": {
"{classname_dash}": {
"command": "/PATH/TO/java",
"args": [
"-jar",
"/PATH/TO/CDataMCP-jar-with-dependencies.jar",
"/PATH/TO/oracle-scm.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请求示例
如果您正在脚本化发送给MCP服务器的请求而不是使用AI客户端(例如Claude),则可以参考以下JSON负载示例——遵循JSON-RPC 2.0规范——当调用可用工具时。
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文件。
所有支持的数据源
<table>
<tr><td>Access</td><td>Act CRM</td><td>Act-On</td><td>Active Directory</td></tr>
<tr><td>ActiveCampaign</td><td>Acumatica</td><td>Adobe Analytics</td><td>Adobe Commerce</td></tr>
<tr><td>ADP</td><td>Airtable</td><td>AlloyDB</td><td>Amazon Athena</td></tr>
<tr><td>Amazon DynamoDB</td><td>Amazon Marketplace</td><td>Amazon S3</td><td>Asana</td></tr>
<tr><td>Authorize.Net</td><td>Avalara AvaTax</td><td>Avro</td><td>Azure Active Directory</td></tr>
<tr><td>Azure Analysis Services</td><td>Azure Data Catalog</td><td>Azure Data Lake Storage</td><td>Azure DevOps</td></tr>
<tr><td>Azure Synapse</td><td>Azure Table</td><td>Basecamp</td><td>BigCommerce</td></tr>
<tr><td>BigQuery</td><td>Bing Ads</td><td>Bing Search</td><td>Bitbucket</td></tr>
<tr><td>Blackbaud FE NXT</td><td>Box</td><td>Bullhorn CRM</td><td>Cassandra</td></tr>
<tr><td>Certinia</td><td>Cloudant</td><td>CockroachDB</td><td>Confluence</td></tr>
<tr><td>Cosmos DB</td><td>Couchbase</td><td>CouchDB</td><td>CSV</td></tr>
<tr><td>Cvent</td><td>Databricks</td><td>DB2</td><td>DocuSign</td></tr>
<tr><td>Dropbox</td><td>Dynamics 365</td><td>Dynamics 365 Business Central</td><td>Dynamics CRM</td></tr>
<tr><td>Dynamics GP</td><td>Dynamics NAV</td><td>eBay</td><td>eBay Analytics</td></tr>
<tr><td>Elasticsearch</td><td>Email</td><td>EnterpriseDB</td><td>Epicor Kinetic</td></tr>
<tr><td>Exact Online</td><td>Excel</td><td>Excel Online</td><td>Facebook</td></tr>
<tr><td>Facebook Ads</td><td>FHIR</td><td>Freshdesk</td><td>FTP</td></tr>
<tr><td>GitHub</td><td>Gmail</td><td>Google Ad Manager</td><td>Google Ads</td></tr>
<tr><td>Google Analytics</td><td>Google Calendar</td><td>Google Campaign Manager 360</td><td>Google Cloud Storage</td></tr>
<tr><td>Google Contacts</td><td>Google Data Catalog</td><td>Google Directory</td><td>Google Drive</td></tr>
<tr><td>Google Search</td><td>Google Sheets</td><td>Google Spanner</td><td>GraphQL</td></tr>
<tr><td>Greenhouse</td><td>Greenplum</td><td>HarperDB</td><td>HBase</td></tr>
<tr><td>HCL Domino</td><td>HDFS</td><td>Highrise</td><td>Hive</td></tr>
<tr><td>HubDB</td><td>HubSpot</td><td>IBM Cloud Data Engine</td><td>IBM Cloud Object Storage</td></tr>
<tr><td>IBM Informix</td><td>Impala</td><td>Instagram</td><td>JDBC-ODBC Bridge</td></tr>
<tr><td>Jira</td><td>Jira Assets</td><td>Jira Service Management</td><td>JSON</td></tr>
<tr><td>Kafka</td><td>Kintone</td><td>LDAP</td><td>LinkedIn</td></tr>
<tr><td>LinkedIn Ads</td><td>MailChimp</td><td>MariaDB</td><td>Marketo</td></tr>
<tr><td>MarkLogic</td><td>Microsoft Dataverse</td><td>Microsoft Entra ID</td><td>Microsoft Exchange</td></tr>
<tr><td>Microsoft OneDrive</td><td>Microsoft Planner</td><td>Microsoft Project</td><td>Microsoft Teams</td></tr>
<tr><td>Monday.com</td><td>MongoDB</td><td>MYOB AccountRight</td><td>MySQL</td></tr>
<tr><td>nCino</td><td>Neo4J</td><td>NetSuite</td><td>OData</td></tr>
<tr><td>Odoo</td><td>Office 365</td><td>Okta</td><<td>OneNote</td></tr>
<tr><td>Oracle</td><td>Oracle Eloqua</td><td>Oracle Financials Cloud</td><td>Oracle HCM Cloud</td></tr>
<tr><td>Oracle Sales</td><td>Oracle SCM</td><td>Oracle Service Cloud</td><td>Outreach.io</td></tr>
<tr><td>Parquet</td><td>Paylocity</td><td>PayPal</td><td>Phoenix</td></tr>
<tr><td>PingOne</td><td>Pinterest</td><td>Pipedrive</td><td>PostgreSQL</td></tr>
<tr><td>Power BI XMLA</td><td>Presto</td><td>Quickbase</td><td>QuickBooks</td></tr>
<tr><td>QuickBooks Online</td><td>QuickBooks Time</td><td>Raisers Edge NXT</td><td>Reckon</td></tr>
<tr><td>Reckon Accounts Hosted</td><td>Redis</td><td>Redshift</td><td>REST</td></tr>
<tr><td>RSS</td><td>Sage 200</td><td>Sage 300</td><td>Sage 50 UK</td></tr>
<tr><td>Sage Cloud Accounting</td><td>Sage Intacct</td><td>Salesforce</td><td>Salesforce Data Cloud</td></tr>
<tr><td>Salesforce Financial Service Cloud</td><td>Salesforce Marketing</td><td>Salesforce Marketing Cloud Account Engagement</td><td>Salesforce Pardot</td></tr>
<tr><td>Salesloft</td><td>SAP</td><td>SAP Ariba Procurement</td><td>SAP Ariba Source</td></tr>
<tr><td>SAP Business One</td><td>SAP BusinessObjects BI</td><td>SAP ByDesign</td><td>SAP Concur</td></tr>
<tr><td>SAP Fieldglass</td><td>SAP HANA</td><td>SAP HANA XS Advanced</td><td>SAP Hybris C4C</td></tr>
<tr><td>SAP Netweaver Gateway</td><td>SAP SuccessFactors</td><td>SAS Data Sets</td><td>SAS xpt</td></tr>
<tr><td>SendGrid</td><td>ServiceNow</td><td>SFTP</td><td>SharePoint</td></tr>
<tr><td>SharePoint Excel Services</td><td>ShipStation</td><td>Shopify</td><td>SingleStore</td></tr>
<tr><td>Slack</td><td>Smartsheet</td><td>Snapchat Ads</td><td>Snowflake</td></tr>
<tr><td>Spark</td><td>Splunk</td><td>SQL Analysis Services</td><td>SQL Server</td></tr>
<tr><td>Square</td><td>Stripe</td><td>Sugar CRM</td><td>SuiteCRM</td></tr>
<tr><td>SurveyMonkey</td><td>Sybase</td><td>Sybase IQ</td><td>Tableau CRM Analytics</td></tr>
<tr><td>Tally</td><td>TaxJar</td><td>Teradata</td><td>Tier1</td></tr>
<tr><td>TigerGraph</td><td>Trello</td><td>Trino</td><td>Twilio</td></tr>
<tr><td>Twitter</td><td>Twitter Ads</td><td>Veeva CRM</td><td>Veeva Vault</td></tr>
<tr><td>Wave Financial</td><td>WooCommerce</td><td>WordPress</td><td>Workday</td></tr>
<tr><td>xBase</td><td>Xero</td><td>XML</td><td>YouTube Analytics</td></tr>
<tr><td>Zendesk</td><td>Zoho Books</td><td>Zoho Creator</td><td>Zoho CRM</td></tr>
<tr><td>Zoho Inventory</td><td>Zoho Projects</td><td>Zuora</td><td>...数十种更多</