cdata-slack-mcp-connector-service
Facilitates natural language interactions with live Slack workspace data via a read-only Model Context Protocol (MCP) endpoint, eliminating the prerequisite of SQL proficiency for data access and retrieval.
Author

CDataSoftware
Quick Info
Actions
Tags
CData's Slack Connector via Model Context Protocol (MCP)
Disclaimer: This implementation provides read-only access through the MCP framework. For comprehensive data manipulation capabilities (Read, Write, Update, Delete, and Actions) along with a streamlined setup process, please explore the fully featured, complimentary CData MCP Server for Slack (Beta).
Core Objective
This read-only MCP Server component was engineered to permit Large Language Models (LLMs), such as Claude Desktop, to execute queries against current data residing within Slack. This functionality is underpinned by the robust CData JDBC Driver for Slack.
The CData JDBC Driver translates Slack's structure into standard relational SQL models. Our server encapsulates this driver, exposing the Slack datasets through a straightforward MCP interface. Consequently, LLMs can retrieve live data by posing questions in plain language—no complex SQL syntax required.
Deployment Instructions
- Acquire the source code repository:
bash git clone https://github.com/cdatasoftware/slack-mcp-server-by-cdata.git cd slack-mcp-server-by-cdata - Compile the server artifact:
bash mvn clean installThis step generates the necessary executable JAR:CDataMCP-jar-with-dependencies.jar - Obtain and install the requisite CData JDBC Driver for Slack: https://www.cdata.com/drivers/slack/download/jdbc
- Activate the CData JDBC Driver using your license:
- Navigate to the
libdirectory within the driver's installation location (e.g.,C:\Program Files\CData\CData JDBC Driver for Slack\on Windows or/Applications/CData JDBC Driver for Slack/on Mac/Linux). - Execute the licensing command:
java -jar cdata.jdbc.slack.jar --license - Input your credentials (Name, Email, and use "TRIAL" or your valid key).
- Navigate to the
- Establish and configure the data source connection:
- Launch the Connection String utility using:
java -jar cdata.jdbc.slack.jar - Configure the required connection parameters and validate the connection via "Test Connection".
Note: OAuth-dependent sources will necessitate browser-based authentication.
- Upon successful connection, capture the resultant JDBC connection string.
- Launch the Connection String utility using:
- Formulate a property file (e.g.,
slack.prp) defining the server parameters:- Prefix: A namespace identifier for the exposed tools.
- ServerName: The designated name for the MCP server instance.
- ServerVersion: The version identifier.
- DriverPath: The absolute filesystem path to the JDBC driver's JAR file.
- DriverClass: The fully qualified class name of the JDBC driver (e.g.,
cdata.jdbc.slack.SlackDriver). - JdbcUrl: The connection string obtained in the previous step.
- Tables: Specify desired tables explicitly, or leave empty to grant access to all available structures.
env Prefix=slack ServerName=CDataSlack ServerVersion=1.0 DriverPath=PATH\TO\cdata.jdbc.slack.jar DriverClass=cdata.jdbc.slack.SlackDriver JdbcUrl=jdbc:slack:InitiateOAuth=GETANDREFRESH; Tables=
Integrating with Claude Desktop
-
Prepare the configuration file for Claude Desktop (
claude_desktop_config.json), adding the new server definition under themcpServersblock. If the file exists, merge the new entry.Windows Configuration Snippet
json { "mcpServers": { "{classname_dash}": { "command": "PATH\TO\java.exe", "args": [ "-jar", "PATH\TO\CDataMCP-jar-with-dependencies.jar", "PATH\TO\slack.prp" ] }, ... } }Linux/Mac Configuration Snippet
json { "mcpServers": { "{classname_dash}": { "command": "/PATH/TO/java", "args": [ "-jar", "/PATH/TO/CDataMCP-jar-with-dependencies.jar", "/PATH/TO/slack.prp" ] }, ... } }If necessary, relocate the configuration file to the client's designated directory (e.g., Claude Desktop):bash # 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. Restart or refresh the client application (e.g., Claude Desktop) to ensure the newly defined MCP Servers are recognized.
Crucial Step: If the MCP server does not appear, fully terminate the client application (using Task Manager on Windows or Activity Monitor on Mac) before relaunching.
Standalone Server Execution
To launch the MCP Server independently: ```bash java -jar /PATH/TO/CDataMCP-jar-with-dependencies.jar /PATH/TO/slack.prp
Constraint: The server communicates via standard input/output (
stdio) and thus requires the consuming client to execute on the same host machine.
Operational Guidance
Once the MCP Server is correctly initialized and configured within the AI client, the client gains access to built-in capabilities for interacting with the underlying Slack data (read operations). Explicit tool invocation is generally unnecessary; simply prompt the client with questions regarding the data system. Examples include: * "Identify the relationship between my successfully closed deals and the associated client industry categories." * "Tally the count of unresolved support cases within the 'OPERATIONS' group." * "List my scheduled appointments for the current day."
Available Toolset & Descriptions
Tool names below use {servername} as a placeholder for the identifier defined in the configuration file (e.g., {classname_dash}).
* {servername}_get_tables: Fetches the complete manifest of accessible datasets within the source. Use {servername}_get_columns subsequently to detail structure. Output is delivered in CSV format, with the header row identifying columns.
* {servername}_get_columns: Retrieves the structural definition (columns) for a specified dataset. Refer to {servername}_get_tables for the list of valid datasets. Output adheres to CSV format, beginning with column headers.
* {servername}_run_query: Executes an arbitrary SQL SELECT statement against the data source.
JSON-RPC Call Illustrations
For developers scripting direct interactions with the MCP Server rather than utilizing an integrated AI interface, refer to these JSON-RPC 2.0 compliant payload examples for tool invocation.
slack_get_tables
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "slack_get_tables",
"arguments": {}
}
}
slack_get_columns
{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "slack_get_columns",
"arguments": {
"table": "Account"
}
}
}
slack_run_query
{
"jsonrpc": "2.0",
"id": 3,
"method": "tools/call",
"params": {
"name": "slack_run_query",
"arguments": {
"sql": "SELECT * FROM [Account] WHERE [IsDeleted] = true"
}
}
}
Diagnostic Assistance
- Client Not Detecting Server: Confirm that the client application (e.g., Claude Desktop) has been completely shut down (via system monitors if necessary) and restarted.
- Data Retrieval Failures: Verify the connection parameters. Use the Connection String utility to generate and confirm the string before embedding it into the property (
.prp) file. - Source Connectivity Issues: For problems establishing a connection to Slack itself, please engage the CData Support Team.
- MCP Server Feedback: For issues related to the server operation or general feedback, utilize the CData Community.
Licensing
This server package is released under the MIT License, permitting unrestricted use, modification, and redistribution, contingent upon adherence to the terms specified in the LICENSE file.
Comprehensive Data Source Compatibility
| 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 | EnterpriseDB | Epicor Kinetic | |
| Exact Online | Excel | Excel Online | |
| 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 | JDBC-ODBC Bridge | |
| Jira | Jira Assets | Jira Service Management | JSON |
| Kafka | Kintone | LDAP | |
| 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 | 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 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 | ... Dozens More |
WIKIPEDIA CONTEXT: Business management tools encompass the entire spectrum of systems, applications, controls, computational solutions, and methodologies utilized by organizations to effectively navigate market fluctuations, maintain competitive standing, and elevate overall operational performance.
