MCP Tools Reference: drivemcp.googleapis.com

টুল: create_file

গুগল ড্রাইভে ফাইল তৈরি বা আপলোড করতে এই টুলটি ব্যবহার করুন।

কন্টেন্ট আপলোড করার ক্ষেত্রে, টেক্সট কন্টেন্টের জন্য 'text_content' ফিল্ডটি ব্যবহার করুন। নন-UTF8 কন্টেন্টের জন্য, 'base64_content' ফিল্ডটি ব্যবহার করুন এবং সেই ফিল্ডে সেট করার জন্য ডেটাটিকে base64 এনকোড করুন।

সফলভাবে তৈরি হলে একটি একক File অবজেক্ট ফেরত দেয়।

নিম্নলিখিত গুগল ড্রাইভ ফার্স্ট-পার্টি মাইম টাইপগুলি কন্টেন্ট প্রদান ছাড়াই তৈরি করা যেতে পারে:

  • application/vnd.google-apps.document
  • application/vnd.google-apps.spreadsheet
  • application/vnd.google-apps.presentation

ডিফল্টরূপে, নিম্নলিখিত মাইম টাইপগুলির জন্য নিম্নলিখিত রূপান্তরগুলি করা হবে:

  • text/plain to application/vnd.google-apps.document
  • text/csv থেকে application/vnd.google-apps.spreadsheet

ফার্স্ট-পার্টি মাইম টাইপের জন্য রূপান্তর নিষ্ক্রিয় করতে, disable_conversion_to_google_type true-তে সেট করুন।

মাইম টাইপ application/vnd.google-apps.folder এ সেট করে ফোল্ডার তৈরি করা যায়।

কন্টেন্ট আপলোড করার সময়, ` content_mime_type ফিল্ডটি আবশ্যক এবং এটি আপলোড করা কন্টেন্টের ধরনের সাথে অবশ্যই মিলতে হবে।

নিম্নলিখিত নমুনাটি দেখায় কিভাবে curl ব্যবহার করে ` create_file MCP টুলটি চালু করতে হয়।

