A tool for accessing Google Search Console using the Model Context Protocol (MCP) server.
- Retrieve search analytics data (with dimension support)
- Detailed data analysis with customizable reporting periods
- Python 3.10 or higher
- Google Cloud project with Search Console API enabled
- Service account credentials with access to Search Console
pip install mcp-server-google-search-consoleOr install from source:
git clone https://github.com/yourusername/mcp-server-google-search-console.git
cd mcp-server-google-search-console
pip install -e .This project uses uv for faster package management and installation.
First, install uv and uvx:
pip install uv uvxTo create a new virtual environment using uv:
uv venv
source .venv/bin/activate # Linux/macOS
.venv\Scripts\activate # WindowsAfter cloning the repository, install dependencies:
git clone https://github.com/yourusername/mcp-server-google-search-console.git
cd mcp-server-google-search-console
pip install -e .To install the MCP package separately:
pip install "mcp[cli]"To install additional tools needed for development, run:
pip install -e ".[dev]"To obtain Google Search Console API credentials:
- Access the Google Cloud Console
- Create a new project or select an existing one
- Enable the API:
- Go to "APIs & Services" > "Library"
- Search for and enable "Search Console API"
- Create credentials:
- Go to "APIs & Services" > "Credentials"
- Click "Create Credentials" > "Service Account"
- Enter service account details
- Create a new key in JSON format
- The credentials file (.json) will be automatically downloaded
- Grant access:
- Open Search Console
- Add the service account email address (format: name@project.iam.gserviceaccount.com) as a property administrator
Set an environment variable to specify the path to your Google Search Console credentials file:
export GOOGLE_APPLICATION_CREDENTIALS=/path/to/credentials.jsonmcp-server-gscWith uvx, you can automate virtual environment and package installation:
# Run directly without installation
uvx run mcp-server-gsc
# Run with a specific Python version
uvx --python=3.11 run mcp-server-gsc
# Run with specified environment variables
uvx run -e GOOGLE_APPLICATION_CREDENTIALS=/path/to/credentials.json mcp-server-gsc{
"mcpServers": {
"gsc": {
"command": "mcp-server-gsc",
"env": {
"GOOGLE_APPLICATION_CREDENTIALS": "/path/to/credentials.json"
}
}
}
}{
"mcpServers": {
"gsc": {
"command": "uvx",
"args": ["run", "mcp-server-gsc"],
"env": {
"GOOGLE_APPLICATION_CREDENTIALS": "/path/to/credentials.json"
}
}
}
}Retrieve search performance data from Google Search Console:
Required Parameters:
siteUrl: Site URL (format:http://www.example.com/orsc-domain:example.com)startDate: Start date (YYYY-MM-DD)endDate: End date (YYYY-MM-DD)
Optional Parameters:
dimensions: Comma-separated list (query,page,country,device,searchAppearance)type: Search type (web,image,video,news)aggregationType: Aggregation method (auto,byNewsShowcasePanel,byProperty,byPage)rowLimit: Maximum number of rows to return (default: 1000)
Example usage:
{
"siteUrl": "https://example.com",
"startDate": "2024-01-01",
"endDate": "2024-01-31",
"dimensions": "query,country",
"type": "web",
"rowLimit": 500
}This project is automatically published to PyPI when a GitHub release tag is created.
To release a new version:
-
Run the version update script:
python scripts/bump_version.py [major|minor|patch]
-
Follow the displayed instructions to push to GitHub:
git add pyproject.toml git commit -m "Bump version to x.y.z" git tag vx.y.z git push origin main vx.y.z -
Create a release on the GitHub repository page:
- Select tag:
vx.y.z - Enter title:
vx.y.z - Fill in release notes
- Click "Publish"
- Select tag:
-
GitHub Actions will be triggered and automatically publish the package to PyPI.
MIT
Contributions are welcome! Please read the contribution guidelines before submitting a pull request.