mcpField
C
cdata-jdbc-mcp-server (read-only)

cdata-jdbc-mcp-server (read-only)

ローカル
github.com/CDataSoftwareデータベース413 週間前に更新

cdata-jdbc-mcp-server (read-only) について

CData JDBC Drivers向けの汎用読み取り専用MCPサーバーで、対応する数百のデータソースを照会可能にします。ライブ業務データを自然言語で取得したいLLMユーザー向けで、SQL SELECTによる参照に対応し、書き込み操作は行いません。

主な機能

  1. 01CData JDBC Drivers対応データソースへの接続
  2. 02テーブルとカラムの一覧表示
  3. 03SQL SELECTクエリの実行
  4. 04CSV形式でのクエリ結果出力
  5. 05アクセス可能なテーブルの設定

活用シーン

  1. 01自然言語でSalesforceデータを照会
  2. 02データソースのテーブルとフィールドを確認
  3. 03プロジェクトのチケットやカレンダー情報を参照
  4. 04ローカルMCPクライアントにJDBCデータを接続

MCP 対応

stdio経由でローカルクライアントに、テーブル、カラム、読み取り専用SQLクエリのツールを提供します。設定したJDBCドライバーと接続文字列を使ってデータソースにアクセスします。

設定

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

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

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

リポジトリ

ツール

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

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

詳細

cdata-jdbc-mcp-server(読み取り専用)

CData JDBC Drivers 向けの汎用 Model Context Protocol(MCP)サーバー(読み取り専用)

❗**注記:**このプロジェクトでは、読み取り専用の MCP サーバーを構築します。数百のデータソース全体で、完全な読み取り、書き込み、更新、削除、アクション機能に加え、リモート MCP アクセス、セマンティックコンテキスト、エンタープライズガバナンス(SSO、RBAC、監査証跡)を利用するには、CData Connect AIをご覧ください。

目的

CData JDBC Drivers がサポートする数百のデータソース(以下に一覧を掲載)から、LLM(Claude Desktop など)がライブデータをクエリできるよう、この読み取り専用 MCP サーバーを作成しました。

CData JDBC Drivers は、SaaS アプリ、NoSQL ストア、API をリレーショナル SQL モデルとして公開することで接続します。

このサーバーはこれらのドライバーをラップし、シンプルな MCP インターフェースを通じてデータを利用できるようにします。そのため、LLM は SQL を使わず、自然言語で質問するだけでライブ情報を取得できます。

セットアップガイド

以下のガイドでは、{data source}はバックエンドのデータソース(例:Salesforce)を指します。コードスニペットとコマンドでは Salesforce を例として使用していますが、手順はすべての JDBC Drivers に適用できます。

  1. リポジトリをクローンします:
    git clone https://github.com/cdatasoftware/cdata-jdbc-mcp-server.git
    cd cdata-jdbc-mcp-server
    
  2. サーバーをビルドします:
    mvn clean install
    
    これにより、JAR ファイル CDataMCP-jar-with-dependencies.jar が作成されます。
  3. CData JDBC Driver をダウンロードしてインストールします:https://www.cdata.com/jdbc
  4. CData JDBC Driver のライセンスを登録します(Salesforce を例にします):
    • インストールディレクトリのlibフォルダーに移動します。通常は次の場所にあります:
      • (Windows)C:\Program Files\CData\CData JDBC Driver for {data source}\
      • (Mac/Linux)/Applications/CData JDBC Driver for {data source}/
    • コマンドjava -jar cdata.jdbc.salesforce.jar --licenseを実行します
    • 名前、メールアドレス、「TRIAL」(またはライセンスキー)を入力します。
  5. データソースへの接続を設定します(Salesforce を例にします):
    • コマンドjava -jar cdata.jdbc.salesforce.jarを実行して、Connection String ユーティリティを開きます。

      CData JDBC Driver Connection String utility (Salesforce is shown).
    • 接続文字列を設定し、「Test Connection」をクリックします

      **注記:**データソースで OAuth を使用する場合は、ブラウザーで認証する必要があります。

    • 接続に成功したら、後で使用するために接続文字列をコピーします。

  6. 次のプロパティと形式を使用して、JDBC 接続用の.prpファイル(例:Salesforce.prp)を作成します:
    • Prefix - 公開するツールに使用するプレフィックス
    • DriverPath - JDBC ドライバーの JAR ファイルへのフルパス
    • DriverClass - JDBC Driver Class の名前(例:cdata.jdbc.salesforce.SalesforceDriver)
    • JdbcUrl - CData JDBC Driver でデータに接続するために使用する JDBC 接続文字列(上記からコピー)
    • Tables - すべてのデータにアクセスする場合は空欄のままにします。それ以外の場合は、アクセスを作成するテーブルを明示的に指定できます
    • ServerName (任意) - サーバー名。省略した場合はPrefixの値が使用されます
    • ServerVersion (任意) - サーバーのバージョン。省略した場合は1.0が使用されます
      Prefix=salesforce
      DriverPath=PATH\TO\cdata.jdbc.salesforce.jar
      DriverClass=cdata.jdbc.salesforce.SalesforceDriver
      JdbcUrl=jdbc:salesforce:InitiateOAuth=GETANDREFRESH;
      Tables=
      