কার্ল অনুরোধ
curl --location 'https://drivemcp.googleapis.com/mcp/v1' \
--header 'content-type: application/json' \
--header 'accept: application/json, text/event-stream' \
--data '{
  "method": "tools/call",
  "params": {
    "name": "create_file",
    "arguments": {
      // provide these details according to the tool's MCP specification
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'
                

ইনপুট স্কিমা

ফাইল আপলোড করার অনুরোধ।

ফাইল অনুরোধ তৈরি করুন

JSON উপস্থাপনা
{
  "title": string,
  "mimeType": string,
  "contentMimeType": string,
  "content": string,
  "base64Content": string,
  "textContent": string,
  "parentId": string,
  "disableConversionToGoogleType": boolean
}
ক্ষেত্র
title

string

ফাইলটির শিরোনাম।

mimeType

string

অপ্রচলিত। ব্যবহার করবেন না!! এর পরিবর্তে content_mime_type সেট করুন।

contentMimeType

string

আপলোড করা কন্টেন্টের MIME টাইপ। যেকোনো ধরনের কন্টেন্ট প্রদানের ক্ষেত্রে এটি আবশ্যক।

content

string

ফাইলের বিষয়বস্তু বেস৬৪ (base64) হিসেবে এনকোড করা হয়েছে। ফাইলের মাইম টাইপ (mime type) নির্বিশেষে কন্টেন্ট ফিল্ডটি সর্বদা বেস৬৪ (base64) এনকোড করা উচিত। এটি এখন আর ব্যবহৃত হয় না। এর পরিবর্তে base64_content বা text_content ব্যবহার করুন।

base64Content

string

ঐচ্ছিক। আপলোড করার জন্য বেস৬৪ এনকোডেড কন্টেন্ট। এটি এবং text_content একসাথে সেট করা একটি ত্রুটি।

textContent

string

ঐচ্ছিক। আপলোড করার জন্য (UTF-8) টেক্সট কন্টেন্ট। এটি এবং base64_content একসাথে সেট করলে ত্রুটি হবে।

parentId

string

ফাইলটির প্যারেন্ট আইডি।

disableConversionToGoogleType

boolean

প্রদত্ত কন্টেন্ট মাইম টাইপটি অপরিবর্তিত রাখতে এবং এটিকে গুগল টাইপে রূপান্তর না করতে 'true' সেট করুন। উদাহরণস্বরূপ, এটি ছাড়া একটি 'text/plain' কন্টেন্ট মাইম টাইপ 'application/vnd.google-apps.document'-এ রূপান্তরিত হবে। যেসব টাইপের কোনো গুগল সমতুল্য নেই, সেগুলোর ক্ষেত্রে এর কোনো প্রভাব নেই।

আউটপুট স্কিমা

একটি ফাইল রিসোর্স।

ফাইল

JSON উপস্থাপনা
{
  "id": string,
  "title": string,
  "parentId": string,

  "mimeType": string

  "fileSize": string

  "description": string

  "fileExtension": string

  "contentSnippet": string

  "viewUrl": string

  "sharedWithMeTime": string

  "createdTime": string

  "modifiedTime": string

  "viewedByMeTime": string

  "owner": string

  "canAddChildren": boolean
}
ক্ষেত্র
id

string

যে ফাইলটি আনা হয়েছিল তার আইডি।

title

string

ফাইলটির শিরোনাম।

parentId

string

ফাইলটির প্যারেন্টের (ঐচ্ছিক) আইডি।

ইউনিয়ন ফিল্ড _mime_type .

_mime_type নিম্নলিখিতগুলির মধ্যে কেবল একটি হতে পারে:

mimeType

string

ফাইলটির মাইম টাইপ।

ইউনিয়ন ফিল্ড _file_size

_file_size নিম্নলিখিতগুলির মধ্যে কেবল একটি হতে পারে:

fileSize

string ( int64 format)

ফাইলটির আকার বাইটে।

ইউনিয়ন ফিল্ডের _description

_description নিম্নলিখিতগুলির মধ্যে কেবল একটি হতে পারে:

description

string

ফাইলটির বিবরণ।

ইউনিয়ন ফিল্ড _file_extension .

_file_extension নিম্নলিখিতগুলির মধ্যে কেবল একটি হতে পারে:

fileExtension

string

ফাইলটির মূল ফাইল এক্সটেনশন, এটি শুধুমাত্র ড্রাইভে সংরক্ষিত কন্টেন্টযুক্ত ফাইলগুলোর ক্ষেত্রেই পূরণ করা হয়।

ইউনিয়ন ফিল্ড _content_snippet .

_content_snippet নিম্নলিখিতগুলির মধ্যে কেবল একটি হতে পারে:

contentSnippet

string

ফাইলটির বিষয়বস্তু সম্পর্কে একটি সংক্ষিপ্ত অংশ তৈরি করা হয়েছে।

ইউনিয়ন ফিল্ড _view_url .

_view_url নিম্নলিখিতগুলির মধ্যে কেবল একটি হতে পারে:

viewUrl

string

ফাইলটি দেখার জন্য ইউআরএল।

ইউনিয়ন ফিল্ড _shared_with_me_time .

_shared_with_me_time নিম্নলিখিতগুলির মধ্যে কেবল একটি হতে পারে:

sharedWithMeTime

string ( Timestamp format)

যে সময়ে ফাইলটি অনুরোধকারীর সাথে শেয়ার করা হয়েছিল।

RFC 3339 ব্যবহার করা হয়, যেখানে তৈরি হওয়া আউটপুট সর্বদা Z-নরম্যালাইজড হবে এবং এতে ০, ৩, ৬ বা ৯টি ভগ্নাংশীয় অঙ্ক ব্যবহৃত হবে। "Z" ছাড়াও অন্যান্য অফসেটও গ্রহণ করা হয়। উদাহরণ: "2014-10-02T15:01:23Z" , "2014-10-02T15:01:23.045123456Z" অথবা "2014-10-02T15:01:23+05:30"

ইউনিয়ন ফিল্ড _created_time .

_created_time নিম্নলিখিতগুলির মধ্যে কেবল একটি হতে পারে:

createdTime

string ( Timestamp format)

ফাইলটি তৈরি হওয়ার সময়।

RFC 3339 ব্যবহার করা হয়, যেখানে তৈরি হওয়া আউটপুট সর্বদা Z-নরম্যালাইজড হবে এবং এতে ০, ৩, ৬ বা ৯টি ভগ্নাংশীয় অঙ্ক ব্যবহৃত হবে। "Z" ছাড়াও অন্যান্য অফসেটও গ্রহণ করা হয়। উদাহরণ: "2014-10-02T15:01:23Z" , "2014-10-02T15:01:23.045123456Z" অথবা "2014-10-02T15:01:23+05:30"

ইউনিয়ন ফিল্ড _modified_time .

_modified_time নিম্নলিখিতগুলির মধ্যে কেবল একটি হতে পারে:

modifiedTime

string ( Timestamp format)

সর্বশেষ যে সময়ে ফাইলটি পরিবর্তন করা হয়েছিল।

RFC 3339 ব্যবহার করা হয়, যেখানে তৈরি হওয়া আউটপুট সর্বদা Z-নরম্যালাইজড হবে এবং এতে ০, ৩, ৬ বা ৯টি ভগ্নাংশীয় অঙ্ক ব্যবহৃত হবে। "Z" ছাড়াও অন্যান্য অফসেটও গ্রহণ করা হয়। উদাহরণ: "2014-10-02T15:01:23Z" , "2014-10-02T15:01:23.045123456Z" অথবা "2014-10-02T15:01:23+05:30"

ইউনিয়ন ফিল্ড _viewed_by_me_time .

_viewed_by_me_time নিম্নলিখিতগুলির মধ্যে কেবল একটি হতে পারে:

viewedByMeTime

string ( Timestamp format)

অনুরোধকারী কর্তৃক ফাইলটি সর্বশেষ দেখার সময়।

RFC 3339 ব্যবহার করা হয়, যেখানে তৈরি হওয়া আউটপুট সর্বদা Z-নরম্যালাইজড হবে এবং এতে ০, ৩, ৬ বা ৯টি ভগ্নাংশীয় অঙ্ক ব্যবহৃত হবে। "Z" ছাড়াও অন্যান্য অফসেটও গ্রহণ করা হয়। উদাহরণ: "2014-10-02T15:01:23Z" , "2014-10-02T15:01:23.045123456Z" অথবা "2014-10-02T15:01:23+05:30"

ইউনিয়ন ক্ষেত্রের _owner

_owner নিম্নলিখিতদের মধ্যে কেবল একজন হতে পারেন:

owner

string

ফাইলটির মালিকের ইমেইল ঠিকানা।

ইউনিয়ন ফিল্ড _can_add_children .

_can_add_children নিম্নলিখিতগুলির মধ্যে কেবল একটি হতে পারে:

canAddChildren

boolean

অনুরোধকারী এই ফোল্ডারে চাইল্ড ফাইল যোগ করতে পারবেন কিনা। যেগুলো ফোল্ডার নয়, সেগুলোর ক্ষেত্রে এটি সর্বদা মিথ্যা।

টাইমস্ট্যাম্প

JSON উপস্থাপনা
{
  "seconds": string,
  "nanos": integer
}
ক্ষেত্র
seconds

string ( int64 format)

এটি ইউনিক্স ইপক 1970-01-01T00:00:00Z থেকে UTC সময়ের সেকেন্ড নির্দেশ করে। এর মান অবশ্যই -62135596800 থেকে 253402300799 (উভয় মানসহ) এর মধ্যে হতে হবে (যা 0001-01-01T00:00:00Z থেকে 9999-12-31T23:59:59Z পর্যন্ত সময়কালের সমতুল্য)।

nanos

integer

ন্যানোসেকেন্ড রেজোলিউশনে সেকেন্ডের অঋণাত্মক ভগ্নাংশ। এই ক্ষেত্রটি হলো সময়কালের ন্যানোসেকেন্ড অংশ, সেকেন্ডের বিকল্প নয়। ভগ্নাংশসহ ঋণাত্মক সেকেন্ডের মানগুলোর ক্ষেত্রেও ন্যানোর মান অবশ্যই অঋণাত্মক হতে হবে, যা সময়ের সাথে সাথে গণনা করে। এর মান অবশ্যই ০ থেকে ৯৯৯,৯৯৯,৯৯৯-এর মধ্যে হতে হবে (উভয় সংখ্যাসহ)।

টুল টীকা

ধ্বংসাত্মক ইঙ্গিত: ❌ | স্বকীয় ইঙ্গিত: ❌ | শুধুমাত্র পঠনযোগ্য ইঙ্গিত: ❌ | উন্মুক্ত বিশ্ব ইঙ্গিত: ✅