/ الدليل / الملعب / Google Maps
● رسمي modelcontextprotocol 🔑 يتطلب مفتاحك

Google Maps

بواسطة modelcontextprotocol · modelcontextprotocol/servers-archived

الترميز الجغرافي والبحث عن الأماكن والاتجاهات ومصفوفة المسافات — قوة Google Maps لإنشاء جداول الرحلات وميزات البحث عن المتاجر والتحليلات الإقليمية.

إطار عمل Google Maps MCP المرجعي (الآن في modelcontextprotocol/servers-archived). يغلف واجهات برمجة تطبيقات الخرائط الرئيسية: الترميز الجغرافي والبحث عن الأماكن وتفاصيلها والاتجاهات ومصفوفة المسافات والارتفاع. مفيد لأي مهمة وكيل تتطلب جغرافيا العالم الحقيقي. ملاحظة: أرشيفي يعني عدم وجود صيانة نشطة — خطط لفروع المجتمع على المدى الطويل.

لماذا تستخدمه

الميزات الأساسية

عرض مباشر

كيف يبدو في الممارسة

google-maps.replay ▶ جاهز
0/0

التثبيت

اختر العميل

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "google-maps": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-google-maps"
      ]
    }
  }
}

افتح Claude Desktop → Settings → Developer → Edit Config. أعد التشغيل بعد الحفظ.

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "google-maps": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-google-maps"
      ]
    }
  }
}

يستخدم Cursor نفس مخطط mcpServers مثل Claude Desktop. إعدادات المشروع أولى من الإعدادات العامة.

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "google-maps": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-google-maps"
      ]
    }
  }
}

انقر على أيقونة MCP Servers في شريط Cline الجانبي، ثم "Edit Configuration".

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "google-maps": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-google-maps"
      ]
    }
  }
}

نفس الصيغة مثل Claude Desktop. أعد تشغيل Windsurf لتطبيق التغييرات.

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "google-maps",
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-google-maps"
      ]
    }
  ]
}

يستخدم Continue مصفوفة من كائنات الخادم بدلاً من خريطة.

~/.config/zed/settings.json
{
  "context_servers": {
    "google-maps": {
      "command": {
        "path": "npx",
        "args": [
          "-y",
          "@modelcontextprotocol/server-google-maps"
        ]
      }
    }
  }
}

أضف إلى context_servers. يعيد Zed التحميل تلقائيًا عند الحفظ.

claude mcp add google-maps -- npx -y @modelcontextprotocol/server-google-maps

أمر من سطر واحد. تحقق باستخدام claude mcp list. احذف باستخدام claude mcp remove.

حالات الاستخدام

استخدامات عملية: Google Maps

خطط جدول رحلة يومية برسائل سفر واقعية

👤 المسافرون وأي شخص يخطط يومًا متعدد التوقفات ⏱ ~10 min beginner

متى تستخدمه: لديك 5 أماكن تريد زيارتها في يوم واحد وتحتاج إلى ترتيب واقعي مع أوقات السفر.

المتطلبات الأساسية
  • مفتاح Google Maps API مع تفعيل واجهات البرمجة ذات الصلة — console.cloud.google.com → فعّل واجهات برمجة التطبيقات للترميز الجغرافي والأماكن والاتجاهات، ثم أنشئ المفتاح
الخطوات
  1. رمّز جغرافيًا جميع التوقفات
    رمّز هذه 5 أماكن إلى خط عرض/خط طول: <list>. تحقق من أن كل عنوان يبدو صحيحًا.✓ تم النسخ
    → 5 إحداثيات بثقة
  2. احسب مصفوفة المسافات
    احصل على أوقات القيادة بين كل زوج من التوقفات الساعة 10 صباحًا في يوم من أيام الأسبوع. اعرضها في شكل مصفوفة.✓ تم النسخ
    → مصفوفة الوقت 5×5
  3. رتّب وأضف الاتجاهات
    اقترح الترتيب الذي يقلل من إجمالي وقت القيادة. ثم أعطني الاتجاهات خطوة بخطوة من توقف إلى آخر.✓ تم النسخ
    → مسار محسّن مع اتجاهات

النتيجة: جدول رحلة يمكنك تنفيذه بالفعل، وليس تخطيطًا يبدو لطيفًا فقط.

المزالق
  • مصفوفة المسافات لا تأخذ في الاعتبار وقت الوقوف / المشي إلى الباب — أضف 10-15 دقيقة لكل مرحلة للوقوف؛ أطول للوجهات وسط المدينة
  • حركة المرور الفورية متاحة فقط لأنماط/مناطق معينة — استخدم departure_time للحصول على تقديرات تأخذ حركة المرور في الاعتبار؛ قد لا يتم تضمين 'الآن' حسب الخطة
