MCP Tools Reference: mapstools.googleapis.com

টুল: search_along_route

ব্যবহারকারী কোনও ভ্রমণ রুটে (যেমন, "তাহো যাওয়ার পথে পেট্রোল পাম্প", "এসএফ এবং সান জোসের মধ্যে কফি শপ") জায়গা, ব্যবসা বা দর্শনীয় স্থান খুঁজতে চাইলে এই টুলটি কল করুন। এই টুল কল করলে search_places-এর থেকে বেশি খরচ হয়, তাই কোনও রুটের পরিবর্তে একটি লোকেশনের কাছাকাছি সার্চ করার সময় search_places ব্যবহার করুন।

ইনপুট সংক্রান্ত প্রয়োজনীয়তা (গুরুত্বপূর্ণ):

  1. text_query (স্ট্রিং - বাধ্যতামূলক): রুট বরাবর কী সার্চ করতে হবে তার একটি ন্যাচারাল ল্যাঙ্গুয়েজ বিবরণ।

    • উদাহরণ: 'ev chargers', 'coffee', 'vegetarian restaurants', 'rest stops'.
  2. রুটের স্পেসিফিকেশন (বাধ্যতামূলক - নিম্নলিখিতগুলির মধ্যে ঠিক একটি প্রদান করুন):

    • retrieval_token (স্ট্রিং): DRIVE রুটের জন্য আগের compute_routes কলের মাধ্যমে ফেরত আসা retrieval_token। রুট আগে থেকেই গণনা করা থাকলে এটি বেছে নিন। টোকেনটি ১০ মিনিট পর্যন্ত কার্যকর থাকবে।
    • route_endpoints (অবজেক্ট): রুটের origin এবং destination। address, lat_lng বা place_id-এর মধ্যে যেকোনও একটি ব্যবহার করে প্রতিটি প্রদান করতে হবে।
      • উদাহরণ: {"route_endpoints": {"origin": {"address": "San Francisco, CA"}, "destination": {"address": "Lake Tahoe, CA"}}}
    • encoded_polyline (স্ট্রিং): একটি এনকোড করা পলিলাইন যা DRIVE রুটকে উপস্থাপন করে।
  3. travel_mode (enum - ঐচ্ছিক): DRIVE (ডিফল্ট), WALK, অথবা BICYCLE. WALK এবং BICYCLE শুধুমাত্র route_endpoints-এর সাথে কাজ করে। TRANSIT কাজ করবে না।

  4. routing_preference (enum - ঐচ্ছিক):

    • ROUTING_PREFERENCE_TRAFFIC_UNAWARE (ডিফল্ট): লাইভ ট্রাফিক ছাড়াই রুট এবং ঘুরপথে যাওয়ার রাস্তা গণনা করে। সবচেয়ে কম লেটেন্সি।
    • ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMAL: উপলভ্য থাকলে লাইভ ট্রাফিক পরিস্থিতি ব্যবহার করে। WALK বা BICYCLE-এর জন্য কাজ করে না। ব্যবহারকারী ট্রাফিক, যানজট বা ট্রাফিক-অ্যাডজাস্টেড ডিট্যুর টাইম সম্পর্কে জিজ্ঞাসা করলে তবেই এটি সেট করুন। এতে বেশি লেটেন্সি হয়।
  5. include_extended_details (বুলিয়ান - ঐচ্ছিক): শুধুমাত্র তখনই true-এ সেট করুন যখন অনুরোধে গুণগত রিভিউ ইনসাইট, নির্দিষ্ট মেনু আইটেম বা অফার, পরিবেশ, ভিজিটরদের জন্য পরামর্শ বা ব্যস্ততা, EV চার্জার উপলভ্যতা, গ্যাসের দাম বা অন্যান্য সমৃদ্ধ গুণগত বিবরণ প্রয়োজন হয়। ডিফল্ট হিসেবে false সেট করা থাকে। এটি চালু করলে লেটেন্সি বেড়ে যেতে পারে।

  6. language_code (স্ট্রিং - ঐচ্ছিক): ফলাফলের সারসংক্ষেপ এবং জায়গার বিবরণের জন্য ভাষা, যেমন, en, ja, en-US। ডিফল্ট হিসেবে en-US সেট করা থাকে।

  7. region_code (স্ট্রিং - ঐচ্ছিক): ব্যবহারকারীর ইউনিকোড CLDR অঞ্চল কোড, যেমন, US, CA।

