DigitalMarketingOptimizer-AI
Leverage artificial intelligence to streamline digital promotion workflows and refine online visibility strategies. This utility facilitates comprehensive keyword discovery, deep SERP evaluation, competitive benchmarking, and delivers actionable optimization guidance, powered by interfacing with the Google Ads programmatic interface.
Author

ayushsinghvi92
Quick Info
Actions
Tags
DigitalMarketingOptimizer-AI
Platform for automated Search Engine Optimization (SEO) execution and intelligence-driven refinement, featuring deep linkage with the Google Ads Keyword Planning service.
Core Capabilities
- Automated keyword set generation leveraging the Google Ads API infrastructure
- Examination and scoring of Search Engine Results Pages (SERP)
- In-depth profiling of market rivals
- Provision of prescriptive SEO improvement suggestions
- Native integration supporting the Model Context Protocol (MCP) for advanced assistant utilization
System Prerequisites
- Runtime environment: Node.js (version 14 or newer recommended)
- Package manager: npm or yarn
- Operational Google Ads account authorized for API interaction
- Configured Google Cloud Platform project with the Google Ads API service enabled
Deployment Guide
1. Repository Cloning
bash git clone https://github.com/ccnn2509/app-seo-ai.git cd app-seo-ai
2. Dependency Installation
bash npm install
3. Environment Variable Setup
Duplicate the template configuration file:
bash cp .env.example .env
Modify the .env file, populating it with your authenticated Google Ads credentials:
Server Operational Settings
PORT=3000 NODE_ENV=development
Google Ads API Authentication Details
GOOGLE_ADS_DEVELOPER_TOKEN=your_developer_token GOOGLE_ADS_CLIENT_ID=your_client_id GOOGLE_ADS_CLIENT_SECRET=your_client_secret GOOGLE_ADS_REFRESH_TOKEN=your_refresh_token GOOGLE_ADS_LOGIN_CUSTOMER_ID=your_customer_id_without_dashes
SERP Data Retrieval Configuration (Optional)
SERP_API_KEY=your_serp_api_key
4. Acquiring the Google Ads API Authorization Token
Execute the following script to initiate the token retrieval process:
bash npm run get-token
This action will launch a browser window to guide you through the OAuth2 authorization flow. The resulting refresh token is automatically persisted in your .env file.
5. Launching the Application Server
For iterative development cycles:
bash npm run dev
For production deployment:
bash npm start
The service will commence operation on the designated port specified in your .env file (default is 3000).
Interface Documentation
Access the RESTful interface specifications via the /api-docs endpoint once the server is active:
http://localhost:3000/api-docs
MCP Interoperability
This package incorporates Model Context Protocol (MCP) connectivity, enabling external intelligent agents to invoke its exposed functionalities. The requisite MCP configuration resides within the mcp.json artifact.
To integrate this system with the Smithery framework:
- Navigate to Smithery
- Initiate the creation of a new MCP service instance
- Designate the
app-seo-airepository as the source - Finalize the service parameters
- Deploy the configured endpoint
Accessible MCP Functions
research_keywords- Conduct extensive exploration of search terms pertinent to a specified subject or initial query.analyze_serp- Perform detailed inspection of the Search Engine Results Page corresponding to a specific search string.analyze_competitors- Evaluate the search performance and strategy of specified rival domains or keywords._health- Endpoint for verifying operational status and responsiveness.
Operational Examples
Keyword Discovery
javascript // Illustrative AJAX call for keyword generation fetch('http://localhost:3000/api/keywords/ideas?keyword=seo%20tools&language=en') .then(response => response.json()) .then(data => console.log(data));
SERP Assessment
javascript // Illustrative AJAX call for SERP analysis fetch('http://localhost:3000/api/serp/analyze?query=best%20seo%20tools&location=United%20States') .then(response => response.json()) .then(data => console.log(data));
Competitive Review
javascript // Illustrative AJAX call for competitor evaluation fetch('http://localhost:3000/api/competitors/analyze?domain=example.com') .then(response => response.json()) .then(data => console.log(data));
Licensing Information
Permitted under the MIT License.
