Github Mcp Server By Cdata

Github Mcp Server By Cdata

🚀 github-mcp-server-by-cdata

本项目是CData为GitHub打造的模型上下文协议(MCP)服务器,可让大语言模型(LLM)查询GitHub实时数据,无需编写SQL语句。

⚠️ 重要提示

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

🚀 快速开始

我们创建这个只读MCP服务器,是为了让大语言模型(如Claude Desktop)能够通过 CData JDBC Driver for GitHub 查询GitHub的实时数据。

CData JDBC驱动程序通过将GitHub数据以关系型SQL模型的形式呈现,实现与GitHub的连接。该服务器封装了这个驱动程序,并通过简单的MCP接口提供GitHub数据,使得大语言模型可以通过自然语言问题检索实时信息,无需使用SQL。

✨ 主要特性

  • 允许大语言模型(如Claude Desktop)查询GitHub实时数据。
  • 封装CData JDBC驱动程序,通过简单的MCP接口提供数据。
  • 支持自然语言查询,无需编写SQL语句。

📦 安装指南

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

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

    • 连接成功后,复制连接字符串以备后用。
  6. 为JDBC连接创建.prp文件(例如github.prp
    Prefix=github
    ServerName=CDataGitHub
    ServerVersion=1.0
    DriverPath=PATH\TO\cdata.jdbc.github.jar
    DriverClass=cdata.jdbc.github.GitHubDriver
    JdbcUrl=jdbc:github:InitiateOAuth=GETANDREFRESH;
    Tables=
    

💻 使用示例

基础用法

在Claude Desktop中使用该服务器:

  1. 创建Claude Desktop的配置文件(claude_desktop_config.jsonWindows
    {
    "mcpServers": {
    "{classname_dash}": {
    "command": "PATH\\TO\\java.exe",
    "args": [
    "-jar",
    "PATH\\TO\\CDataMCP-jar-with-dependencies.jar",
    "PATH\\TO\\github.prp"
    ]
    }
    }
    }
    
    Linux/Mac
    {
    "mcpServers": {
    "{classname_dash}": {
    "command": "/PATH/TO/java",
    "args": [
    "-jar",
    "/PATH/TO/CDataMCP-jar-with-dependencies.jar",
    "/PATH/TO/github.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有效负载示例(遵循JSON-RPC 2.0规范)来调用可用工具。

github_get_tables

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

github_get_columns

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

github_run_query

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

🔧 技术细节

CData JDBC驱动程序将GitHub数据以关系型SQL模型的形式呈现,实现与GitHub的连接。该服务器封装了这个驱动程序,并通过简单的MCP接口提供GitHub数据,使得大语言模型可以通过自然语言问题检索实时信息,无需使用SQL。

📄 许可证

本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-26 22:39

相似服务问题