Skip to main content
Glama
gioenjoy

mcp-google-merchant-center

by gioenjoy
README.md
# mcp-google-merchant-center

MCP server for Google Merchant Center — read products, check approval statuses, and analyze feeds across multiple accounts.

## Features

- List products across multiple Merchant Center accounts
- Search products by title or brand
- Get product approval status and issues
- Inspect data sources and feeds
- Get account information

## Installation

```bash
npm install -g mcp-google-merchant-center
```

Or use directly with npx (no install needed):

```json
{
  "mcpServers": {
    "merchant-mcp": {
      "command": "npx",
      "args": ["-y", "mcp-google-merchant-center"],
      "env": {
        "MERCHANT_ID": "YOUR_DEFAULT_MERCHANT_ID",
        "GOOGLE_APPLICATION_CREDENTIALS": "/path/to/your/application_default_credentials.json"
      }
    }
  }
}
```

## Authentication

This server uses Google Application Default Credentials (ADC). Generate them with:

```bash
gcloud auth application-default login \
  --client-id-file="YOUR_CLIENT_SECRET.json" \
  --scopes="https://www.googleapis.com/auth/content"
```

The credentials file is saved at `~/.config/gcloud/application_default_credentials.json`.

## Environment Variables

| Variable | Required | Description |
|----------|----------|-------------|
| `MERCHANT_ID` | Yes | Default Merchant Center account ID |
| `GOOGLE_APPLICATION_CREDENTIALS` | Yes | Path to ADC credentials JSON file |

## Multiple Accounts

All tools accept an optional `merchant_id` parameter to query a specific account:

> "List products for merchant 5747906518"
> "Get product status for account 5443978365"

## Available Tools

| Tool | Description |
|------|-------------|
| `get_account` | Account info and settings |
| `list_products` | Browse all products with pagination |
| `get_product` | Full details for a single product |
| `search_products` | Filter products by title or brand |
| `list_data_sources` | List feeds and data sources |
| `get_product_status` | Approval status and disapproval reasons |

## Requirements

- Node.js 18+
- Google Cloud project with [Merchant API](https://developers.google.com/merchant/api) enabled
- OAuth 2.0 credentials (Desktop app type)

## License

MIT

TDQS

A3.5/5.0

Scored across 6 tools

Disambiguation5/5

Each tool targets a clear, distinct aspect: account info, product details, product status, data sources, product listing, and product search. There is minimal overlap, as get_product and get_product_status differ in focus (details vs. approval), and list_products vs. search_products differ in scope (all vs. filtered).

Naming Consistency5/5

All tools follow a consistent verb_noun pattern using snake_case (e.g., get_account, list_data_sources). The verbs (get, list, search) clearly indicate the action, making the naming predictable and easy to understand.

Tool Count5/5

With 6 tools, the server is well-scoped for querying a Google Merchant Center. The number is neither too few (covering essential read operations) nor too many (no unnecessary clutter). It fits the apparent purpose of data retrieval.

Completeness4/5

The tool set covers key read operations: account, product details, product status, data sources, and product listing/search. However, it lacks write operations (e.g., create, update, delete). This may be intentional for a query-only server, but for full lifecycle management, it's slightly incomplete.

Maintenance

ActivityInactive
ResponsivenessNo issues