MCP クライアントでサーバーを使用する

サーバーはローカルでstdioを介して実行されるため、ローカルサーバーを起動するデスクトップ MCP クライアント(Claude Desktop、Cursor、Windsurf、Cline、VS Code など)で使用できます。いずれの場合も、クライアントにjava実行可能ファイルを指定し、作成した JAR と.prpファイルを引数として渡します。

1. サーバーをクライアントの設定に追加する

ほとんどのクライアントでは、同じ mcpServers スキーマを使用します。以下のエントリをクライアントの MCP 設定ファイルに追加してください(各クライアントの設定ファイルの場所については、設定ファイルの場所を参照してください)。ファイルがすでに存在する場合は、既存のサーバーと並べてこのエントリを追加してください。

Windows

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

Linux/Mac

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

VS Code では mcpServers ではなく、最上位の servers オブジェクトと明示的な "type": "stdio" を使用する、少し異なるスキーマを使用します。

{
  "servers": {
    "salesforce": {
      "type": "stdio",
      "command": "/PATH/TO/java",
      "args": [
        "-jar",
        "/PATH/TO/CDataMCP-jar-with-dependencies.jar",
        "/PATH/TO/Salesforce.prp"
      ]
    }
  }
}
2. 設定ファイルの場所
クライアント設定ファイルスキーマ
Claude DesktopWindows: %APPDATA%\Claude\claude_desktop_config.json
Mac: ~/Library/Application Support/Claude/claude_desktop_config.json
mcpServers
Cursorグローバル: ~/.cursor/mcp.json
プロジェクト: .cursor/mcp.json
mcpServers
Windsurf~/.codeium/windsurf/mcp_config.jsonmcpServers
ClineCline パネルを開く → MCP Servers アイコン → Configure → Configure MCP Servers(cline_mcp_settings.json を編集します)mcpServers
VS Codeワークスペース: .vscode/mcp.json
ユーザー: MCP: Open User Configuration コマンドを実行
servers(上記の注記を参照)
3. クライアントを実行または再読み込みする

クライアントを起動するか、すでに実行中の場合は再読み込み/更新して、新しいサーバーを認識させてください。

注記: クライアントによっては(例:Claude Desktop)、MCP サーバーが表示される前に、トレイに最小化するだけでなく、完全に終了して再起動する必要があります。Windows ではタスクマネージャーを、Mac ではアクティビティモニタを使用してください。

サーバーの実行

  1. MCP サーバーを単独で実行するには、次のコマンドを実行します。
    java -jar /PATH/TO/CDataMCP-jar-with-dependencies.jar /PATH/TO/Salesforce.prp
    

注記: サーバーは stdio を使用するため、サーバーと同じマシン上で実行されるクライアントでのみ使用できます。

使用方法の詳細

MCP サーバーを設定すると、AI クライアントは組み込みツールを使用して基盤となるデータを読み取れるようになります(このサーバーは読み取り専用です)。通常、ツールを明示的に呼び出す必要はありません。基盤となるデータシステムについて、クライアントに質問するだけでかまいません。たとえば、次のように尋ねられます。

  • 「クローズして受注した商談とアカウントの業種には、どのような相関関係がありますか?」
  • 「SUPPORT プロジェクトに未解決のチケットはいくつありますか?」
  • 「今日のカレンダーの予定を教えてもらえますか?」

使用可能なツールとその説明は次のとおりです。

ツールと説明

以下の定義において、{servername} は設定ファイル内の MCP サーバー名(上記の salesforce など)を指します。

  • {servername}_get_tables - データソースで使用可能なテーブルの一覧を取得します。テーブルで使用可能な列を一覧表示するには、{servername}_get_columns ツールを使用してください。ツールの出力は CSV 形式で返され、最初の行に列ヘッダーが含まれます。
  • {servername}_get_columns - テーブルの列の一覧を取得します。使用可能なテーブルの一覧を取得するには、{servername}_get_tables ツールを使用してください。ツールの出力は CSV 形式で返され、最初の行に列ヘッダーが含まれます。
  • {servername}_run_query - SQL SELECT クエリを実行します

