Google Services MCP Server

Google Services MCP Server

Enables interaction with multiple Google services including Maps, Finance, Flights, Gmail, and Calendar through a unified interface. Provides comprehensive access to geocoding, stock data, flight information, email management, and calendar operations.

Category
Visit Server

README

Google MCP Server

A comprehensive Model Context Protocol (MCP) server that provides access to Google services including Maps, Finance, Flights, Gmail, and Calendar through a unified API.

Features

🗺️ Google Maps & Places

  • Geocoding: Convert addresses to coordinates and vice versa
  • Places Search: Find businesses, landmarks, and points of interest
  • Directions: Get turn-by-turn directions between locations
  • Distance Matrix: Calculate travel time and distance between multiple points
  • Place Details: Get detailed information about specific places

📈 Google Finance

  • Stock Search: Search for stocks, indices, mutual funds, currencies, and futures
  • Market Data: Get current prices, movement, and market information
  • Financial News: Access top financial news related to securities

✈️ Google Flights

  • Airport Search: Find flights and airport information
  • Flight Pricing: Get flight prices and insights
  • Multi-city Trips: Support for complex multi-destination journeys

📧 Gmail

  • Send Emails: Send emails with subject, body, CC, and BCC
  • Read Emails: List and search emails with Gmail query syntax
  • Email Details: Get full email content by message ID
  • Label Management: Access Gmail labels and organization

📅 Google Calendar

  • Event Management: Create, read, update, and delete calendar events
  • Multi-Calendar Support: Work with multiple calendars (Personal, Work, Travel)
  • Event Listing: List events with filters and date ranges
  • Calendar Management: List and access different calendars

Installation

Prerequisites

  • Node.js 18+
  • pnpm (recommended) or npm

Setup

  1. Clone the repository:

    git clone <repository-url>
    cd google-mcp
    
  2. Install dependencies:

    pnpm install
    
  3. Build the project:

    pnpm run build
    

MCP Client Integration

Install the server to your preferred MCP clients:

# Install to all MCP clients
pnpm run install-server

# Install to specific clients
pnpm run install-desktop    # Claude Desktop
pnpm run install-cursor     # Cursor IDE
pnpm run install-code       # Claude Code
pnpm run install-mcp        # Local .mcp.json only

Configuration

Environment Variables

Create a .env.local file in the project root with your Google API credentials:

GOOGLE_MAPS_API_KEY=your_google_maps_api_key
GOOGLE_CLIENT_ID=your_oauth_client_id
GOOGLE_CLIENT_SECRET=your_oauth_client_secret
GOOGLE_REFRESH_TOKEN=your_refresh_token

Google API Setup

  1. Google Maps API: Enable Maps, Places, and Directions APIs in Google Cloud Console
  2. Gmail/Calendar: Set up OAuth 2.0 credentials and obtain refresh tokens
  3. Finance/Flights: Uses Google's public APIs (no additional setup required)

Usage

Running the Server

# Start the compiled server
pnpm start

# Or run in development mode
node dist/index.js

Available Tools

Maps & Places

  • geocode - Convert address to coordinates
  • reverse-geocode - Convert coordinates to address
  • places-search - Search for places by text query
  • get-directions - Get directions between locations
  • distance-matrix - Calculate distances between multiple points
  • place-details - Get detailed place information

Finance

  • finance-search - Search stocks, currencies, and financial instruments

Flights

  • airports-search - Search flights and airport information

Gmail

  • gmail-send-email - Send emails
  • gmail-read-emails - List/search emails
  • gmail-get-email - Get specific email by ID
  • gmail-get-labels - List Gmail labels

Calendar

  • calendar-create-event - Create new events
  • calendar-list-events - List events with filters
  • calendar-get-event - Get specific event details
  • calendar-update-event - Update existing events
  • calendar-delete-event - Delete events
  • calendar-list-calendars - List available calendars

Development

Project Structure

src/
├── index.ts       # Main MCP server implementation
├── maps.ts        # Google Maps & Places functionality
├── finance.ts     # Google Finance integration
├── airports.ts    # Google Flights integration  
├── gmail.ts       # Gmail API integration
└── calendar.ts    # Google Calendar integration

scripts/
└── update-config.js   # MCP client configuration installer

dist/             # Compiled JavaScript output

Key Technologies

  • MCP SDK: @modelcontextprotocol/sdk for protocol implementation
  • Schema Validation: Zod for runtime type checking
  • Google APIs: Official Google client libraries
  • TypeScript: Full type safety with ES2022 target
  • Transport: StdioServerTransport for MCP communication

Development Workflow

  1. Make changes to TypeScript files in src/
  2. Build: pnpm run build
  3. Test: pnpm start
  4. Install to clients: pnpm run install-server
  5. Restart MCP clients to load changes

Adding New Tools

  1. Define Zod schema for parameters
  2. Implement handler function
  3. Register tool in src/index.ts using server.tool()
  4. Build and reinstall to test

Architecture

This MCP server follows these design patterns:

  • Modular Design: Each Google service is in its own module
  • Schema Validation: All parameters validated with Zod schemas
  • Error Handling: Comprehensive error handling with meaningful messages
  • Type Safety: Full TypeScript coverage with strict mode
  • Transport Agnostic: Uses MCP's standard transport layer

License

[License information]

Contributing

[Contribution guidelines]

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured