Skip to main content
Glama

Kintone MCP Server

by r3-yamauchi
ResponseBuilder.js7.14 kB
// src/utils/ResponseBuilder.js /** * 共通レスポンスビルダー * 統一されたレスポンス形式を提供 */ export class ResponseBuilder { /** * 成功レスポンスを生成 * @param {Object} additionalData - 追加データ * @returns {Object} レスポンスオブジェクト */ static success(additionalData = {}) { return { success: true, ...additionalData }; } /** * リビジョン付き成功レスポンスを生成 * @param {number} revision - リビジョン番号 * @param {Object} additionalData - 追加データ * @returns {Object} レスポンスオブジェクト */ static withRevision(revision, additionalData = {}) { return { success: true, revision, ...additionalData }; } /** * リビジョンと警告付きレスポンスを生成 * @param {number} revision - リビジョン番号 * @param {Array} warnings - 警告メッセージ配列 * @param {Object} additionalData - 追加データ * @returns {Object} レスポンスオブジェクト */ static withRevisionAndWarnings(revision, warnings, additionalData = {}) { const response = { revision, ...additionalData }; if (warnings && warnings.length > 0) { response.warnings = warnings; } return response; } /** * ID付きレスポンスを生成 * @param {string} idField - IDフィールド名 * @param {string|number} idValue - ID値 * @param {Object} additionalData - 追加データ * @returns {Object} レスポンスオブジェクト */ static withId(idField, idValue, additionalData = {}) { return { [idField]: idValue, ...additionalData }; } /** * レコード作成レスポンスを生成 * @param {string|number} recordId - レコードID * @param {number} revision - リビジョン番号(オプション) * @returns {Object} レスポンスオブジェクト */ static recordCreated(recordId, revision = null) { const response = { record_id: recordId }; if (revision !== null) { response.revision = revision; } return response; } /** * レコード更新レスポンスを生成 * @param {number} revision - リビジョン番号 * @returns {Object} レスポンスオブジェクト */ static recordUpdated(revision) { return { success: true, revision }; } /** * 複数レコード作成レスポンスを生成 * @param {Array} ids - レコードID配列 * @param {Array} revisions - リビジョン番号配列 * @returns {Object} レスポンスオブジェクト */ static recordsCreated(ids, revisions) { return { ids, revisions }; } /** * 複数レコード更新レスポンスを生成 * @param {Array} records - 更新結果配列 * @returns {Object} レスポンスオブジェクト */ static recordsUpdated(records) { return { records }; } /** * 複数レコードUpsertレスポンスを生成 * @param {Array} records - Upsert結果配列(id, revision, operation を含む) * @param {Object} additionalData - 追加データ * @returns {Object} レスポンスオブジェクト */ static recordsUpserted(records, additionalData = {}) { return { results: records.map((record) => ({ record_id: record.id, revision: record.revision, operation: record.operation })), ...additionalData }; } /** * アプリ作成レスポンスを生成 * @param {string|number} appId - アプリID * @param {number} revision - リビジョン番号 * @returns {Object} レスポンスオブジェクト */ static appCreated(appId, revision) { return { app: appId, revision }; } /** * デプロイレスポンスを生成 * @param {Object} deployStatus - デプロイステータス * @returns {Object} レスポンスオブジェクト */ static deployStatus(deployStatus) { return deployStatus; } /** * リスト形式のレスポンスを生成 * @param {string} listName - リスト名 * @param {Array} items - アイテム配列 * @param {Object} metadata - メタデータ(totalCount, hasMoreなど) * @returns {Object} レスポンスオブジェクト */ static list(listName, items, metadata = {}) { return { [listName]: items, ...metadata }; } /** * ページネーション付きレスポンスを生成 * @param {Array} items - アイテム配列 * @param {number} totalCount - 総件数 * @param {number} offset - オフセット * @param {number} limit - リミット * @returns {Object} レスポンスオブジェクト */ static paginated(items, totalCount, offset, limit) { return { items, totalCount, offset, limit, hasMore: offset + items.length < totalCount }; } /** * ACL(アクセス権限)レスポンスを生成 * @param {Array} acl - アクセス権限配列 * @param {number} revision - リビジョン番号 * @returns {Object} レスポンスオブジェクト */ static acl(acl, revision) { return { acl, revision }; } /** * フィールド情報レスポンスを生成 * @param {Object} properties - フィールドプロパティ * @param {number} revision - リビジョン番号(オプション) * @returns {Object} レスポンスオブジェクト */ static fields(properties, revision = null) { const response = { properties }; if (revision !== null) { response.revision = revision; } return response; } /** * レイアウト情報レスポンスを生成 * @param {Array} layout - レイアウト配列 * @param {number} revision - リビジョン番号(オプション) * @returns {Object} レスポンスオブジェクト */ static layout(layout, revision = null) { const response = { layout }; if (revision !== null) { response.revision = revision; } return response; } /** * エラーレスポンスを生成 * @param {string} message - エラーメッセージ * @param {string} code - エラーコード(オプション) * @param {Object} details - 詳細情報(オプション) * @returns {Object} レスポンスオブジェクト */ static error(message, code = null, details = null) { const response = { success: false, error: message }; if (code) { response.code = code; } if (details) { response.details = details; } return response; } }

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/r3-yamauchi/kintone-mcp-server'

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