Google Calendars Mcp Server By Cdata

Google Calendars Mcp Server By Cdata

🚀 Google日历的CData MCP服务器

本项目借助CData的模型上下文协议(MCP),打造了一个用于Google日历的服务器,让大语言模型(LLMs)能以自然语言轻松查询实时日历数据,无需编写SQL。

⚠️ 重要提示

本项目构建的是只读的MCP服务器。若你需要完整的读写、更新、删除和操作功能,以及更简化的设置,请查看我们免费的 Google日历CData MCP服务器(测试版)

🚀 快速开始

项目用途

我们创建这个只读MCP服务器,是为了让大语言模型(如Claude Desktop)能够查询由 CData JDBC驱动程序 支持的Google日历实时数据。CData JDBC驱动程序通过将Google日历作为关系型SQL模型来连接,而此服务器则封装了该驱动程序,通过简单的MCP接口提供Google日历数据。这样,大语言模型就能通过自然语言问题检索实时信息,无需使用SQL。

安装指南

  1. 克隆仓库
    git clone https://github.com/cdatasoftware/google-calendars-mcp-server-by-cdata.git
    cd google-calendars-mcp-server-by-cdata
    
  2. 构建服务器
    mvn clean install
    
    此命令将创建JAR文件:CDataMCP-jar-with-dependencies.jar。
  3. 下载并安装CData JDBC驱动程序https://www.cdata.com/drivers/googlecalendar/download/jdbc
  4. 为CData JDBC驱动程序授权
    • 导航到安装目录中的lib文件夹,通常路径如下:
      • (Windows)C:\Program Files\CData\CData JDBC Driver for Google Calendars\
      • (Mac/Linux)/Applications/CData JDBC Driver for Google Calendars/
    • 运行命令java -jar cdata.jdbc.googlecalendar.jar --license
    • 输入你的姓名、电子邮件和“TRIAL”(或你的许可证密钥)。
  5. 配置与数据源的连接(以Salesforce为例)
    • 运行命令java -jar cdata.jdbc.googlecalendar.jar打开连接字符串实用程序。
    • 配置连接字符串并点击“测试连接”。

      注意:如果数据源使用OAuth,你需要在浏览器中进行身份验证。

    • 连接成功后,复制连接字符串以备后续使用。
  6. 创建JDBC连接的.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与服务器配合

  1. 创建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\\google-calendars.prp"
      ]
      }
      }
      }
      
    • Linux/Mac
      {
      "mcpServers": {
      "{classname_dash}": {
      "command": "/PATH/TO/java",
      "args": [
      "-jar",
      "/PATH/TO/CDataMCP-jar-with-dependencies.jar",
      "/PATH/TO/google-calendars.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
      
  2. 运行或刷新客户端(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有效负载示例。

google_calendars_get_tables

{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "google_calendars_get_tables",
"arguments": {}
}
}

google_calendars_get_columns

{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "google_calendars_get_columns",
"arguments": {
"table":  "Account"
}
}
}

google_calendars_run_query

{
"jsonrpc": "2.0",
"id": 3,
"method": "tools/call",
"params": {
"name": "google_calendars_run_query",
"arguments": {
"sql":  "SELECT * FROM [Account] WHERE [IsDeleted] = true"
}
}
}

故障排除

  1. 如果你在Claude Desktop中看不到CData MCP服务器,请确保已完全退出Claude Desktop(Windows:使用任务管理器,Mac:使用活动监视器)。
  2. 如果Claude Desktop无法检索数据,请确保已正确配置连接。使用连接字符串构建器创建连接字符串(见上文),并将连接字符串复制到属性(.prp)文件中。
  3. 如果你在连接数据源时遇到问题,请联系 CData支持团队
  4. 如果你在使用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 更多...
  • 0 关注
  • 0 收藏,8 浏览
  • system 提出于 2025-09-29 00:42

相似服务问题