n8n-nodes-google-search-console-mcp
Version:
N8N community node for Google Search Console MCP integration with Service Account auth and 6 GSC operations
183 lines (129 loc) • 4.97 kB
Markdown
# n8n-nodes-google-search-console

An n8n community node for integrating with the Google Search Console API. This node provides comprehensive access to GSC data and operations for SEO workflow automation.
## Features
### Supported Operations
- **List Sites**: Get all verified sites in your Search Console account
- **List Sitemaps**: Retrieve all sitemaps for a specific site
- **URL Inspection**: Check indexing status and details for specific URLs
- **Get Sitemap Details**: Get detailed information about a specific sitemap
- **Submit Sitemap**: Add new sitemaps to Google Search Console
- **Delete Sitemap**: Remove sitemaps from Google Search Console
### Key Benefits
- ✅ **Comprehensive API Coverage**: Access all major GSC operations
- ✅ **Service Account Authentication**: Secure, server-to-server authentication
- ✅ **Error Handling**: Robust error handling with detailed messages
- ✅ **TypeScript Support**: Full TypeScript implementation for reliability
- ✅ **Production Ready**: Built following N8N best practices
## Installation
### Method 1: Install from NPM (Recommended)
1. Navigate to your N8N installation
2. Open **Settings** → **Community Nodes**
3. Click **Install**
4. Enter: `n8n-nodes-google-search-console`
5. Click **Install** and restart N8N
### Method 2: Manual Installation
1. Download the latest release from GitHub
2. Extract to your N8N custom nodes directory
3. Run `npm install` in the extracted folder
4. Restart N8N
## Setup
### 1. Google Cloud Console Setup
1. Go to [Google Cloud Console](https://console.cloud.google.com/)
2. Create a new project or select existing one
3. Enable the **Google Search Console API**
4. Create a **Service Account**
5. Download the JSON key file
### 2. Google Search Console Setup
1. Go to [Google Search Console](https://search.google.com/search-console)
2. Add the service account email as a user to your property
3. Grant at least **Restricted** access
### 3. N8N Credentials Setup
1. In N8N, create new **Google Search Console API** credentials
2. Copy the service account email from your JSON key
3. Copy the private key (including BEGIN/END lines)
4. Save the credentials
## Usage Examples
### Basic Site Listing
```json
{
"operation": "listSites"
}
```
### URL Inspection
```json
{
"operation": "urlInspection",
"siteUrl": "https://example.com/",
"inspectionUrl": "https://example.com/important-page"
}
```
### Sitemap Management
```json
{
"operation": "submitSitemap",
"siteUrl": "https://example.com/",
"sitemapUrl": "https://example.com/sitemap.xml"
}
```
## API Reference
### Operations
| Operation | Description | Required Parameters |
|-----------|-------------|-------------------|
| `listSites` | List all verified sites | None |
| `listSitemaps` | List sitemaps for a site | `siteUrl` |
| `urlInspection` | Inspect URL indexing status | `siteUrl`, `inspectionUrl` |
| `getSitemap` | Get sitemap details | `siteUrl`, `sitemapUrl` |
| `submitSitemap` | Submit new sitemap | `siteUrl`, `sitemapUrl` |
| `deleteSitemap` | Remove sitemap | `siteUrl`, `sitemapUrl` |
### Response Format
All operations return structured JSON data from the Google Search Console API. Successful operations include the raw API response, while errors are handled gracefully with descriptive messages.
## Error Handling
The node includes comprehensive error handling:
- **Authentication errors**: Clear messages for credential issues
- **Permission errors**: Helpful guidance for access problems
- **API errors**: Detailed error information from Google
- **Validation errors**: Parameter validation with helpful hints
## Development
### Local Setup
```bash
# Clone the repository
git clone https://github.com/your-username/n8n-nodes-google-search-console
cd n8n-nodes-google-search-console
# Install dependencies
npm install
# Build the project
npm run build
# Run linting
npm run lint
```
### Testing
```bash
# Run tests
npm test
# Run linting
npm run lint
# Format code
npm run format
```
## Contributing
1. Fork the repository
2. Create your feature branch (`git checkout -b feature/amazing-feature`)
3. Commit your changes (`git commit -m 'Add amazing feature'`)
4. Push to the branch (`git push origin feature/amazing-feature`)
5. Open a Pull Request
## Changelog
### v1.0.0
- Initial release
- Support for 6 core GSC operations
- Service Account authentication
- Comprehensive error handling
- Full TypeScript implementation
## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
## Support
- 📖 [N8N Documentation](https://docs.n8n.io/)
- 📧 [Google Search Console API Docs](https://developers.google.com/webmaster-tools/)
- 🐛 [Report Issues](https://github.com/your-username/n8n-nodes-google-search-console/issues)
---
Made with ❤️ for the N8N community