mcpField
F
Focus_mcp_sql

Focus_mcp_sql

ローカル
datafocus.aiデータベース3880 週間前に更新

Focus_mcp_sql について

focus_mcp_sql は、FocusSearch のキーワード解析に基づく NL2SQL の MCP サーバーで、自然言語を SQL 文に変換します。キーワードから SQL へ至る二段階の生成方式により、非技術者でも結果の根拠を確認しやすくなっています。

主な機能

  1. 01二段階生成:キーワードを生成してから SQL に変換
  2. 02キーワードによる確認で幻覚のリスクを抑制
  3. 03gptText2sqlStart と gptText2sqlChat のツール
  4. 04英語と中国語の言語設定に対応

活用シーン

  1. 01非技術者による自然言語でのデータベース検索
  2. 02AI アシスタントを通じたデータに関する質疑応答
  3. 03テーブル構造とリレーションからのクエリ生成

MCP 対応

本プロジェクトは MCP サーバーであり、AI アシスタントにモデルの初期化と自然言語から SQL への変換ツールを提供します。利用には DataFocus の Bearer トークンが必要です。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

FOCUS DATA MCP サーバー [中文]

Model Context Protocol(MCP)サーバーを使用すると、AI アシスタントは自然言語を SQL 文に変換できます。

Text-to-SQL フレームワークはすでに数多くあります。なぜ、さらに別のものが必要なのでしょうか?

簡単に言うと、focus_mcp_sql は2段階の SQL 生成方式を採用しており、LLM のハルシネーションを制御できるため、技術に詳しくないユーザーが生成された SQL の結果を信頼できるようになります。

以下は、focus_mcp_sql と他のフレームワークの比較表です。

比較分析表

以下では、focus_mcp_sql と他の LLM ベースのフレームワークを並べて比較しています。

特徴従来の LLM フレームワークfocus_mcp_sql
生成プロセスブラックボックス、SQL を直接生成透明性のある2段階方式(キーワード+SQL)
ハルシネーションのリスク高い。モデルの品質に依存低い。制御可能(キーワード検証)
速度遅い。大規模モデルの推論に依存速い。キーワードから SQL への変換は決定的
コスト高い。高度なモデルが必要低い。大規模モデルへの依存を軽減
技術に詳しくないユーザーにとっての使いやすさ低い。結果の検証が難しい高い。キーワードを簡単に確認できる

機能

-モデルを初期化 -自然言語を SQL 文に変換

前提条件

  • jdk 23 以上。jdk をダウンロード
  • gradle 8.12 以上。gradle をダウンロード
  • Datafocus に登録して bearer token を取得します:
    1. Datafocus にアカウントを登録します
    2. アプリケーションを作成します
    3. アプリケーションを開きます
    4. Admin -> Interface authentication -> Bearer Token -> New Bearer Token ベアラートークン

インストール

  1. このリポジトリをクローンします:
git clone https://github.com/FocusSearch/focus_mcp_sql.git
cd focus_mcp_sql
  1. サーバーをビルドします:
gradle clean
gradle bootJar

The jar path: build/libs/focus_mcp_sql.jar

MCP の設定

MCP の設定ファイルにサーバーを追加します:

{
  "mcpServers": {
    "focus_mcp_data": {
      "command": "java",
      "args": [
        "-jar",
        "path/to/focus_mcp_sql/focus_mcp_sql.jar"
      ],
      "autoApprove": [
        "gptText2sqlStart",
        "gptText2sqlChat"
      ]
    }
  }
}

利用可能なツール

1. gptText2sqlStart

モデルを初期化します。

パラメーター:

  • model(必須):テーブルモデル
  • bearer(必須):ベアラートークン
  • language(任意):言語 ['english','chinese']

例:

{
  "model": {
    "tables": [
      {
        "columns": [
          {
            "columnDisplayName": "name",
            "dataType": "string",
            "aggregation": "",
            "columnName": "name"
          },
          {
            "columnDisplayName": "address",
            "dataType": "string",
            "aggregation": "",
            "columnName": "address"
          },
          {
            "columnDisplayName": "age",
            "dataType": "int",
            "aggregation": "SUM",
            "columnName": "age"
          },
          {
            "columnDisplayName": "date",
            "dataType": "timestamp",
            "aggregation": "",
            "columnName": "date"
          }
        ],
        "tableDisplayName": "test",
        "tableName": "test"
      }
    ],
    "relations": [

    ],
    "type": "mysql",
    "version": "8.0"
  },
  "bearer": "ZTllYzAzZjM2YzA3NDA0ZGE3ZjguNDJhNDjNGU4NzkyYjY1OTY0YzUxYWU5NmU="
}

model パラメーターの説明:

名称位置类型必选説明
modelbodyobject是none
» typebodystring是データベースの種類
» versionbodystring是データベースのバージョン
» tablesbody[object]是テーブル構造の一覧
»» tableDisplayNamebodystring否テーブルの表示名
»» tableNamebodystring否テーブルの元の名前
»» columnsbody[object]否テーブル列の一覧
»»» columnDisplayNamebodystring是列の表示名
»»» columnNamebodystring是列の元の名前
»»» dataTypebodystring是列のデータ型
»»» aggregationbodystring是列の集計方法
» relationsbody[object]是テーブル間の関連の一覧
»» conditionsbody[object]否関連条件
»»» dstColNamebodystring否dimension テーブルの関連列の元の名前
»»» srcColNamebodystring否fact テーブルの関連列の元の名前
»» dimensionTablebodystring否dimension テーブルの元の名前
»» factTablebodystring否fact テーブルの元の名前
»» joinTypebodystring否関連の種類
2. gptText2sqlChat

自然言語を SQL に変換します。

パラメーター:

  • chatId(必須):チャット ID
  • input(必須):自然言語
  • bearer(必須):ベアラートークン

例:

{
  "chatId": "03975af5de4b4562938a985403f206d4",
  "input": "what is the max age",
  "bearer": "ZTllYzAzZjM2YzA3NDA0ZGE3ZjguNDJhNDjNGU4NzkyYjY1OTY0YzUxYWU5NmU="
}

応答形式

すべてのツールは、以下の形式で応答を返します。

{
  "errCode": 0,
  "exception": "",
  "msgParams": null,
  "promptMsg": null,
  "success": true,
  "data": {
  }
}

Visual Studio Code Cline のサンプル

  1. VS Code に cline プラグインをインストールします
  2. MCP サーバーを設定します MCP サーバーの設定
  3. 使用方法
    1. モデルを初期化します モデルの初期化1 モデルの初期化2
    2. 入力:what is the max age チャット

お問い合わせ:

https://discord.gg/mFa3yeq9 Datafocus

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。