اجمعها مع: brave-search

بناء بيانات محدد الموقع للمتجر لمنتج إقليمي

👤 المطورون الذين ينفذون ميزة 'البحث عن موقع' ⏱ ~30 min intermediate

متى تستخدمه: أنت تبني ميزة 'أقرب متجر' وتحتاج إلى تجهيزها بإحداثيات وتفاصيل حقيقية.

الخطوات
  1. رمّز جغرافيًا عنوان كل متجر
    لدي ملف CSV يحتوي على 50 عنوان متجر في /data/stores.csv. رمّز كل واحد جغرافيًا، وأرجع ملف CSV جديد مع إضافة خط عرض وخط طول وplace_id والعنوان المقيس من Google.✓ تم النسخ
    → ملف CSV معزز؛ علّم أي عناوين لم يتم ترميزها جغرافيًا بنظافة
  2. اسحب التفاصيل الغنية لكل واحد
    لكل place_id، جلب الساعات والهاتف والموقع الإلكتروني. أضف إلى ملف CSV.✓ تم النسخ
    → تفاصيل لكل متجر، مع علامات البيانات المفقودة حيث ينطبق
  3. تحقق من العينة
    اختر 5 صفوف عشوائية والتحقق من أن الإحداثيات المرمزة جغرافيًا تبدو صحيحة بصريًا (على سبيل المثال، 'تم ترميز عنوان ستوكهولم جغرافيًا إلى السويد، وليس ويسكونسن').✓ تم النسخ
    → اختبار المنطقية يمر؛ القيم الشاذة معلمة

النتيجة: مجموعة بيانات متجر نظيفة جاهزة لتشغيل واجهة المستخدم.

المزالق
  • واجهة برمجة تطبيقات الترميز الجغرافي لها تكلفة لكل استدعاء — 50 عنوانًا هو بضعة سنتات ولكن 50k هو مال حقيقي — احفظ النتائج في الذاكرة المؤقتة بقوة؛ أعد الترميز الجغرافي فقط عند تغيير سلاسل العناوين
اجمعها مع: filesystem

ابحث عن العملاء الذين يعيشون على بعد X دقيقة من موقع مرشح

👤 العمليات والعقارات ومحللو النمو ⏱ ~25 min advanced

متى تستخدمه: أنت تقيّم موقع متجر/مكتب جديد وتريد معرفة عدد العملاء الحاليين الذين سيخدمهم.

الخطوات
  1. رمّز الموقع المرشح جغرافيًا
    رمّز عنوان المرشح جغرافيًا: '1234 Market St, San Francisco'.✓ تم النسخ
    → تم تأكيد الإحداثيات
  2. مصفوفة المسافات لأكواد ZIP العملاء
    من الموقع المرشح، احسب وقت القيادة إلى كل من مراكز ZIP للعملاء البالغ عددها 100: <list>. استخدم 9 صباحًا في يوم من أيام الأسبوع.✓ تم النسخ
    → وقت القيادة لكل ZIP
  3. جمّع
    كم عدد العملاء في غضون 15 دقيقة و 30 دقيقة و 60 دقيقة؟ ارسم رسمًا بيانيًا (أشرطة ascii حسنًا).✓ تم النسخ
    → تجميع الأعداد التي تدعم القرار

النتيجة: إجابة قائمة على البيانات على سؤال 'هل يجب أن نفتتح هنا؟'

المزالق
  • مركز ZIP هو بديل ضعيف للعناوين الفعلية للعملاء — إذا كان لديك عناوين فعلية، استخدمها؛ المراكز تؤثر بشكل غير متناسب على التحليلات الضاحية
  • تحديد حد أقصى لحجم الدفعة في مصفوفة المسافات — Google يحد من origins×destinations لكل استدعاء؛ قسّم إلى طلبات متعددة، لكنك ستدفع لكل عنصر على أي حال
اجمعها مع: postgres · filesystem

التركيبات

اجمعها مع خوادم MCP أخرى لتحقيق نتائج x10

google-maps + filesystem

رمّز ملف CSV جغرافيًا بشكل جماعي واكتب الملف المحسّن مرة أخرى

اقرأ /data/customers.csv، رمّز كل عنوان جغرافيًا، اكتب /data/customers_geo.csv مع إضافة أعمدة lat/lng/place_id.✓ تم النسخ
google-maps + postgres

رمّز صفوف العملاء جغرافيًا أثناء الإعداد

لكل صف في customers حيث lat IS NULL، رمّز العنوان جغرافيًا وحدّث الصف. توقف بعد 500 لإدارة التكلفة.✓ تم النسخ
google-maps + brave-search

