MCP Tools Reference: mapstools.googleapis.com

টুল: compute_routes

নির্দিষ্ট যাত্রা শুরুর স্থান ও গন্তব্যের মধ্যে ভ্রমণ রুট গণনা করে। কাজ করে এমন ভ্রমণ মোড: ড্রাইভ (ডিফল্ট), হাঁটা।

ইনপুট সংক্রান্ত প্রয়োজনীয়তা (গুরুত্বপূর্ণ): যাত্রা শুরুর জায়গা ও গন্তব্য, দুটিই প্রয়োজন। প্রতিটি তথ্যকে তার নিজ নিজ ফিল্ডের মধ্যে নেস্ট করে নিম্নলিখিত পদ্ধতিগুলির মধ্যে একটি ব্যবহার করে প্রদান করতে হবে:

  • ঠিকানা: (স্ট্রিং, যেমন, 'আইফেল টাওয়ার, প্যারিস')। মনে রাখবেন: ইনপুট করা ঠিকানা যত বেশি বিস্তারিত বা নির্দিষ্ট হবে, ফলাফল তত ভালো হবে।

  • lat_lng: (object, {"latitude": number, "longitude": number})

  • place_id: (স্ট্রিং, যেমন, 'ChIJOwE_Id1w5EAR4Q27FkL6T_0') মনে রাখবেন: এই আইডি search_places টুল থেকে পাওয়া যেতে পারে। ইনপুট ধরনের যেকোনও কম্বিনেশন ব্যবহার করা যেতে পারে (যেমন, ঠিকানা অনুযায়ী অরিজিন, lat_lng অনুযায়ী গন্তব্য)। সোর্স বা ডেস্টিনেশনের তথ্য না থাকলে, টুলে কল করার চেষ্টা করার আগে আপনাকে অবশ্যই ব্যবহারকারীর কাছে স্পষ্টীকরণ চাইতে হবে।

টুল কলের উদাহরণ: {"origin":{"address":"Eiffel Tower"},"destination":{"place_id":"ChIJt_5xIthw5EARoJ71mGq7t74"},"travel_mode":"DRIVE"}

  • গ্রাউন্ডেড আউটপুটকে অবশ্যই সোর্সের সাথে অ্যাট্রিবিউট করতে হবে এবং এটি করার জন্য attribution ফিল্ড থেকে পাওয়া তথ্য ব্যবহার করতে হবে, যদি তা উপলভ্য থাকে।

compute_routes MCP টুল কল করার জন্য কীভাবে curl ব্যবহার করতে হয় তা নিম্নলিখিত কোড স্যাম্পেল থেকে জানতে পারবেন।

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

ইনপুট স্কিমা

ComputeRoutesRequest.

ComputeRoutesRequest

JSON উপস্থাপনা
{
  "origin": {
    object (Waypoint)
  },
  "destination": {
    object (Waypoint)
  },
  "travelMode": enum (RouteTravelMode)
}
ফিল্ড
origin

object (Waypoint)

প্রয়োজনীয়। প্রথম ওয়েপয়েন্ট।

destination

object (Waypoint)

প্রয়োজনীয়। গন্তব্যের ওয়েপয়েন্ট।

travelMode

enum (RouteTravelMode)

ঐচ্ছিক। পরিবহনের মোড নির্দিষ্ট করে।

Waypoint

JSON উপস্থাপনা
{

  // Union field location_type can be only one of the following:
  "latLng": {
    object (LatLng)
  },
  "placeId": string,
  "address": string
  // End of list of possible types for union field location_type.
}
ফিল্ড
ইউনিয়ন ফিল্ড location_type। লোকেশন দেখানোর বিভিন্ন উপায়। location_type শুধুমাত্র নিম্নলিখিতগুলির মধ্যে একটি হতে পারে:
latLng

object (LatLng)

ভৌগোলিক কোঅর্ডিনেট ব্যবহার করে নির্দিষ্ট করা একটি পয়েন্ট।

placeId

string

ওয়েপয়েন্টের সাথে যুক্ত প্লেস আইডি।

address

string

মানুষের-পঠনযোগ্য ঠিকানা বা প্লাস কোড। বিবরণের জন্য https://plus.codes দেখুন।

LatLng

JSON উপস্থাপনা
{
  "latitude": number,
  "longitude": number
}
ফিল্ড
latitude

number

ডিগ্রিতে অক্ষাংশ। এটি অবশ্যই [-৯০.০, +৯০.০] রেঞ্জের মধ্যে থাকতে হবে।

longitude

number

ডিগ্রিতে দ্রাঘিমাংশ। এটি অবশ্যই [-১৮০.০, +১৮০.০] রেঞ্জের মধ্যে থাকতে হবে।

RouteTravelMode

ভ্রমণের মোড নির্দিষ্ট করতে ব্যবহৃত ভ্যালুর সেট।

Enums
ROUTE_TRAVEL_MODE_UNSPECIFIED ভ্রমণ মোড উল্লেখ করা নেই। ডিফল্ট হিসেবে DRIVE সেট করা থাকে।
DRIVE যাত্রীবাহী গাড়িতে ভ্রমণ।
WALK হেঁটে ভ্রমণ করা। মনে রাখবেন: WALK রুট বিটা ভার্সনে আছে এবং কখনও কখনও এতে স্পষ্ট ফুটপাথ বা পথচারীদের জন্য রাস্তা নাও থাকতে পারে। আপনার অ্যাপে দেখানো সব হাঁটার জন্য ব্যবহারকারীকে এই সতর্কতা দেখাতে হবে।

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

