返回 MCP 目录
public公开dns本地运行

google-calendars-mcp-server-by-cdata

该项目是一个基于CData JDBC驱动的Google日历MCP服务器,允许LLMs通过自然语言查询实时访问Google日历数据,无需编写SQL。

article

README

🚀 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 | 更多... |

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端