cdata-jira-mcp-interface
A read-only Model Context Protocol (MCP) server implementation facilitating natural language data retrieval from live Jira instances, eliminating the need for direct SQL scripting via the CData JDBC Driver for Jira.
Author

CDataSoftware
Quick Info
Actions
Tags
CData Jira MCP Access Point
This utility establishes a unidirectional interface for Large Language Models (LLMs) to query extant Jira data using the Model Context Protocol specification.
:warning: Read-Only Limitation: This specific deployment is configured strictly for data retrieval operations. For comprehensive CRUD (Create, Read, Update, Delete) functionalities, please evaluate the advanced, free CData MCP Server for Jira (beta).
Core Functionality
This server functions as a conduit, leveraging the robust CData JDBC Driver for Jira to map Jira's structure into a relational format accessible via SQL. The MCP wrapper then exposes this relational schema through a streamlined API, allowing conversational AI agents (such as Claude Desktop) to interpret plain-language requests into actionable data queries.
Deployment Instructions
Follow these sequence steps to compile and initialize the server components:
- Acquire Source Code: Clone the repository:
bash git clone https://github.com/cdatasoftware/jira-mcp-server-by-cdata.git cd jira-mcp-server-by-cdata - Compilation: Build the necessary artifact using Maven:
bash mvn clean installThis action generates the executable package:CDataMCP-jar-with-dependencies.jar - Driver Acquisition: Obtain the CData JDBC Driver for Jira from the official source: https://www.cdata.com/drivers/jira/download/jdbc and install it.
- Licensing the Driver: Activate the driver using your credentials or trial key:
- Navigate to the driver's
libsubdirectory (e.g., Windows:C:\Program Files\CData\CData JDBC Driver for Jira\| Unix:/Applications/CData JDBC Driver for Jira/). - Execute the licensing utility:
bash java -jar cdata.jdbc.jira.jar --license - Input the required personal data and specify "TRIAL" or your valid license code.
- Navigate to the driver's
- Connection String Configuration: Define the pathway to your Jira instance:
- Invoke the driver executable without arguments to launch the Connection String helper utility:
bash java -jar cdata.jdbc.jira.jar - Configure all connection parameters (including OAuth flows if applicable) and validate the linkage via "Test Connection".
- Capture the resultant JDBC URI for the next step.
- Invoke the driver executable without arguments to launch the Connection String helper utility:
- Property File Generation (
.prp): Construct a configuration file (e.g.,jira.prp) detailing the server exposition parameters. EnsureDriverPathpoints to the installed driver JAR andJdbcUrlmatches the string obtained above.env Prefix=jira ServerName=CDataJIRA ServerVersion=1.0 DriverPath=PATH\TO\cdata.jdbc.jira.jar DriverClass=cdata.jdbc.jira.JIRADriver JdbcUrl=jdbc:jira:InitiateOAuth=GETANDREFRESH; Tables=
Integration with AI Clients (e.g., Claude Desktop)
To enable the LLM environment to recognize and invoke this new data source:
-
Client Configuration Update: Generate or modify the client's configuration file (e.g.,
claude_desktop_config.json) to register the MCP server entry. The class name slugified (e.g.,cdata-jira-mcp-interface) is typically used as the map key.Windows Schema Snippet:
json { "mcpServers": { "cdata-jira-mcp-interface": { "command": "PATH\TO\java.exe", "args": [ "-jar", "PATH\TO\CDataMCP-jar-with-dependencies.jar", "PATH\TO\jira.prp" ] }, ... } }Linux/Mac Schema Snippet:
json { "mcpServers": { "cdata-jira-mcp-interface": { "command": "/PATH/TO/java", "args": [ "-jar", "/PATH/TO/CDataMCP-jar-with-dependencies.jar", "/PATH/TO/jira.prp" ] }, ... } }* Deployment: Ensure this configuration file resides in the client's designated application data path (e.g., Windows:%APPDATA%\Claude\claude_desktop_config.json). 2. Client Refresh: Restart the consuming application entirely to load the new server definition.
Server Execution Mode
If running the server independently for testing or direct JSON-RPC interaction:
bash
java -jar /PATH/TO/CDataMCP-jar-with-dependencies.jar /PATH/TO/jira.prp
Constraint: This server communicates via standard input/output (
stdio) and thus mandates co-location with the invoking client application.
Querying Mechanism
Once integrated, the AI agent will access Jira data via specific tool calls. The general instruction is to simply pose questions related to the data; the system handles the underlying tool orchestration.
- Example Inquiries:
- "Determine the volume of unassigned bugs within the 'DEV OPS' project."
- "List all issues assigned to 'John Doe' that have a priority level of 'Highest'."
Available Tools
The following functions are exposed, where {servername} corresponds to the key used in the client configuration (e.g., jira):
* {servername}_get_tables: Fetches a comprehensive list of accessible Jira entities (tables). Follow up with get_columns.
* {servername}_get_columns: Retrieves the attribute schema for a specified entity. Requires the table name argument.
* {servername}_run_query: Executes arbitrary SQL SELECT statements against the Jira data model. Requires the sql argument.
JSON-RPC Invocation Blueprints
For direct programmatic access adhering to JSON-RPC 2.0:
Retrieving Entity List (jira_get_tables)
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "jira_get_tables",
"arguments": {}
}
}
Inspecting Schema (jira_get_columns)
{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "jira_get_columns",
"arguments": {
"table": "IssueSummary"
}
}
}
Executing SQL (jira_run_query)
{
"jsonrpc": "2.0",
"id": 3,
"method": "tools/call",
"params": {
"name": "jira_run_query",
"arguments": {
"sql": "SELECT Summary, Status, Priority FROM [Issue] WHERE [ProjectName] = 'SUPPORT' AND [IsResolved] = false"
}
}
}
Diagnostics and Support
- Visibility Issue: If the server does not appear in the client interface, completely terminate the client process (check system monitors like Task Manager/Activity Monitor) and restart.
- Data Retrieval Failure: Verify that the connection string configured in the
.prpfile precisely matches the validated string from the Connection String utility. - Connection Problems: For issues linking to the Jira endpoint, engage the CData Support Desk.
- MCP Server Feedback: For operational issues or feature requests regarding this specific server wrapper, participate in the CData User Community.
Licensing Information
This project is distributed under the permissive MIT License, granting broad rights for usage, modification, and redistribution, contingent upon adherence to the terms specified in the repository's LICENSE file.
Driver Compatibility Matrix
This server supports integration with any data source accessible via a CData JDBC Driver. Jira is one of many supported sources, including (but not limited to) the extensive list shown below:
