Apache Spark MCP Server by CData

MIT License
  • Linux
  • Apple
Integrations
  • Provides read-only access to Apache Spark data through SQL models, allowing for querying live data via natural language questions without requiring SQL knowledge. Tools include listing available tables, retrieving column information, and executing SQL SELECT queries against Spark.

apache-spark-mcp-сервер-by-cdata

Сервер протокола контекста модели (MCP) CData для Apache Spark

:heavy_exclamation_mark: Этот проект создает сервер MCP только для чтения. Для полных возможностей чтения, записи, обновления, удаления и действий, а также упрощенной настройки, ознакомьтесь с нашим бесплатным [сервером CData MCP для Apache Spark (бета)]( https://www.cdata.com/download/download.aspx?sku=ESZK-V &type=beta).

Цель

Мы создали этот сервер MCP, доступный только для чтения, чтобы позволить LLM (например, Claude Desktop) запрашивать данные Apache Spark в реальном времени, поддерживаемые драйвером CData JDBC для Apache Spark .

Драйвер CData JDBC подключается к Apache Spark, предоставляя их в виде реляционных моделей SQL.

Этот сервер оборачивает этот драйвер и делает данные Apache Spark доступными через простой интерфейс MCP, поэтому LLM могут получать актуальную информацию, задавая вопросы на естественном языке — SQL не требуется.

Руководство по настройке

  1. Клонируйте репозиторий:
    git clone https://github.com/cdatasoftware/apache-spark-mcp-server-by-cdata.git cd apache-spark-mcp-server-by-cdata
  2. Сборка сервера:
    mvn clean install
    Это создаст JAR-файл: CDataMCP-jar-with-dependencies.jar
  3. Загрузите и установите драйвер CData JDBC для {source}: https://www.cdata.com/drivers/spark/download/jdbc
  4. Лицензируйте драйвер CData JDBC:
    • Перейдите в папку lib в каталоге установки, обычно это:
      • (Windows) C:\Program Files\CData\CData JDBC Driver for Apache Spark\
      • (Mac/Linux) /Applications/CData JDBC Driver for Apache Spark/
    • Выполните команду java -jar cdata.jdbc.sparksql.jar --license
    • Введите свое имя, адрес электронной почты и «TRIAL» (или ваш лицензионный ключ).
  5. Настройте подключение к источнику данных (на примере Salesforce):
    • Выполните команду java -jar cdata.jdbc.sparksql.jar чтобы открыть утилиту Connection String.
    • Настройте строку подключения и нажмите «Проверить подключение».

      Примечание: если источники данных используют OAuth, вам потребуется пройти аутентификацию в браузере.

    • После успешного завершения скопируйте строку подключения для дальнейшего использования.
  6. Создайте файл .prp для вашего соединения JDBC (например, apache-spark.prp ), используя следующие свойства и формат:
    • Префикс — префикс, который будет использоваться для представленных инструментов.
    • ServerName - имя вашего сервера
    • ServerVersion - версия вашего сервера
    • DriverPath — полный путь к JAR-файлу вашего драйвера JDBC
    • DriverClass — имя класса драйвера JDBC (например, cdata.jdbc.sparksql.SparkSQLDriver)
    • JdbcUrl — строка подключения JDBC для использования с драйвером CData JDBC для подключения к вашим данным (скопировано выше)
    • Таблицы — оставьте поле пустым, чтобы получить доступ ко всем данным, в противном случае вы можете явно указать таблицы, к которым вы хотите создать доступ.
      Prefix=sparksql ServerName=CDataSparkSQL ServerVersion=1.0 DriverPath=PATH\TO\cdata.jdbc.sparksql.jar DriverClass=cdata.jdbc.sparksql.SparkSQLDriver JdbcUrl=jdbc:sparksql:InitiateOAuth=GETANDREFRESH; Tables=

Использование сервера с Claude Desktop

  1. Создайте файл конфигурации для Claude Desktop (claude_desktop_config.json) для добавления нового сервера MCP, используя формат ниже. Если файл уже существует, добавьте запись в mcpServers в файле конфигурации.Окна
    { "mcpServers": { "{classname_dash}": { "command": "PATH\\TO\\java.exe", "args": [ "-jar", "PATH\\TO\\CDataMCP-jar-with-dependencies.jar", "PATH\\TO\\apache-spark.prp" ] }, ... } }
    Линукс/Мак
    { "mcpServers": { "{classname_dash}": { "command": "/PATH/TO/java", "args": [ "-jar", "/PATH/TO/CDataMCP-jar-with-dependencies.jar", "/PATH/TO/apache-spark.prp" ] }, ... } }
    При необходимости скопируйте файл конфигурации в соответствующий каталог (например, Claude Desktop). Windows
    cp C:\PATH\TO\claude_desktop_config.json %APPDATA%\Claude\claude_desktop_config.json
    Линукс/Мак
    cp /PATH/TO/claude_desktop_config.json /Users/{user}/Library/Application\ Support/Claude/claude_desktop_config.json'
  2. Запустите или обновите свой клиент (Claude Desktop).

Примечание: Возможно, вам придется полностью выйти или закрыть клиент Claude Desktop и снова открыть его, чтобы серверы MCP появились.

Запуск сервера

  1. Выполните следующую команду, чтобы запустить MCP Server самостоятельно.
    java -jar /PATH/TO/CDataMCP-jar-with-dependencies.jar /PATH/TO/Salesforce.prp

Примечание: сервер использует stdio поэтому его можно использовать только с клиентами, работающими на той же машине, что и сервер.

Подробности использования

После настройки MCP Server клиент AI сможет использовать встроенные инструменты для чтения, записи, обновления и удаления базовых данных. В общем случае вам не нужно вызывать инструменты явно. Просто попросите клиента ответить на вопросы о базовой системе данных. Например:

  • «Какова взаимосвязь между моими закрытыми выигрышными возможностями и индустрией счетов?»
  • «Сколько у меня открытых тикетов в проекте SUPPORT?»
  • «Можете ли вы сказать, какие события в календаре у меня сегодня?»

Список доступных инструментов и их описания приведены ниже:

Инструменты и описания

В определениях ниже {servername} относится к имени сервера MCP в файле конфигурации (например {classname_dash} выше).

  • {servername}_get_tables — извлекает список таблиц, доступных в источнике данных. Используйте инструмент {servername}_get_columns для перечисления доступных столбцов в таблице. Вывод инструмента будет возвращен в формате CSV, при этом первая строка будет содержать заголовки столбцов.
  • {servername}_get_columns — Извлекает список столбцов для таблицы. Используйте инструмент {servername}_get_tables для получения списка доступных таблиц. Вывод инструмента будет возвращен в формате CSV, при этом первая строка будет содержать заголовки столбцов.
  • {servername}_run_query — выполнение запроса SQL SELECT

Поиск неисправностей

  1. Если вы не видите свой сервер CData MCP в Claude Desktop, убедитесь, что вы полностью вышли из Claude Desktop (Windows: используйте диспетчер задач, Mac: используйте монитор активности)
  2. Если Claude Desktop не может получить данные, убедитесь, что вы правильно настроили свое соединение. Используйте конструктор Connection String для создания строки соединения (см. выше) и скопируйте строку соединения в файл свойств (.prp).
  3. Если у вас возникли проблемы с подключением к источнику данных, обратитесь в службу поддержки CData .
  4. Если у вас возникли проблемы с использованием сервера MCP или вы хотите оставить отзыв, присоединяйтесь к сообществу CData .

Лицензия

Этот сервер MCP лицензирован по лицензии MIT. Это означает, что вы можете свободно использовать, изменять и распространять программное обеспечение в соответствии с условиями лицензии MIT. Для получения более подробной информации см. файл LICENSE в репозитории проекта.

Все поддерживаемые источники

Related MCP Servers

View all related MCP servers

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/CDataSoftware/apache-spark-mcp-server-by-cdata'

If you have feedback or need assistance with the MCP directory API, please join our Discord server