CData Sage 300

Un servidor MCP de solo lectura de CData que permite a los LLMs consultar datos en vivo de Sage 300.

Documentación

sage-300-mcp-server-by-cdata

Servidor de Model Context Protocol (MCP) de CData para Sage 300

:heavy_exclamation_mark: Este proyecto construye un servidor MCP de solo lectura. Para capacidades completas de lectura, escritura, actualización, eliminación y acciones, y una configuración simplificada, consulta nuestro Servidor MCP de CData para Sage 300.

Propósito

Creamos este servidor MCP de solo lectura para permitir que los LLM (como Claude Desktop) consulten datos en vivo de Sage 300 compatibles con el Controlador JDBC de CData para Sage 300.

El controlador JDBC de CData se conecta a Sage 300 exponiéndolos como modelos SQL relacionales.

Este servidor envuelve ese controlador y hace que los datos de Sage 300 estén disponibles a través de una interfaz MCP simple, para que los LLM puedan recuperar información en vivo haciendo preguntas en lenguaje natural, sin necesidad de SQL.

Guía de configuración

  1. Clona el repositorio:
    git clone https://github.com/cdatasoftware/sage-300-mcp-server-by-cdata.git
    cd sage-300-mcp-server-by-cdata
    
  2. Compila el servidor:
    mvn clean install
    
    Esto crea el archivo JAR: CDataMCP-jar-with-dependencies.jar
  3. Descarga e instala el controlador JDBC de CData para {source}: https://www.cdata.com/drivers/sage300/download/jdbc
  4. Licencia el controlador JDBC de CData:
    • Navega a la carpeta lib en el directorio de instalación, normalmente:
      • (Windows) C:\Program Files\CData\CData JDBC Driver for Sage 300\
      • (Mac/Linux) /Applications/CData JDBC Driver for Sage 300/
    • Ejecuta el comando java -jar cdata.jdbc.sage300.jar --license
    • Ingresa tu nombre, correo electrónico y "TRIAL" (o tu clave de licencia).
  5. Configura tu conexión a la fuente de datos (Salesforce como ejemplo):
    • Ejecuta el comando java -jar cdata.jdbc.sage300.jar para abrir la utilidad de cadena de conexión.

    • Configura la cadena de conexión y haz clic en "Probar conexión"

      Nota: Si la fuente de datos utiliza OAuth, deberás autenticarte en tu navegador.

    • Una vez que sea exitoso, copia la cadena de conexión para usarla más tarde.

  6. Crea un archivo .prp para tu conexión JDBC (p. ej. sage-300.prp) usando las siguientes propiedades y formato:
    • Prefix - un prefijo que se usará para las herramientas expuestas
    • ServerName - un nombre para tu servidor
    • ServerVersion - una versión para tu servidor
    • DriverPath - la ruta completa al archivo JAR de tu controlador JDBC
    • DriverClass - el nombre de la clase del controlador JDBC (p. ej. cdata.jdbc.sage300.Sage300Driver)
    • JdbcUrl - la cadena de conexión JDBC que se usará con el controlador JDBC de CData para conectarte a tus datos (copiada de arriba)
    • Tables - déjalo en blanco para acceder a todos los datos; de lo contrario, puedes declarar explícitamente las tablas a las que deseas crear acceso
      Prefix=sage300
      ServerName=CDataSage300
      ServerVersion=1.0
      DriverPath=PATH\TO\cdata.jdbc.sage300.jar
      DriverClass=cdata.jdbc.sage300.Sage300Driver
      JdbcUrl=jdbc:sage300:InitiateOAuth=GETANDREFRESH;
      Tables=
      

Uso del servidor con Claude Desktop

  1. Crea el archivo de configuración para Claude Desktop (claude_desktop_config.json) para agregar el nuevo servidor MCP, usando el formato a continuación. Si el archivo ya existe, agrega la entrada a mcpServers en el archivo de configuración.

    Windows

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

    Linux/Mac

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

    Si es necesario, copia el archivo de configuración al directorio apropiado (Claude Desktop como ejemplo). 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. Ejecuta o actualiza tu cliente (Claude Desktop).

Nota: Es posible que debas salir o cerrar por completo tu cliente de Claude Desktop y volver a abrirlo para que aparezcan los servidores MCP.

Ejecución del servidor

  1. Ejecuta el siguiente comando para ejecutar el servidor MCP por sí solo
    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"
        }
    }
}

Solución de problemas

  1. Si no puedes ver tu servidor MCP de CData en Claude Desktop, asegúrate de haber cerrado por completo Claude Desktop (Windows: usa el Administrador de tareas, Mac: usa el Monitor de actividad)
  2. Si Claude Desktop no puede recuperar datos, asegúrate de haber configurado tu conexión correctamente. Usa el generador de cadenas de conexión para crear la cadena de conexión (ver arriba) y copia la cadena de conexión en el archivo de propiedades (.prp).
  3. Si tienes problemas para conectarte a tu fuente de datos, contacta al Equipo de soporte de CData.
  4. Si tienes problemas para usar el servidor MCP o tienes cualquier otro comentario, únete a la Comunidad de CData.

Licencia

Este servidor MCP está licenciado bajo la Licencia MIT. Esto significa que eres libre de usar, modificar y distribuir el software, sujeto a los términos y condiciones de la Licencia MIT. Para más detalles, consulta el archivo LICENSE en el repositorio del proyecto.

Todas las fuentes compatibles

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... Docenas más