Sponsored by Deepsite.site

Place ID MCP Server

Created By
TimHub889 months ago
Serveur MCP connecté à l'API Google Places pour récupérer dynamiquement des photos de lieux et les intégrer dans Cursor via Smithery
Content

Place ID MCP Server

Un serveur MCP (Model Context Protocol) qui se connecte à l'API Google Places pour récupérer dynamiquement des photos de lieux et les intégrer dans Cursor via Smithery.

Objectif

Ce projet développe un serveur qui expose une API HTTP permettant de récupérer des photos de lieux via l'API Google Places. Lorsqu'il est sollicité par Cursor via Smithery, le serveur renvoie l'URL d'une photo correspondant à une référence fournie. Cette intégration permet aux wireframes et prototypes d'afficher des images de lieux en temps réel, améliorant ainsi l'expérience utilisateur et le réalisme des maquettes.

Fonctionnalités

  • Récupération d'images depuis l'API Google Place Photo
  • Traitement de la redirection vers l'URL réelle de l'image
  • Réponse formatée selon le protocole MCP pour intégration à Cursor
  • Gestion sécurisée de la clé API Google
  • Recherche de lieux pour obtenir des références de photos valides
  • Support du protocole MCP JSON-RPC pour l'intégration avec Smithery

Technologies utilisées

  • Node.js
  • Express.js
  • Axios
  • dotenv (pour la gestion des variables d'environnement)

Installation

  1. Clonez ce dépôt :
git clone https://github.com/TimHub88/place-id-mcp-server.git
cd place-id-mcp-server
  1. Installez les dépendances :
npm install
  1. Créez un fichier .env à la racine du projet et ajoutez votre clé API Google Places :
GOOGLE_PLACES_API_KEY=votre_clé_api
PORT=3000

Configuration

Pour utiliser ce serveur, vous devez :

  1. Obtenir une clé API Google Places depuis la Console Google Cloud
  2. Activer l'API Places pour votre projet Google Cloud
  3. Configurer la clé dans le fichier .env
  4. Important : Appliquer des restrictions à votre clé API (domaines, adresses IP, etc.) pour éviter une utilisation non autorisée

Sécurisation de la clé API

Pour sécuriser votre clé API Google Places :

  1. Dans la console Google Cloud, accédez à "API et services" > "Identifiants"
  2. Sélectionnez votre clé API et ajoutez des restrictions :
    • Restriction d'API : Limitez l'utilisation à l'API Places uniquement
    • Restriction de domaine/IP : Limitez l'utilisation aux domaines ou adresses IP de votre serveur
  3. Ne partagez jamais votre clé API dans des fichiers publics ou sur GitHub

Utilisation

  1. Démarrez le serveur :
npm start
  1. Le serveur est accessible à l'adresse http://localhost:3000 (ou le port spécifié dans votre fichier .env)

API REST (Endpoints traditionnels)

1. Recherche de lieux et références de photos

  • Route : /mcp/search-places
  • Méthode : GET
  • Paramètres : query (terme de recherche, ex: "Eiffel Tower")
  • Exemple : http://localhost:3000/mcp/search-places?query=Eiffel%20Tower
  • Réponse :
    {
      "success": true,
      "data": {
        "places": [
          {
            "name": "Tour Eiffel",
            "address": "Champ de Mars, 5 Av. Anatole France, 75007 Paris, France",
            "place_id": "ChIJLU7jZClu5kcR4PcOOO6p3I0",
            "photos": [
              {
                "photo_reference": "AUjq9jlXyV5A3sadj...",
                "width": 4000,
                "height": 6000,
                "html_attributions": ["..."]
              }
            ]
          }
        ]
      }
    }
    

2. Récupération de photo

  • Route : /mcp/google-places-photo
  • Méthode : POST
  • Payload :
    {
      "photo_reference": "REFERENCE_PHOTO_GOOGLE",
      "maxwidth": 400
    }
    
  • Réponse :
    {
      "success": true,
      "data": {
        "photoUrl": "https://url_de_la_photo.jpg"
      }
    }
    

API JSON-RPC (Protocol MCP)

Le serveur implémente également l'interface JSON-RPC requise par le protocole MCP pour l'intégration avec Smithery :

  • Endpoint JSON-RPC : http://localhost:3000/
  • Méthode : POST
  • Content-Type : application/json

Méthodes disponibles :

  1. initialize : Initialise la connexion MCP

    {
      "jsonrpc": "2.0",
      "method": "initialize",
      "params": {},
      "id": 1
    }
    
  2. tools/list : Liste les outils disponibles

    {
      "jsonrpc": "2.0",
      "method": "tools/list",
      "params": {},
      "id": 2
    }
    
  3. tools/execute : Exécute un outil spécifique

    {
      "jsonrpc": "2.0",
      "method": "tools/execute",
      "params": {
        "tool": "searchPlaces",
        "params": {
          "query": "Eiffel Tower"
        }
      },
      "id": 3
    }
    

Intégration avec Cursor via Smithery

Pour intégrer ce serveur MCP à Cursor via Smithery :

  1. Déployez le serveur sur une plateforme de votre choix
  2. Dans Smithery, ajoutez un nouvel agent MCP en utilisant l'URL de votre serveur
  3. Le serveur est conforme au protocole MCP et inclut les fichiers smithery.yaml et Dockerfile nécessaires

Développement

Pour exécuter le serveur en mode développement avec rechargement automatique :

npm run dev

Tests

Pour exécuter les tests :

npm test

Licence

MIT

Recommend Servers
TraeBuild with Free GPT-4.1 & Claude 3.7. Fully MCP-Ready.
EdgeOne Pages MCPAn MCP service designed for deploying HTML content to EdgeOne Pages and obtaining an accessible public URL.
Zhipu Web SearchZhipu Web Search MCP Server is a search engine specifically designed for large models. It integrates four search engines, allowing users to flexibly compare and switch between them. Building upon the web crawling and ranking capabilities of traditional search engines, it enhances intent recognition capabilities, returning results more suitable for large model processing (such as webpage titles, URLs, summaries, site names, site icons, etc.). This helps AI applications achieve "dynamic knowledge acquisition" and "precise scenario adaptation" capabilities.
MCP AdvisorMCP Advisor & Installation - Use the right MCP server for your needs
Serper MCP ServerA Serper MCP Server
ChatWiseThe second fastest AI chatbot™
Context7Context7 MCP Server -- Up-to-date code documentation for LLMs and AI code editors
Baidu Map百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright McpPlaywright MCP server
CursorThe AI Code Editor
TimeA Model Context Protocol server that provides time and timezone conversion capabilities. This server enables LLMs to get current time information and perform timezone conversions using IANA timezone names, with automatic system timezone detection.
AiimagemultistyleA Model Context Protocol (MCP) server for image generation and manipulation using fal.ai's Stable Diffusion model.
WindsurfThe new purpose-built IDE to harness magic
Jina AI MCP ToolsA Model Context Protocol (MCP) server that integrates with Jina AI Search Foundation APIs.
BlenderBlenderMCP connects Blender to Claude AI through the Model Context Protocol (MCP), allowing Claude to directly interact with and control Blender. This integration enables prompt assisted 3D modeling, scene creation, and manipulation.
DeepChatYour AI Partner on Desktop
Howtocook Mcp基于Anduin2017 / HowToCook (程序员在家做饭指南)的mcp server,帮你推荐菜谱、规划膳食,解决“今天吃什么“的世纪难题; Based on Anduin2017/HowToCook (Programmer's Guide to Cooking at Home), MCP Server helps you recommend recipes, plan meals, and solve the century old problem of "what to eat today"
MiniMax MCPOfficial MiniMax Model Context Protocol (MCP) server that enables interaction with powerful Text to Speech, image generation and video generation APIs.
Amap Maps高德地图官方 MCP Server
Visual Studio Code - Open Source ("Code - OSS")Visual Studio Code
Tavily Mcp