home / mcp / github mcp server
This read-only MCP Server allows you to connect to GitHub data from Claude Desktop through CData JDBC Drivers. For full CRUD support, check out the first managed MCP platform: CData Connect AI (https://www.cdata.com/ai/).
Configuration
View docs{
"mcpServers": {
"cdatasoftware-github-mcp-server-by-cdata": {
"command": "java",
"args": [
"-jar",
"/PATH/TO/CDataMCP-jar-with-dependencies.jar",
"/PATH/TO/github.prp"
]
}
}
}You can run a local, read-only MCP server that exposes live GitHub data through an MCP interface. This lets language models query GitHub data without writing SQL, while ensuring data remains read-only and up-to-date through the JDBC-backed data source.
You will start the MCP server locally and connect your MCP client (for example Claude Desktop or another MCP-enabled assistant) to it. The server runs on your machine and communicates via standard input/output, so your client must be on the same host. Start the server with Java, pointing to your prepared configuration file. Once running, load the server in your MCP client by adding a new MCP server entry that invokes the Java process and passes the configuration path.
Prerequisites you need on your machine before installing: a Java runtime (JRE/JDK) and Git for cloning the repository. You will also need Maven to build the server from source.
# 1) Clone the repository
git clone https://github.com/cdatasoftware/github-mcp-server-by-cdata.git
cd github-mcp-server-by-cdata
# 2) Build the server
mvn clean install
# This produces the JAR: CDataMCP-jar-with-dependencies.jar
# 3) Obtain and install the CData JDBC Driver for GitHub from the official source
# 4) License the JDBC Driver (example steps shown; use your own license information)
# - Open a terminal in the driver installation directory
# - Run: java -jar cdata.jdbc.github.jar --license
# - Enter your name, email, and license key when prompted
# 5) Configure your JDBC connection (use the wizard to generate a connection string)
# - Run: java -jar cdata.jdbc.github.jar
# - Test the connection and copy the produced JDBC URL
# 6) Create a properties file for your JDBC connection (e.g. 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=
# 7) Start the MCP server once you have the .prp file ready
# The runtime command is shown in the next sectionPrepare a Claude Desktop or compatible MCP client configuration to load the MCP server. You will add a new entry under the mcpServers section that runs Java with the server JAR and the github.prp configuration file. The MCP client will use this local server to query GitHub data.
Windows example config snippet for Claude Desktop
{
"mcpServers": {
"github_mcp": {
"command": "PATH\\TO\\java.exe",
"args": [
"-jar",
"PATH\\TO\\CDataMCP-jar-with-dependencies.jar",
"PATH\\TO\\github.prp"
]
}
}
}
Linux/macOS example config snippet for Claude Desktop
{
"mcpServers": {
"github_mcp": {
"command": "/PATH/TO/java",
"args": [
"-jar",
"/PATH/TO/CDataMCP-jar-with-dependencies.jar",
"/PATH/TO/github.prp"
]
}
}
}Start the MCP server on its own process using the built JAR and your .prp file. The server runs in stdio mode, so your MCP client must be on the same machine.
java -jar /PATH/TO/CDataMCP-jar-with-dependencies.jar /PATH/TO/github.prpAfter the server is running, your MCP client can use the built-in tools to read data from GitHub. You can ask natural language questions to retrieve information such as repository details, issue stats, pull request status, and user information. The client will automatically route questions to the MCP server, which executes the underlying queries and returns results in a convenient format.
Retrieves a list of accessible tables (GitHub data groups) from the MCP server. Output is CSV with column headers.
Retrieves the columns for a specified table, enabling you to understand the available fields for queries.
Executes a SQL SELECT-style query against the exposed data to retrieve customized results.