CData EnterpriseDB MCP Server

Um servidor MCP somente leitura da CData que permite que LLMs consultem dados ao vivo de bancos de dados EnterpriseDB.

Documentação

enterprisedb-mcp-server-by-cdata

Servidor Model Context Protocol (MCP) da CData para EnterpriseDB

:heavy_exclamation_mark: Este projeto constrói um servidor MCP somente leitura. Para capacidades completas de leitura, escrita, atualização, exclusão e ações, e uma configuração simplificada, confira nosso CData MCP Server for EnterpriseDB.

Propósito

Criamos este servidor MCP somente leitura para permitir que LLMs (como Claude Desktop) consultem dados ao vivo do EnterpriseDB suportados pelo CData JDBC Driver for EnterpriseDB.

O CData JDBC Driver conecta-se ao EnterpriseDB expondo-os como modelos SQL relacionais.

Este servidor encapsula esse driver e disponibiliza os dados do EnterpriseDB por meio de uma interface MCP simples, para que LLMs possam recuperar informações ao vivo fazendo perguntas em linguagem natural — sem necessidade de SQL.

Guia de Configuração

  1. Clone o repositório:
    git clone https://github.com/cdatasoftware/enterprisedb-mcp-server-by-cdata.git
    cd enterprisedb-mcp-server-by-cdata
    
  2. Compile o servidor:
    mvn clean install
    
    Isso cria o arquivo JAR: CDataMCP-jar-with-dependencies.jar
  3. Baixe e instale o CData JDBC Driver para {source}: https://www.cdata.com/drivers/enterprisedb/download/jdbc
  4. Licencie o CData JDBC Driver:
    • Navegue até a pasta lib no diretório de instalação, normalmente:
      • (Windows) C:\Program Files\CData\CData JDBC Driver for EnterpriseDB\
      • (Mac/Linux) /Applications/CData JDBC Driver for EnterpriseDB/
    • Execute o comando java -jar cdata.jdbc.enterprisedb.jar --license
    • Digite seu nome, e-mail e "TRIAL" (ou sua chave de licença).
  5. Configure sua conexão com a fonte de dados (Salesforce como exemplo):
    • Execute o comando java -jar cdata.jdbc.enterprisedb.jar para abrir o utilitário de Connection String.

    • Configure a string de conexão e clique em "Test Connection"

      Nota: Se a fonte de dados usar OAuth, você precisará autenticar no seu navegador.

    • Depois de bem-sucedido, copie a string de conexão para uso posterior.

  6. Crie um arquivo .prp para sua conexão JDBC (por exemplo, enterprisedb.prp) usando as seguintes propriedades e formato:
    • Prefix - um prefixo a ser usado para as ferramentas expostas
    • ServerName - um nome para o seu servidor
    • ServerVersion - uma versão para o seu servidor
    • DriverPath - o caminho completo para o arquivo JAR do seu driver JDBC
    • DriverClass - o nome da classe do driver JDBC (por exemplo, cdata.jdbc.enterprisedb.EnterpriseDBDriver)
    • JdbcUrl - a string de conexão JDBC a ser usada com o CData JDBC Driver para conectar-se aos seus dados (copiada acima)
    • Tables - deixe em branco para acessar todos os dados, caso contrário, você pode declarar explicitamente as tabelas para as quais deseja criar acesso
      Prefix=enterprisedb
      ServerName=CDataEnterpriseDB
      ServerVersion=1.0
      DriverPath=PATH\TO\cdata.jdbc.enterprisedb.jar
      DriverClass=cdata.jdbc.enterprisedb.EnterpriseDBDriver
      JdbcUrl=jdbc:enterprisedb:InitiateOAuth=GETANDREFRESH;
      Tables=
      

