ابزار: resolve_names
فهرست دستهای از پُرسمانهای مکان خاص (نامهای نشانگر مکانی یا نشانیهای دقیق) را به «شناسههای مکان» متعارف Google Maps تبدیل میکند.
شرایط لازم ورودی (بحرانی):
queries(آرایه اشیا - الزامی): فهرستی از پُرسمانهای مکان برای حل کردن. میتوانید حداکثر ۲۰ پُرسمان مشخص کنید.- هر شیء پُرسمان باید این موارد را داشته باشد:
text(رشته - الزامی): پُرسمان نوشتاری که نشاندهنده نام یا نشانی مکان خاصی برای حل کردن است.- مثالها:
'Googleplex, Mountain View, CA'،'1600 Amphitheatre Pkwy, Mountain View, CA'،'Eiffel Tower, Paris'.
- مثالها:
- هر شیء پُرسمان باید این موارد را داشته باشد:
location_bias(object - اختیاری): از این برای اولویتبندی نتایج نزدیک به یک منطقه جغرافیایی خاص استفاده کنید.- قالب:
{"viewport": {"low": {"latitude": [value], "longitude": [value]}, "high": {"latitude": [value], "longitude": [value]}}}
- قالب:
region_code(رشته - اختیاری): کد منطقه Unicode CLDR (کد کشور دوحرفی، برای نمونه،US،CA) کاربر برای گرایش دادن نتایج.
دستورالعملهای «فراخوانی ابزار»:
- ویژگی (مهم): پُرسمانها باید نشاندهنده نام یا نشانی مکانی خاص باشند. جستجوهای عمومی مانند
'restaurants'یا نامهای زنجیرهای مانند'Starbucks'پشتیبانی نمیشوند. - اگر ابزارهای پاییندستی که قصد دارید فراخوانی کنید ازقبل رشتههای نشانی خام یا نام مکان را مستقیماً میپذیرند، این ابزار را فراخوانی «نکنید».
ذخیره در Google Maps:
- پاسخ شامل فیلد
save_to_maps_urlاست: یک پیوند Google Maps که حاوی همه مکانهای باموفقیت حلوفصلشده است. - وقتی کاربر میخواهد مکانهای حلوفصلشده را بهعنوان فهرست در Google Maps ذخیره، همرسانی، یا باز کند، این پیوند را به کاربر ارائه دهید. این پیوند را خودتان نسازید.
مدیریت خطا (بحرانی):
- این ابزار پردازش دستهای است. درخواست ممکن است «نتایج مختلط» برگرداند (برای نمونه، برخیپرسشها باموفقیت حل میشوند و برخی دیگر ناموفق هستند).
- فهرست برونداد
resultsتضمین میکند که با شاخصهای ورودیqueriesتطابق ۱:۱ داشته باشد. پُرسمان ناموفق منجر به پیامResultخالی (بدون تنظیمentity) در نمایه مربوطه در فهرستresultsخواهد شد. - برای شناسایی اینکه کدام نمایه پُرسمان خاص ناموفق بوده است، باید فیلد نقشه
failed_requestsرا در پاسخ بررسی کنید. کلیدfailed_requestsنشاندهنده شاخص مبتنی بر صفر پُرسمان ناموفق در درخواست است. فرض نکنید که کل تماس دستهای بهدلیل یک خرابی جزئی ناموفق بوده است.
نمونه کد زیر نحوه استفاده از curl برای فراخوانی ابزار resolve_names 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": "resolve_names", "arguments": { // Provide these details according to the MCP tool specification. } }, "jsonrpc": "2.0", "id": 1 }' |
طرحواره ورودی
پیام درخواست برای ResolveNames.
ResolveNamesRequest
| نمایش JSON |
|---|
{ "queries": [ { object ( |
| فیلدها | |
|---|---|
queries[] |
الزامی. فهرستی از پُرسمانهای مکان برای حل شدن. میتوانید حداکثر ۲۰ پُرسمان مشخص کنید. |
locationBias |
اختیاری. منطقهای اختیاری برای گرایش دادن نتایج وضوح. اگر مشخص شده باشد، نتایج وضوح به سمت نهادهایی که به این منطقه نزدیکتر هستند گرایش خواهد داشت. گنجاندن اگر هم |
regionCode |
اختیاری. کد منطقه اختیاری برای گرایش دادن نتایج وضوح. اگر مشخص شده باشد، نتایج وضوح به سمت نهادهایی که در منطقه مشخصشده یا نزدیک آن هستند گرایش خواهد داشت. این باید کد منطقه CLDR باشد. برای مثال، «US» یا «CA». گنجاندن اگر هم |
LocationQuery
| نمایش JSON |
|---|
{ "text": string } |
| فیلدها | |
|---|---|
text |
الزامی. پُرسمان نوشتاری برای تبدیل شدن به نهاد جغرافیایی فضایی خاص در Google Maps، مثل مکان یا نشانی. هرچه پُرسمان دقیقتر باشد، راهحل دقیقتر خواهد بود. برای مثال، «تهران»، «Googleplex, Mountain View, CA»، «1600 Amphitheatre Parkway, Mountain View, CA»، یا «برج ایفل، پاریس». پُرسمانها باید نام مکان یا نشانی خاصی باشد. مکانهای کلی مانند نام زنجیره (مثلاً Starbucks) یا پُرسمان جستجو مانند «رستورانها» پشتیبانی نمیشود. |
LocationBias
| نمایش JSON |
|---|
{ // Union field |
| فیلدها | |
|---|---|
فیلد اتحادیه type. نوع گرایش مکانی. type فقط میتواند یکی از موارد زیر باشد: |
|
viewport |
ناحیه نمایشی که با چارگوش محصورکننده تعریف شده است. |
ناحیه نمایش
| نمایش JSON |
|---|
{ "low": { object ( |
| فیلدها | |
|---|---|
low |
الزامی. نقطه پایین ناحیه نمایش. |
high |
الزامی. نقطه بالای ناحیه نمایش. |
LatLng
| نمایش JSON |
|---|
{ "latitude": number, "longitude": number } |
| فیلدها | |
|---|---|
latitude |
عرض جغرافیایی به درجه. باید در محدوده [-۹۰.۰، +۹۰.۰] باشد. |
longitude |
طول جغرافیایی به درجه. باید در محدوده [-۱۸۰.۰، +۱۸۰.۰] باشد. |
طرحواره برونداد
پیام پاسخ برای ResolveNames.
ResolveNamesResponse
| نمایش JSON |
|---|
{ "results": [ { object ( |
| فیلدها | |
|---|---|
results[] |
فقط برونداد. فهرست نهادهای حلوفصلشده از پُرسمانهای مکان. تضمین میشود که با درخواست |
failedRequests |
فقط برونداد. نقشهای که خرابیهای جزئی را نشان میدهد. کلید، شاخص درخواست ناموفق در فیلد شیئی حاوی فهرستی از |
saveToMapsUrl |
فقط برونداد. پیوندی برای ذخیره کردن همه نهادهای باموفقیت حلوفصلشده در Google Maps. |
نتیجه
| نمایش JSON |
|---|
{ "entity": { object ( |
| فیلدها | |
|---|---|
entity |
فقط برونداد. نهاد حلوفصلشده از پُرسمان مکان. |
confidence |
فقط برونداد. سطح اطمینان برای وضوح. |
نهاد
| نمایش JSON |
|---|
{ // Union field |
| فیلدها | |
|---|---|
فیلد اتحادیه entity. نوع نهاد حلوفصلشده. entity فقط میتواند یکی از موارد زیر باشد: |
|
place |
نام منبع مکان حلوفصلشده. |
FailedRequestsEntry
| نمایش JSON |
|---|
{
"key": integer,
"value": {
object ( |
| فیلدها | |
|---|---|
key |
|
value |
|
وضعیت
| نمایش JSON |
|---|
{ "code": integer, "message": string, "details": [ { "@type": string, field1: ..., ... } ] } |
| فیلدها | |
|---|---|
code |
کد وضعیت که باید مقدار شمارشی |
message |
پیام خطای توسعهدهنده که باید به زبان انگلیسی باشد. هر پیام خطای کاربرپسند باید بومیسازی شود و در فیلد |
details[] |
فهرست پیامهایی که جزئیات خطا را حمل میکنند. مجموعهای مشترک از انواع پیام برای استفاده در میاناهای برنامهسازی کاربردی وجود دارد. شیئی که حاوی فیلدهایی از نوع دلخواه است. فیلد اضافی |
همه
| نمایش JSON |
|---|
{ "typeUrl": string, "value": string } |
| فیلدها | |
|---|---|
typeUrl |
نوع پیام Protobuf سریالسازیشده را با مرجع نشانی وب شامل پیشوندی که به خط مورب ختم میشود و نام نوع کاملاً واجدشرایط مشخص میکند. مثال: type.googleapis.com/google.protobuf.StringValue این رشته باید حداقل یک نویسه پیشوند اختیاری است و انتظار میرود پیادهسازیهای Protobuf بهسادگی همه چیز را تا و شامل آخرین همه رشتههای نشانی وب نوع باید مرجعهای قانونی نشانی وب یکنواخت با محدودیت اضافی (برای قالب نوشتاری) باشند که محتوای مرجع باید فقط از نویسههای الفباعددی، نویسههای گریز درصدکدگذاریشده، و نویسههای مجموعه زیر (بدون دربرگیری گیومههای بیرونی) تشکیل شده باشد: در طراحی اصلی |
value |
سریالسازی Protobuf از نوع توصیفشده توسط type_url را نگه میدارد. رشته کدبندیشده با base64. |
اطمینان
سطح اطمینان برای وضوح.
| شمارشیها | |
|---|---|
CONFIDENCE_UNSPECIFIED |
مقدار پیشفرض. از این مقدار استفاده نمیشود. |
MEDIUM |
قطعیت متوسط نشان میدهد که وضوح احتمالاً درست است اما ممکن است نامزدهای دیگری هم وجود داشته باشد. |
HIGH |
اطمینان بالا نشان میدهد که وضوح صحیح است و نشاندهنده یک نهاد فضایی-مکانی خاص (مثلاً یک مکان خاص) است. |
حاشیهنویسی ابزار
گزارمانهای ابزار برای توصیف خطر اولیه یک ابزار معین به کارخواهان MCP ارسال میشود. اکثر کارخواهها این نشانهها را بهعنوان نامطمئن درنظر میگیرند، اما میتوان از آنها برای تصمیمگیری درباره زمان ارسال پیامواره تأیید به کاربر استفاده کرد.
بههمراه رشته عنوان، نشانهای بولی زیر به این صورت تعریف میشوند:
-
readOnlyHint: اگر درست باشد، ابزار محیطش را تغییر نمیدهد. پیشفرض: نادرست. -
destructiveHint: اگر درست باشد، ابزار میتواند کنشهای مخرب انجام دهد. اگر نادرست باشد، ابزار فقط میتواند کنشهای افزودنی انجام دهد. پیشفرض: درست. idempotentHint: اگر درست باشد، فراخوانی مکرر ابزار با همان آرگومانها تأثیر اضافهای بر محیط آن نخواهد داشت. پیشفرض: نادرست.-
openWorldHint: اگر درست باشد، ابزار میتواند با «دنیای باز» نهادهای خارجی تعامل داشته باشد. اگر نادرست باشد، ابزار فقط میتواند با نهادهای داخلی تعامل داشته باشد. برای مثال، ابزار جستجوی وب دنیای باز است، اما ابزار حافظه دنیای باز نیست.
راهنمایی مخرب: ❌ | راهنمایی خودتوان: ❌ | راهنمایی فقط خواندنی: ✅ | راهنمایی جهان باز: ❌