Skip to main content
Glama

Kintone MCP Server

by r3-yamauchi
FileTools.js2.59 kB
// src/server/tools/FileTools.js import { ValidationUtils } from '../../utils/ValidationUtils.js'; import { LoggingUtils } from '../../utils/LoggingUtils.js'; import { ResponseBuilder } from '../../utils/ResponseBuilder.js'; /** * ファイル関連のツールを処理する関数 * @param {string} name ツール名 * @param {Object} args 引数 * @param {Object} repository リポジトリオブジェクト * @returns {Promise<Object>} ツールの実行結果 */ export async function handleFileTools(name, args, repository) { // 共通のツール実行ログ LoggingUtils.logToolExecution('file', name, args); switch (name) { case 'upload_file': { ValidationUtils.validateRequired(args, ['file_name', 'file_data']); ValidationUtils.validateString(args.file_name, 'file_name'); ValidationUtils.validateString(args.file_data, 'file_data'); LoggingUtils.logDetailedOperation('upload_file', 'ファイルアップロード開始', { fileName: args.file_name }); const uploadResponse = await repository.uploadFile( args.file_name, args.file_data ); LoggingUtils.logDetailedOperation('upload_file', 'ファイルアップロード完了', { fileKey: uploadResponse.fileKey }); return ResponseBuilder.withId('file_key', uploadResponse.fileKey); } case 'download_file': { ValidationUtils.validateRequired(args, ['file_key']); ValidationUtils.validateString(args.file_key, 'file_key'); LoggingUtils.logDetailedOperation('download_file', 'ファイルダウンロード開始', { fileKey: args.file_key }); const fileData = await repository.downloadFile( args.file_key ); LoggingUtils.logDetailedOperation('download_file', 'ファイルダウンロード完了', { fileKey: args.file_key, mimeType: fileData.contentType || 'application/octet-stream' }); // MCPプロトコルに準拠したレスポンス形式 return { uri: `file://${args.file_key}`, mimeType: fileData.contentType || 'application/octet-stream', blob: Buffer.from(fileData.data || fileData).toString('base64') }; } default: throw new Error(`Unknown file tool: ${name}`); } }

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