Usando o Servidor com Claude Desktop

  1. Crie o arquivo de configuração para o Claude Desktop (claude_desktop_config.json) para adicionar o novo servidor MCP, usando o formato abaixo. Se o arquivo já existir, adicione a entrada ao mcpServers no arquivo de configuração.

    Windows

    {
      "mcpServers": {
        "{classname_dash}": {
          "command": "PATH\\TO\\java.exe",
          "args": [
            "-jar",
            "PATH\\TO\\CDataMCP-jar-with-dependencies.jar",
            "PATH\\TO\\enterprisedb.prp"
          ]
        },
        ...
      }
    }
    

    Linux/Mac

    {
      "mcpServers": {
        "{classname_dash}": {
          "command": "/PATH/TO/java",
          "args": [
            "-jar",
            "/PATH/TO/CDataMCP-jar-with-dependencies.jar",
            "/PATH/TO/enterprisedb.prp"
          ]
        },
        ...
      }
    }
    

    Se necessário, copie o arquivo de configuração para o diretório apropriado (Claude Desktop como exemplo). 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. Execute ou atualize seu cliente (Claude Desktop).

Nota: Talvez seja necessário sair ou encerrar completamente o cliente Claude Desktop e reabri-lo para que os Servidores MCP apareçam.

Executando o Servidor

  1. Execute o seguinte comando para executar o Servidor MCP por conta própria
    java -jar /PATH/TO/CDataMCP-jar-with-dependencies.jar /PATH/TO/Salesforce.prp
    

Note: The server uses stdio so can only be used with clients that run on the same machine as the server.

Usage Details

Once the MCP Server is configured, the AI client will be able to use the built-in tools to read, write, update, and delete the underlying data. In general, you do not need to call the tools explicitly. Simply ask the client to answer questions about the underlying data system. For example:

  • "What is the correlation between my closed won opportunities and the account industry?"
  • "How many open tickets do I have in the SUPPORT project?"
  • "Can you tell me what calendar events I have today?"

The list of tools available and their descriptions follow:

Tools & Descriptions

In the definitions below, {servername} refers to the name of the MCP Server in the config file (e.g. {classname_dash} above).

  • {servername}_get_tables - Retrieves a list of tables available in the data source. Use the {servername}_get_columns tool to list available columns on a table. The output of the tool will be returned in CSV format, with the first line containing column headers.
  • {servername}_get_columns - Retrieves a list of columns for a table. Use the {servername}_get_tables tool to get a list of available tables. The output of the tool will be returned in CSV format, with the first line containing column headers.
  • {servername}_run_query - Execute a SQL SELECT query

JSON-RPC Request Examples

If you are scripting out the requests sent to the MCP Server instead of using an AI Client (e.g. Claude), then you can refer to the JSON payload examples below – following the JSON-RPC 2.0 specification - when calling the available tools.

source_get_tables

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

source_get_columns

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

source_run_query

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

Solução de Problemas

  1. Se você não conseguir ver seu CData MCP Server no Claude Desktop, certifique-se de ter encerrado completamente o Claude Desktop (Windows: use o Gerenciador de Tarefas, Mac: use o Monitor de Atividades)
  2. Se o Claude Desktop não conseguir recuperar dados, certifique-se de ter configurado sua conexão corretamente. Use o construtor de Connection String para criar a string de conexão (veja acima) e copie a string de conexão para o arquivo de propriedades (.prp).
  3. Se você estiver tendo problemas para conectar-se à sua fonte de dados, entre em contato com a CData Support Team.
  4. Se você estiver tendo problemas para usar o servidor MCP, ou tiver qualquer outro feedback, junte-se à CData Community.

Licença

Este servidor MCP é licenciado sob a Licença MIT. Isso significa que você é livre para usar, modificar e distribuir o software, sujeito aos termos e condições da Licença MIT. Para mais detalhes, consulte o arquivo LICENSE no repositório do projeto.

Todas as fontes suportadas

