🚀 Quickbase MCPコネクタ
Model Context Protocol (MCP)を使用して、Quickbase JSON RESTful APIとの統合を実現するコネクタです。
免責事項: これは非公式の独立したプロジェクトであり、Quickbase, Inc. とは関係がなく、後援や承認もされていません。このコネクタは「現状のまま」で提供され、いかなる保証もなく、Quickbaseによるサポートもありません。ユーザーは、このコネクタを使用する際に、すべての適用される法律、規制、およびセキュリティ要件に自己責任で準拠する必要があります。
🚀 クイックスタート
このコネクタは、Model Context Protocol (MCP)を使用して、ClaudeなどのAIアシスタントがQuickbaseのAPIとやり取りできるようにします。Quickbaseでのアプリ、テーブル、フィールド、レコード、ファイル、およびレポートの管理に関する幅広い操作をサポートしています。
✨ 主な機能
ユーザー向け
- AIによるQuickbaseアクセス: Claudeを通じて直接Quickbaseのデータにアクセスできます
- データ管理: 自然言語でアプリ、テーブル、およびレコードを作成、表示、および更新できます
- ファイル操作: レコードにファイル添付をアップロードおよびダウンロードできます
- レポートアクセス: Quickbaseのレポートを実行し、結果をチャット内で直接取得できます
- 大規模データセットのサポート: 大量のレコードをクエリする際に自動的にページングを処理します
開発者向け
- 包括的なAPIカバレッジ: QuickbaseのコアAPI機能にアクセスできます
- 構造化されたレスポンス: 信頼性の高い解析のための一貫したレスポンス形式
- バッチ操作: 大量のレコード操作を効率的に処理します
- エラー診断: ステータスコードとトラブルシューティング情報を含む詳細なエラーメッセージ
📦 インストール
前提条件
- Python 3.8以上
- Node.js 14以上
- Quickbase APIの資格情報(リームホスト名、ユーザートークン、およびアプリID)
インストール手順
- リポジトリをクローンします:
git clone https://github.com/danielbushman/Quickbase-MCP-connector.git
cd Quickbase-MCP-connector
- 環境をセットアップします:
./setup.sh
- Quickbaseの資格情報を設定します:
cp .env.example .env
💻 使用例
基本的な使用法
ClaudeまたはClaude Codeでこのコネクタを試したい場合:
- 依存関係をインストールし、サーバーをセットアップします:
./setup.sh
echo "QUICKBASE_REALM_HOST=your-realm.quickbase.com
QUICKBASE_USER_TOKEN=your_user_token_here
QUICKBASE_APP_ID=your_app_id_here" > .env
- Claude Desktopで使用する場合:
Claude Desktop用の設定ファイルを作成し、サーバーを自動的に起動します。設定ファイルの場所はオペレーティングシステムによって異なります:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:
%APPDATA%\Claude\claude_desktop_config.json
- Linux:
~/.config/Claude/claude_desktop_config.json
以下の設定を追加します:
{
"mcpServers": {
"quickbase": {
"command": "/path/to/node",
"args": [
"/path/to/Quickbase-MCP-connector/src/quickbase/server.js"
],
"env": {
"QUICKBASE_REALM": "your-realm",
"QUICKBASE_USER_TOKEN": "your-user-token",
"QUICKBASE_APP_ID": "your-app-id"
}
}
}
}
- Claude Codeで使用する場合:
claude mcp add quickbase node src/quickbase/server.js
これで、ClaudeセッションでQuickbaseツールを使用できます!例のプロンプト:
"quickbaseコネクタを使用して、私のQuickbaseアプリ内のすべてのテーブルをリストアップしてください。"
利用可能なツールカテゴリ
接続ツール
test_connection: Quickbase APIの接続を検証します
check_auth: 認証ステータスとパーミッションを確認します
アプリツール
get_app: 特定のアプリの詳細を取得します
get_apps: 利用可能なすべてのアプリをリストします
create_app, update_app: アプリケーションを作成および更新します
テーブルツール
get_table, get_tables: テーブル情報を取得します
create_table, update_table: テーブルを作成および更新します
フィールドツール
get_field, get_fields: フィールド情報を取得します
create_field, update_field: フィールドを作成および更新します
レコードツール
get_record, query_records: レコードデータを取得します
create_record, update_record: 個々のレコード操作
bulk_create_records, bulk_update_records: 効率的なバッチ操作
ファイルツール
upload_file: レコードフィールドにファイルをアップロードします
download_file: レコードフィールドからファイルをダウンロードします
manage_attachments: 高度な添付ファイル管理
レポートツール
run_report: Quickbaseのレポートを実行します
未実装の機能
以下の操作は未実装です:
- 削除操作 (delete_app, delete_table, delete_field, delete_record, bulk_delete_records, delete_file)
- ユーザー操作 (get_user, get_current_user, get_user_roles, manage_users)
- フォーム操作 (manage_forms)
- ダッシュボード操作 (manage_dashboards)
- パイプライン操作 (manage_pipelines)
- FastFieldフォーム操作 (manage_fast_field_form)
📚 ドキュメント
開発者とコントリビューター向け
MCPサーバーを手動で起動する場合
開発またはデバッグのためにサーバーを手動で起動する必要がある場合:
node src/quickbase/server.js
テストの実行
このセクションは、変更を検証したいコントリビューターやテストスイートを実行したい人向けです。
すべてのテストはtests/ディレクトリにあります。テストランナーを使用して特定のテストまたはすべてのテストを実行できます:
python tests/run_tests.py --all
python tests/run_tests.py connection pagination file
python tests/run_tests.py validate
個々のテストスクリプトも直接実行できます:
python tests/test_connection.py
python tests/test_file_operations.py
python tests/test_pagination.py
テストに関する詳細情報は、tests/README.mdを参照してください。
環境変数
以下の環境変数を設定する必要がある場合があります:
# Quickbase APIの資格情報
QUICKBASE_REALM_HOST=your-realm.quickbase.com
QUICKBASE_USER_TOKEN=your_user_token_here
QUICKBASE_APP_ID=your_app_id_here
# ファイル操作テスト用
QUICKBASE_TABLE_ID=your_table_id_here
QUICKBASE_RECORD_ID=your_record_id_here
QUICKBASE_FILE_FIELD_ID=your_file_field_id_here
# MCPサーバーの設定 (オプション)
MCP_SERVER_PORT=3535
エラーハンドリング
コネクタは、以下の機能を備えた包括的なエラーハンドリングを提供します:
- エラータイプの分類
- HTTPステータスコード
- Quickbase APIからの詳細なエラーメッセージ
- 提案される解決策
- パラメーター検証
- JSONデータ検証
- APIリクエストエラーの適切な処理
一般的なエラーシナリオ
- 必須パラメーターが欠落している
- 無効なJSONデータ形式
- 存在しないテーブルまたはフィールドID
- 無効なWHERE句構文
- 認証失敗
- パーミッション問題
- ネットワーク接続問題
すべてのエラーレスポンスには、トラブルシューティングを支援するための有用な診断情報が含まれています。
コントリビュートの方法
- リポジトリをフォークします
- フィーチャーブランチを作成します
- 変更をコミットします
- ブランチにプッシュします
- プルリクエストを作成します
📄 ライセンス
MITライセンス - 詳細はLICENSEファイルを参照してください