JSON-RPC リクエストの例

AI クライアント(例:Claude)を使用せず、MCP サーバーに送信するリクエストをスクリプトで作成する場合は、使用可能なツールを呼び出す際に、JSON-RPC 2.0 仕様に準拠した以下の JSON ペイロード例を参照できます。

{servername}_get_tables
{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "tools/call",
    "params": {
        "name": "salesforce_get_tables",
        "arguments": {}
    }
}
{servername}_get_columns
{
    "jsonrpc": "2.0",
    "id": 2,
    "method": "tools/call",
    "params": {
        "name": "salesforce_get_columns",
        "arguments": {
            "table":  "Account"
        }
    }
}
{servername}_run_query
{
    "jsonrpc": "2.0",
    "id": 3,
    "method": "tools/call",
    "params": {
        "name": "salesforce_run_query",
        "arguments": {
            "sql":  "SELECT * FROM [Account] WHERE [IsDeleted] = true"
        }
    }
}

トラブルシューティング

  1. クライアントに CData MCP Server が表示されない場合は、完全に終了してから再起動してください。一部のクライアント(例:Claude Desktop)はバックグラウンドで実行され続けることがあります。Windows ではタスクマネージャー、Mac ではアクティビティモニタを使って、プロセスが終了したことを確認してください。
  2. クライアントがデータを取得できない場合は、接続が正しく設定されていることを確認してください。Connection String ビルダーを使って接続文字列を作成し(上記を参照)、その接続文字列をプロパティ(.prp)ファイルにコピーしてください。
  3. データソースへの接続で問題が発生した場合は、CData Support Team にお問い合わせください。
  4. MCP サーバーの使用で問題が発生した場合や、その他のフィードバックがある場合は、CData Community に参加してください。

ライセンス

この MCP サーバーは MIT License の下でライセンスされています。つまり、MIT License の利用規約に従う限り、ソフトウェアを自由に使用、変更、配布できます。詳しくは、プロジェクトリポジトリの LICENSE ファイルをご覧ください。

サポート対象ソース