ComputeRoutesResponse.

ComputeRoutesResponse

JSON উপস্থাপনা
{
  "routes": [
    {
      object (Route)
    }
  ]
}
ফিল্ড
routes[]

object (Route)

অনুরোধ করা যাত্রা শুরুর স্থান ও গন্তব্যের মধ্যে রুট থাকে। বর্তমানে শুধুমাত্র একটি রুট দেখানো হয়।

রুট

JSON উপস্থাপনা
{
  "distanceMeters": integer,
  "duration": string,
  "attribution": {
    object (Attribution)
  }
}
ফিল্ড
distanceMeters

integer

মিটার হিসেবে রুটের ভ্রমণের দূরত্ব।

duration

string (Duration format)

রুটে নেভিগেট করার জন্য প্রয়োজনীয় সময়।

's' দিয়ে শেষ হওয়া, সর্বাধিক নয়টি ভগ্নাংশ ডিজিট সহ সেকেন্ডে সময়সীমা। উদাহরণ: "3.5s".

attribution

object (Attribution)

রুট দেখানোর জন্য প্রয়োজনীয় অ্যাট্রিবিউশন।

সময়সীমা

JSON উপস্থাপনা
{
  "seconds": string,
  "nanos": integer
}
ফিল্ড
seconds

string (int64 format)

সময়ের স্প্যানের সাইন করা সেকেন্ড। -৩১৫,৫৭৬,০০০,০০০ থেকে +৩১৫,৫৭৬,০০০,০০০-এর মধ্যে হতে হবে, এর মধ্যে এই সংখ্যাগুলিও অন্তর্ভুক্ত। মনে রাখবেন: এই সীমাগুলি এগুলি থেকে গণনা করা হয়: ৬০ সেকেন্ড/মিনিট * ৬০ মিনিট/ঘণ্টা * ২৪ ঘণ্টা/দিন * ৩৬৫.২৫ দিন/বছর * ১০,০০০ বছর

nanos

integer

সময়ের ব্যাপ্তির ন্যানোসেকেন্ড রেজোলিউশনে স্বাক্ষরিত ভগ্নাংশ। এক সেকেন্ডের কম সময়সীমা 0 seconds ফিল্ড এবং ধনাত্মক বা ঋণাত্মক nanos ফিল্ড দিয়ে দেখানো হয়। এক সেকেন্ড বা তার বেশি সময়কালের জন্য, nanos ফিল্ডের শূন্য নয় এমন মান seconds ফিল্ডের মানের মতো একই চিহ্নযুক্ত হতে হবে। -৯৯৯,৯৯৯,৯৯৯ থেকে +৯৯৯,৯৯৯,৯৯৯-এর মধ্যে হতে হবে, দু'টি সংখ্যাই অন্তর্ভুক্ত।

অ্যাট্রিবিউশন

JSON উপস্থাপনা
{
  "title": string,
  "url": string
}
ফিল্ড
title

string

অ্যাট্রিবিউশনের জন্য যে শীর্ষক দেখানো হবে।

url

string

অ্যাট্রিবিউশনের জন্য লিঙ্ক করার URL.

টুল অ্যানোটেশন

কোনও টুলের প্রাথমিক ঝুঁকি বর্ণনা করতে MCP ক্লায়েন্টদের কাছে টুল অ্যানোটেশন পাঠানো হয়। বেশিরভাগ ক্লায়েন্ট এই ইঙ্গিতগুলিকে বিশ্বাসযোগ্য হিসেবে বিবেচনা করে না, তবে ব্যবহারকারীকে কখন কনফার্মেশন প্রম্পট পাঠানো হতে পারে তা নির্ধারণ করতে এগুলি ব্যবহার করা যেতে পারে।

টাইটেল স্ট্রিংয়ের সাথে, নিম্নলিখিত বুলিয়ান হিন্টকে এইভাবে সংজ্ঞায়িত করা হয়:

  • readOnlyHint: সত্য হলে, টুলটি তার এনভায়রনমেন্ট পরিবর্তন করে না। ডিফল্ট: false.
  • destructiveHint: মান 'সত্য' হলে, টুলটি ডেটা মুছে দেওয়ার মতো অ্যাকশন পারফর্ম করতে পারবে। এটি মিথ্যা হলে, টুলটি শুধুমাত্র যোগাত্মক অ্যাকশন পারফর্ম করতে পারবে। ডিফল্ট: true.
  • idempotentHint: true হলে, একই আর্গুমেন্ট সহ টুলটি বারবার কল করলে এর এনভায়রনমেন্টের উপর কোনও অতিরিক্ত প্রভাব পড়বে না। ডিফল্ট: false.
  • openWorldHint: এটি সত্য হলে, টুলটি এক্সটার্নাল এন্টিটির 'ওপেন ওয়ার্ল্ড' ইন্টার‍্যাক্ট করতে পারবে। ফলস হলে, টুলটি শুধুমাত্র ইন্টার্নাল এন্টিটির সাথে ইন্টার‍্যাক্ট করতে পারবে। যেমন, ওয়েব সার্চ টুল হল ওপেন ওয়ার্ল্ড, কিন্তু মেমরি টুল ওপেন ওয়ার্ল্ড নয়।

ধ্বংসাত্মক ইঙ্গিত: ❌ | আইডেমপোটেন্ট ইঙ্গিত: ❌ | শুধুমাত্র-পঠনযোগ্য ইঙ্গিত: ✅ | ওপেন ওয়ার্ল্ড ইঙ্গিত: ❌