AccessAct CRMAct-OnActive Directory
ActiveCampaignAcumaticaAdobe AnalyticsAdobe Commerce
ADPAirtableAlloyDBAmazon Athena
Amazon DynamoDBAmazon MarketplaceAmazon S3Asana
Authorize.NetAvalara AvaTaxAvroAzure Active Directory
Azure Analysis ServicesAzure Data CatalogAzure Data Lake StorageAzure DevOps
Azure SynapseAzure TableBasecampBigCommerce
BigQueryBing AdsBing SearchBitbucket
Blackbaud FE NXTBoxBullhorn CRMCassandra
CertiniaCloudantCockroachDBConfluence
Cosmos DBCouchbaseCouchDBCSV
CventDatabricksDB2DocuSign
DropboxDynamics 365Dynamics 365 Business CentralDynamics CRM
Dynamics GPDynamics NAVeBayeBay Analytics
ElasticsearchEmailEnterpriseDBEpicor Kinetic
Exact OnlineExcelExcel OnlineFacebook
Facebook AdsFHIRFreshdeskFTP
GitHubGmailGoogle Ad ManagerGoogle Ads
Google AnalyticsGoogle CalendarGoogle Campaign Manager 360Google Cloud Storage
Google ContactsGoogle Data CatalogGoogle DirectoryGoogle Drive
Google SearchGoogle SheetsGoogle SpannerGraphQL
GreenhouseGreenplumHarperDBHBase
HCL DominoHDFSHighriseHive
HubDBHubSpotIBM Cloud Data EngineIBM Cloud Object Storage
IBM InformixImpalaInstagramJDBC-ODBC Bridge
JiraJira AssetsJira Service ManagementJSON
KafkaKintoneLDAPLinkedIn
LinkedIn AdsMailChimpMariaDBMarketo
MarkLogicMicrosoft DataverseMicrosoft Entra IDMicrosoft Exchange
Microsoft OneDriveMicrosoft PlannerMicrosoft ProjectMicrosoft Teams
Monday.comMongoDBMYOB AccountRightMySQL
nCinoNeo4JNetSuiteOData
OdooOffice 365OktaOneNote
OracleOracle EloquaOracle Financials CloudOracle HCM Cloud
Oracle SalesOracle SCMOracle Service CloudOutreach.io
ParquetPaylocityPayPalPhoenix
PingOnePinterestPipedrivePostgreSQL
Power BI XMLAPrestoQuickbaseQuickBooks
QuickBooks OnlineQuickBooks TimeRaisers Edge NXTReckon
Reckon Accounts HostedRedisRedshiftREST
RSSSage 200Sage 300Sage 50 UK
Sage Cloud AccountingSage IntacctSalesforceSalesforce Data Cloud
Salesforce Financial Service CloudSalesforce MarketingSalesforce Marketing Cloud Account EngagementSalesforce Pardot
SalesloftSAPSAP Ariba ProcurementSAP Ariba Source
SAP Business OneSAP BusinessObjects BISAP ByDesignSAP Concur
SAP FieldglassSAP HANASAP HANA XS AdvancedSAP Hybris C4C
SAP Netweaver GatewaySAP SuccessFactorsSAS Data SetsSAS xpt
SendGridServiceNowSFTPSharePoint
SharePoint Excel ServicesShipStationShopifySingleStore
SlackSmartsheetSnapchat AdsSnowflake
SparkSplunkSQL Analysis ServicesSQL Server
SquareStripeSugar CRMSuiteCRM
SurveyMonkeySybaseSybase IQTableau CRM Analytics
TallyTaxJarTeradataTier1
TigerGraphTrelloTrinoTwilio
TwitterTwitter AdsVeeva CRMVeeva Vault
Wave FinancialWooCommerceWordPressWorkday
xBaseXeroXMLYouTube Analytics
ZendeskZoho BooksZoho CreatorZoho CRM
Zoho InventoryZoho ProjectsZuora... Dezenas de Outros