AcceloAccessAct CRMAct-On
Active DirectoryActiveCampaignAcumaticaAdobe Analytics
Adobe CommerceAdobe Experience ManagerAdobe TargetADP
AdRollAfterShipAgileCRMAha!
AircallAirtableAlloyDBAmazon Athena
Amazon DynamoDBAmazon MarketplaceAmazon S3Amplitude
AnaplanApache DorisApifyApollo
AsanaAttioAuth0Authorize.Net
AutopilotAvalara AvaTaxAvazaAvro
AweberAzure Analysis ServicesAzure Data CatalogAzure Data Lake Storage
Azure DevOpsAzure SynapseAzure TableBambooHR
BannerbearBasecampBeeminderBenchmarkEmail
BigCommerceBigQueryBillsbyBitbucket
BitlyBlackbaud FE NXTBoxBrex
Bright DataBrowserlessBugsnagBullhorn CRM
CalendlyCampaignerCampaignMonitorCapsuleCRM
CassandraCertiniaChargebeeChargeOver
ChartMogulCircleCIClariClickTime
ClickUpClioClockifyClose
CloudantCloudConvertCloudflareCockroachDB
CodaCodatCohereCoinbase
ConfluenceConstantContactContentfulConvertAPI
ConvertKitCopperCosmos DBCouchbase
CouchDBCSVCustomer.ioCvent
DatabricksDatadogDB2Deel
DelightedDemioDiscordDiscourse
DocuSignDotmailerDriftDrip
DropboxDynamics 365Dynamics 365 Business CentralDynamics CRM
Dynamics NAVeBayeBay AnalyticsEgnyte
ElasticsearchElevenLabsElorusEmail
EmailOctopusEnterpriseDBEpicor KineticEventbrite
EverhourExaExact OnlineExcel
Excel OnlineFacebookFacebook AdsFactorial
FHIRFigshareFloatFlowlu
FormSiteFoursquareFreeAgentFreshBooks
FreshdeskFreshsalesFreshserviceFreshteam
FrontFTPGetResponseGitHub
GitLabGmailGongGoogle Ad Manager
Google AdsGoogle AnalyticsGoogle CalendarGoogle Campaign Manager 360
Google Cloud StorageGoogle ContactsGoogle DirectoryGoogle Drive
Google FormsGoogle SearchGoogle SheetsGoogle Spanner
Google TasksGoogle TranslateGorgiasGrafana
GraphQLGreenhouseGreenplumGumroad
GuruHacker NewsHarvestHBase
HCL DominoHDFSHelloSignHelpscout
HighriseHiveHubDBHubSpot
HubstaffHugging FaceHumanityIBM Cloud Object Storage
IBM InformixiContactImpalaInsightly
InstagramInstantlyIntercomInvoiced
JDBC-ODBC BridgeJiraJira AssetsJobNimbus
JodooJotFormJSONJumpseller
KafkaKeapKintoneKlaviyo
KlipfolioLakebaseLandbotLaunchDarkly
LDAPLeadDeskLightSpeedRetailLinkedIn
LinkedIn AdsLionDeskMailChimpMailerLite
MailerSendMailgunMailjetMariaDB
MarketoMarkLogicMessageBirdMicrosoft Ads
Microsoft DataverseMicrosoft Entra IDMicrosoft ExchangeMicrosoft OneDrive
Microsoft PlannerMicrosoft TeamsMiroMissive
Mistral AIMixpanelMoceanMode
Monday.comMongoDBMoosendMouseflow
MYOB AccountRightMySQLNASAnCino
Neo4JNethuntNetSuiteNotion
NucliaODataOdooOffice 365
OktaOmnisendOneNoteOnePageCrm
OnfleetOntraportOpenWeatherMapOpsgenie
OptimizelyOracleOracle EloquaOracle Eloqua Reporting
Oracle Financials CloudOracle HCM CloudOracle SalesOracle SCM
Oracle Service CloudOutlookOutreach.ioPabblySubscriptions
PaddlePagerDutyParallelParquet
PaylocityPaymoPayPalPDFMonkey
PerigonPerplexityPhantomBusterPhoenix
PineconePingdomPingOnePinterest
PipedrivePipeline CRMPipeliner CRMPivotalTracker
PlacidPlanioPolarTeamProPostgreSQL
PostmarkPower BI XMLAPrestoPrintful
PrintifyProcoreProductboardPushbullet
QuadernoQualarooQuickbaseQuickBooks
QuickBooks OnlineQuickBooks TimeRabbitMQRaisers Edge NXT
RebillyReckonReckon Accounts HostedRecurly
RedisRedshiftReply.ioREST
RetentlyRootlyRSSSage 200
Sage 300Sage Cloud AccountingSage IntacctSageHR
SalesforceSalesforce CRM AnalyticsSalesforce Data 360Salesforce Financial Service Cloud
Salesforce MarketingSalesforce Marketing Cloud Account EngagementSalesforce PardotSalesloft
SamanageSAPSAP Ariba ProcurementSAP Ariba Source
SAP Business OneSAP Business WarehouseSAP BusinessObjects BISAP ByDesign
SAP ConcurSAP FieldglassSAP HANASAP HANA XS Advanced
SAP Hybris C4CSAP Netweaver GatewaySAP SuccessFactorsSAP SuccessFactors LMS
SAS Data SetsSAS xptScrapflyScrapingBee
SendGridSendInBlueSendPulseSendwithus
SentryServiceDesk PlusServiceNowSFTP
SharePointSharePoint Excel ServicesShipEngineShippo
ShipStationShopifyShort.ioShortcut
SimplesatSingleStoreSlackSmartsheet
Snapchat AdsSnowflakeSpaceXSpark
SparkPostSplunkSpotifySQL Analysis Services
SQL ServerSquareStack ExchangeStrava
StripeSuadeoSugar CRMSuiteCRM
SupabaseSuperchatSurveyMonkeySybase
Sybase IQTallyTandaTavily
TaxJarTeamgateTeamworkTelegram
TemplatedTeradataTestmonitorTickspot
Tier1TigerGraphTimelyTodoist
TogglTrelloTrinoTwilio
Twitter AdsTypeformUnbounceVault CRM
Veeva CRMVercelVimeoVWO
Wave FinancialWebexWebflowWistia
WooCommerceWordPressWorkableWorkday
WrikexBaseXeroXML
YelpYouTube AnalyticsZarMoneyZendesk
ZendeskSellZeroBounceZoho BooksZoho Creator
Zoho CRMZoho InventoryZoho ProjectsZoho Recruit
ZohoDeskZohoExpenseZohoInvoiceZohoMarketingHub
ZohoPeopleZohoSubscriptionsZoomZuora
... ほか数十件

コメント

MCP は初めてですか?

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

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