يجد Brave الأماكن المرشحة → تحصل Google Maps على الترميز الجغرافي + الاتجاهات

ابحث في Brave عن 'أفضل رامن في Mission SF'. بالنسبة إلى أفضل 3، احصل على place_ids واتجاهات المشي من 16th St BART.✓ تم النسخ

الأدوات

ما يوفره هذا الـ MCP

الأداةالمدخلاتمتى تستدعيهاالتكلفة
maps_geocode address: str العنوان → الإحداثيات $5 / 1000 calls
maps_reverse_geocode lat: number, lng: number الإحداثيات → العنوان $5 / 1000 calls
maps_search_places query: str, location?, radius? ابحث عن أماكن بالاسم/الفئة بالقرب من نقطة $17-32 / 1000 (text search) or less for nearby
maps_place_details place_id: str حمّل مكانًا واحدًا بالتفاصيل الكاملة $17 / 1000 base + add-ons per field
maps_distance_matrix origins[], destinations[], mode?, departure_time? المسافة/الوقت الجماعي بين نقاط كثيرة $5 / 1000 elements (origin×destination)
maps_directions origin, destination, mode?, waypoints? خطوة بخطوة لمسار واحد $5 / 1000 calls
maps_elevation locations: [{lat, lng}] ملف تعريف الارتفاع لمسار أو نقاط $5 / 1000 calls

التكلفة والحدود

تكلفة التشغيل

حصة API
لكل API. الحد الأقصى للمشروع الافتراضي لكن يمكن رفعه.
الرموز لكل استدعاء
صغير؛ التكلفة نقدية وليست رموزًا
التكلفة المالية
الدفع لكل استدعاء. الترميز الجغرافي $5/1k. تفاصيل الأماكن $17/1k. مصفوفة المسافات $5/1k عنصر. رصيد مجاني بقيمة $200/شهر تاريخيًا — تحقق من سياسة Google الحالية.
نصيحة
احفظ العناوين المرمزة جغرافيًا في الذاكرة المؤقتة إلى الأبد (لا تتغير). مصفوفة المسافات هي الطريقة السهلة لإنفاق $50 في موجه واحد — احسب دائمًا origins × destinations قبل الاستدعاء.

الأمان

الصلاحيات والأسرار ونطاق الأثر

تخزين بيانات الاعتماد: مفتاح API في متغير البيئة GOOGLE_MAPS_API_KEY. قيّد المفتاح بـ API و (إن أمكن) بـ IP/مرجع في وحدة تحكم Google Cloud.
نقل البيانات الخارجي: جميع الاستدعاءات إلى maps.googleapis.com
لا تمنح أبدًا: مفاتيح غير مقيدة في كل مكان — يمكن كشطها من عناصر البناء وإساءة استخدامها

استكشاف الأخطاء

الأخطاء الشائعة وحلولها

REQUEST_DENIED

API غير مفعّل لمفتاحك، أو لم يتم تكوين الفواتير. فعّل كل API (الترميز الجغرافي والأماكن والاتجاهات) في وحدة تحكم Cloud وقم بإعداد الفواتير.

OVER_QUERY_LIMIT

وصلت إلى الحد الأقصى في الثانية أو اليوم. أضف تقليل السرعة؛ ارفع الحصة في وحدة تحكم Cloud إذا لزم الأمر.

ZERO_RESULTS on geocode

العنوان غامض أو غير موجود كما هو مكتوب. حاول إضافة الدولة/الولاية، أو استخدم Place Autocomplete بدلاً من ذلك.

Distance matrix INVALID_REQUEST

تحقق من أن origins×destinations لا يتجاوز حد العنصر لكل استدعاء (يختلف حسب الخطة). قسّم الطلب.

البدائل

Google Maps مقابل البدائل

البديلمتى تستخدمهاالمقايضة
OpenStreetMap (Nominatim) عبر fetchمجاني بدون مفتاح API، راغب في تحديد السرعة ذاتيًا وقبول جودة بيانات أقلبيانات POI أقل كثافة؛ سياسة الاستخدام لـ Nominatim تقيد الاستخدام الثقيل
Mapbox عبر MCP مخصصتريد بديلًا مُدارًا بأسعار أفضل غالبًا للحجم الكبيرلا يوجد MCP من جهة أولى حتى الآن
HERE / TomTom APIs عبر MCP مخصصالتوجيه/POI في المناطق التي تكون فيها Google ضعيفةلا يوجد MCP من جهة أولى

المزيد

الموارد

📖 اقرأ ملف README الرسمي على GitHub

🐙 تصفح القضايا المفتوحة

🔍 تصفح أكثر من 400 خادم MCP و Skills