本项目借助CData的模型上下文协议(MCP),打造了一个用于Google日历的服务器,让大语言模型(LLMs)能以自然语言轻松查询实时日历数据,无需编写SQL。
⚠️ 重要提示
本项目构建的是只读的MCP服务器。若你需要完整的读写、更新、删除和操作功能,以及更简化的设置,请查看我们免费的 Google日历CData MCP服务器(测试版)。
我们创建这个只读MCP服务器,是为了让大语言模型(如Claude Desktop)能够查询由 CData JDBC驱动程序 支持的Google日历实时数据。CData JDBC驱动程序通过将Google日历作为关系型SQL模型来连接,而此服务器则封装了该驱动程序,通过简单的MCP接口提供Google日历数据。这样,大语言模型就能通过自然语言问题检索实时信息,无需使用SQL。
git clone https://github.com/cdatasoftware/google-calendars-mcp-server-by-cdata.git
cd google-calendars-mcp-server-by-cdata
mvn clean install
此命令将创建JAR文件:CDataMCP-jar-with-dependencies.jar。lib
文件夹,通常路径如下:
C:\Program Files\CData\CData JDBC Driver for Google Calendars\
/Applications/CData JDBC Driver for Google Calendars/
java -jar cdata.jdbc.googlecalendar.jar --license
java -jar cdata.jdbc.googlecalendar.jar
打开连接字符串实用程序。注意:如果数据源使用OAuth,你需要在浏览器中进行身份验证。
.prp
文件(例如google-calendars.prp
),使用以下属性和格式:Prefix=googlecalendar
ServerName=CDataGoogleCalendar
ServerVersion=1.0
DriverPath=PATH\TO\cdata.jdbc.googlecalendar.jar
DriverClass=cdata.jdbc.googlecalendar.GoogleCalendarDriver
JdbcUrl=jdbc:googlecalendar:InitiateOAuth=GETANDREFRESH;
Tables=
claude_desktop_config.json
),以添加新的MCP服务器,使用以下格式。如果文件已存在,则将条目添加到配置文件的mcpServers
中。
{
"mcpServers": {
"{classname_dash}": {
"command": "PATH\\TO\\java.exe",
"args": [
"-jar",
"PATH\\TO\\CDataMCP-jar-with-dependencies.jar",
"PATH\\TO\\google-calendars.prp"
]
}
}
}
{
"mcpServers": {
"{classname_dash}": {
"command": "/PATH/TO/java",
"args": [
"-jar",
"/PATH/TO/CDataMCP-jar-with-dependencies.jar",
"/PATH/TO/google-calendars.prp"
]
}
}
}
cp C:\PATH\TO\claude_desktop_config.json %APPDATA%\Claude\claude_desktop_config.json
cp /PATH/TO/claude_desktop_config.json /Users/{user}/Library/Application\ Support/Claude/claude_desktop_config.json
注意:你可能需要完全退出并重新打开Claude Desktop客户端,MCP服务器才会显示。
运行以下命令单独启动MCP服务器:
java -jar /PATH/TO/CDataMCP-jar-with-dependencies.jar /PATH/TO/Salesforce.prp
注意:服务器使用
stdio
,因此只能与和服务器运行在同一台机器上的客户端配合使用。
MCP服务器配置完成后,AI客户端将能够使用内置工具对底层数据进行读写、更新和删除操作。通常,你无需显式调用这些工具,只需让客户端回答有关底层数据系统的问题即可。例如:
在以下定义中,{servername}
指的是配置文件中MCP服务器的名称(例如上述的 {classname_dash}
)。
{servername}_get_tables
:检索数据源中可用表的列表。使用 {servername}_get_columns
工具列出表上可用的列。该工具的输出将以CSV格式返回,第一行包含列标题。{servername}_get_columns
:检索表的列列表。使用 {servername}_get_tables
工具获取可用表的列表。该工具的输出将以CSV格式返回,第一行包含列标题。{servername}_run_query
:执行SQL SELECT查询如果你不使用AI客户端(如Claude),而是通过脚本向MCP服务器发送请求,那么在调用可用工具时,可以参考以下遵循JSON-RPC 2.0规范的JSON有效负载示例。
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "google_calendars_get_tables",
"arguments": {}
}
}
{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "google_calendars_get_columns",
"arguments": {
"table": "Account"
}
}
}
{
"jsonrpc": "2.0",
"id": 3,
"method": "tools/call",
"params": {
"name": "google_calendars_run_query",
"arguments": {
"sql": "SELECT * FROM [Account] WHERE [IsDeleted] = true"
}
}
}
.prp
)文件中。此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 | 更多... |