টুল কলের জন্য নির্দেশাবলী:

  • প্রতিটি ফলাফলে একটি detour_summary (উপলভ্য থাকলে) অন্তর্ভুক্ত থাকে যা অতিরিক্ত দূরত্ব (localized_detour_distance) এবং রুটটি encoded_polyline হিসাবে না দেওয়া থাকলে, সেই জায়গায় থামার কারণে অতিরিক্ত সময় (detour_duration) বর্ণনা করে। বিকল্পের তুলনা করতে এটি ব্যবহার করুন।
  • উত্তরে summary জিরো-বেসড উদ্ধৃতি (যেমন, "[0]") থাকতে পারে যা results-এ এন্ট্রিকে রেফার করে।
  • গ্রাউন্ডেড আউটপুট অবশ্যই প্রতিটি results[].place-এর attribution ফিল্ড ব্যবহার করে সোর্সে অ্যাট্রিবিউট করতে হবে, যদি উপলভ্য থাকে।

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

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": "search_along_route",
    "arguments": {
      // Provide these details according to the MCP tool specification.
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'

ইনপুট স্কিমা

SearchAlongRoute-এর জন্য অনুরোধের মেসেজ।

SearchAlongRouteRequest

JSON উপস্থাপনা
{
  "textQuery": string,
  "languageCode": string,
  "regionCode": string,
  "routingPreference": enum (RoutingPreference),
  "includeExtendedDetails": boolean,
  "travelMode": enum (RouteTravelMode),

  // Union field route_spec can be only one of the following:
  "encodedPolyline": string,
  "retrievalToken": string,
  "routeEndpoints": {
    object (RouteEndpoints)
  }
  // End of list of possible types for union field route_spec.
}
ফিল্ড
textQuery

string

প্রয়োজনীয়। ন্যাচারাল ল্যাঙ্গুয়েজ সার্চ কোয়েরি (যেমন, "ইভি চার্জার", "কফি")।

languageCode

string

ঐচ্ছিক। সারসংক্ষেপ ও জায়গার বিবরণের ভাষা। ডিফল্ট হিসেবে "en-US" সেট করা থাকে।

regionCode

string

ঐচ্ছিক। লোকেশন (যেমন, "US")-এর দেশ/অঞ্চল কোড (CLDR)।

routingPreference

enum (RoutingPreference)

ঐচ্ছিক। ট্রাফিক ডেটা কীভাবে ব্যবহার করা হয় তা উল্লেখ করে ঐচ্ছিক রাউটিং সংক্রান্ত পছন্দ। ডিফল্ট হিসেবে TRAFFIC_UNAWARE সেট করা থাকে।

includeExtendedDetails

boolean

ঐচ্ছিক। উত্তরে জায়গার আরও বিবরণ অন্তর্ভুক্ত করে।

ব্যবহারকারীর অনুরোধে সমৃদ্ধ গুণগত ইনসাইট, রিয়েল-টাইম ডাইনামিক্স বা বিশেষ এন্টিটি অ্যাট্রিবিউটের প্রয়োজন হলে এই ফিল্ডটি true-এ সেট করুন: - গুণগত রিভিউ, গ্রাহকের মনোভাব এবং মতামত। - মেনু আইটেম, ডিশ, বিশেষ খাবার, পানীয় বা ব্যবসার হাইলাইটের মতো নির্দিষ্ট অফার। - গুণগত পরিবেশ, ইন্টিরিয়র ডেকর, নান্দনিকতা, পরিবেশ বা মুড। - রিয়েল-টাইম ডেটা এবং বিশেষ সুবিধার স্পেসিফিকেশন, ভিজিটর নীতি/পরামর্শ, কতক্ষণ অপেক্ষা করতে হবে।

স্ট্যান্ডার্ড পরোক্ষ অনুসন্ধান (যেমন, ক্যুইজিন, স্টোরের ধরন), লোকেশন/ঠিকানা খোঁজা, পরিচিতির তথ্য, কর্মসময় এবং স্ট্যান্ডার্ড মেটাডেটা/সুযোগ-সুবিধার জন্য false (ডিফল্ট) ছেড়ে দিন।

এই ফিল্ড চালু করলে আরও বেশি লেটেন্সি হতে পারে।

travelMode

enum (RouteTravelMode)

ঐচ্ছিক। রুট ও ডিট্যুর গণনা করার জন্য ব্যবহৃত ভ্রমণ মোড নির্দিষ্ট করে। ডিফল্ট হিসেবে DRIVE সেট করা থাকে। WALK এবং BICYCLE শুধুমাত্র route_endpoints-এর সাথে কাজ করে। TRANSIT কাজ করবে না।

ইউনিয়ন ফিল্ড route_spec। রুটের বিবরণ: আগে থেকে থাকা রুট, রুট টোকেন অথবা শুরু/শেষের এন্ডপয়েন্ট। route_spec শুধুমাত্র নিম্নলিখিতগুলির মধ্যে একটি হতে পারে:
encodedPolyline

string

রুট দেখায় এমন এনকোড করা পলিলাইন স্ট্রিং। https://developers.google.com/maps/documentation/utilities/polylinealgorithm দেখুন

retrievalToken

string

ComputeRoutes-এর আগের কল থেকে পাওয়া রিট্রিভাল টোকেন যা রুটকে দেখায়।

routeEndpoints

object (RouteEndpoints)

স্পষ্ট রুট এন্ডপয়েন্ট (শুরুর স্থান ও গন্তব্য)।

RouteEndpoints

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

object (Waypoint)

প্রয়োজনীয়। শুরুর জায়গা (ঠিকানা, প্লেস আইডি বা ভৌগোলিক কোঅর্ডিনেট)।

destination

object (Waypoint)

প্রয়োজনীয়। গন্তব্যস্থল (ঠিকানা, স্থান আইডি বা ভৌগোলিক স্থানাঙ্ক)।

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

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

RoutingPreference

রুট গণনা করার সময় বিবেচনা করার জন্য ফ্যাক্টরগুলি নির্দিষ্ট করে এমন ভ্যালুর সেট।

Enums
ROUTING_PREFERENCE_UNSPECIFIED কোনও রাউটিং সংক্রান্ত পছন্দ নির্দিষ্ট করা নেই। ডিফল্ট হিসেবে ROUTING_PREFERENCE_TRAFFIC_UNAWARE সেট করা থাকে।
ROUTING_PREFERENCE_TRAFFIC_UNAWARE লাইভ ট্রাফিক পরিস্থিতি বিবেচনা না করেই রুট গণনা করে। ট্রাফিক পরিস্থিতি গুরুত্বপূর্ণ বা প্রযোজ্য না হলে উপযুক্ত। এই ভ্যালু ব্যবহার করলে সবচেয়ে কম লেটেন্সি হয়।
ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMAL

ট্রাফিক ডেটা উপলভ্য থাকলে, লাইভ ট্রাফিক পরিস্থিতি বিবেচনা করে রুট গণনা করে। TRANSIT-এর জন্য, উপলভ্য থাকলে, রিয়েল-টাইম ট্রানজিট ডেটা ব্যবহার করে, যেমন দেরি এবং বাতিল করা।

এই ভ্যালু Pro টিয়ার ট্রিগার করবে এবং এর ফলে বিলিং খরচ ও লেটেন্সি বেশি হবে।

RouteTravelMode

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

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

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

SearchAlongRoute-এর জন্য উত্তর মেসেজ।

SearchAlongRouteResponse

JSON উপস্থাপনা
{
  "results": [
    {
      object (Result)
    }
  ],
  "summary": string,
  "contentToken": string
}
ফিল্ড
results[]

object (Result)

শুধু আউটপুট। রুটে পাওয়া সার্চ ফলাফলের র‍্যাঙ্ক করা তালিকা।

summary

string

শুধু আউটপুট। সার্চ ফলাফল ও ডিট্যুর ট্রেড-অফের ন্যাচারাল ল্যাঙ্গুয়েজ সারসংক্ষেপ। results তালিকায় সংশ্লিষ্ট এন্ট্রি রেফারেন্স করার জন্য শূন্য-ভিত্তিক উদ্ধৃতি (যেমন, "[0]", "[1]") থাকতে পারে।

contentToken

string

শুধু আউটপুট। একটি এনক্রিপ্ট করা টোকেন যা সার্চের প্রসঙ্গকে এনক্যাপসুলেট করে এবং Google Maps ভিজ্যুয়াল রেন্ডারিং পরিষেবা, SDK বা Maps Agentic UI Toolkit (A2UI)-এ পাস করা যেতে পারে যাতে ফিরে আসা সার্চ ফলাফলের জন্য ইন্টার‍্যাক্টিভ UI কম্পোনেন্ট দেখানো যায়।

ফলাফল

JSON উপস্থাপনা
{
  "place": {
    object (PlaceView)
  },
  "detourSummary": {
    object (DetourSummary)
  }
}
ফিল্ড
place

object (PlaceView)

শুধু আউটপুট। রুট বরাবর খুঁজে পাওয়া জায়গা সম্পর্কে বিবরণ।

detourSummary

object (DetourSummary)

শুধু আউটপুট। রুটে এই জায়গাটি মধ্যবর্তী স্টপ হিসেবে যোগ করার ফলে হওয়া ডিট্যুর মেট্রিক। ডিটিউর মেট্রিক গণনা করা না গেলে বাদ দেওয়া বা খালি রাখা হয়।

PlaceView

JSON উপস্থাপনা
{
  "place": string,
  "id": string,
  "googleMapsLinks": {
    object (GoogleMapsLinks)
  },
  "attribution": {
    object (Attribution)
  },

  // Union field _location can be only one of the following:
  "location": {
    object (LatLng)
  }
  // End of list of possible types for union field _location.
}
ফিল্ড
place

string

"places/{id}" ফর্ম্যাটে, অন্তর্নিহিত জায়গার রিসোর্সের নাম।

id

string

অন্তর্নিহিত জায়গার প্লেস আইডি।

googleMapsLinks

object (GoogleMapsLinks)

Google Maps-এর বিভিন্ন অ্যাকশন ট্রিগার করার লিঙ্ক।

attribution

object (Attribution)

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

ইউনিয়ন ফিল্ড _location।

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

location

object (LatLng)

এই জায়গার অবস্থান।

LatLng

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

number

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

longitude

number

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

JSON উপস্থাপনা
{
  "directionsUrl": string,
  "placeUrl": string,
  "writeAReviewUrl": string,
  "reviewsUrl": string,
  "photosUrl": string
}
ফিল্ড
directionsUrl

string

জায়গাটির দিকনির্দেশ দেখানোর লিঙ্ক। লিঙ্কটি শুধুমাত্র গন্তব্যের লোকেশন দেখায় এবং ডিফল্ট ভ্রমণ মোড DRIVE ব্যবহার করে।

placeUrl

string

এই জায়গাটি দেখানোর জন্য একটি লিঙ্ক।

writeAReviewUrl

string

Google Maps-এ এই জায়গার জন্য রিভিউ লেখার লিঙ্ক।

reviewsUrl

string

Google Maps-এ এই জায়গার রিভিউ দেখানোর জন্য একটি লিঙ্ক।

photosUrl

string

Google Maps-এ এই জায়গার ফটো দেখানোর লিঙ্ক।

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

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

string

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

url

string

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

DetourSummary

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

string (Duration format)

মূল রুট থেকে এই জায়গায় ঘুরে যেতে অতিরিক্ত ভ্রমণের সময় প্রয়োজন। encoded_polyline-এর মাধ্যমে রুট নির্দিষ্ট করা থাকলে এই ভ্যালু সেট করা হয় না।

's' দিয়ে শেষ হওয়া নয়টি পর্যন্ত ভগ্নাংশ সংখ্যা সহ সেকেন্ডে সময়সীমা। উদাহরণ: "3.5s"।

localizedDetourDistance

string

মূল রুট থেকে এই জায়গায় পৌঁছাতে যতটা অতিরিক্ত দূরত্ব অতিক্রম করতে হবে, সেটি অনুরোধের ভাষায় ফর্ম্যাট করা হয়েছে (যেমন, "১.২ মাইল" বা "১,৯ কিমি")।

সময়সীমা

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

string (int64 format)

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

nanos

integer

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

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

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

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

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

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