
App SEO AI
STDIOSEO automation tool with Google Ads Keyword Planner integration and AI optimization
SEO automation tool with Google Ads Keyword Planner integration and AI optimization
Application for SEO automation and AI-powered optimization with Google Ads Keyword Planner integration.
git clone https://github.com/ccnn2509/app-seo-ai.git cd app-seo-ai
npm install
Copy the example environment file:
cp .env.example .env
Edit the .env
file and fill in your Google Ads API credentials:
# Server Configuration
PORT=3000
NODE_ENV=development
# Google Ads API Configuration
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 API Configuration (optional)
SERP_API_KEY=your_serp_api_key
Run the following command to get a refresh token:
npm run get-token
This will open your browser and guide you through the OAuth2 authentication process. The refresh token will be automatically saved to your .env
file.
For development:
npm run dev
For production:
npm start
The server will start on the port specified in your .env
file (default: 3000).
API documentation is available at /api-docs
when the server is running:
http://localhost:3000/api-docs
This project includes MCP (Model Context Protocol) integration, allowing AI assistants to use the API. The MCP configuration is in the mcp.json
file.
To use this with Smithery:
app-seo-ai
repositoryresearch_keywords
- Research keywords related to a given topic or seed keywordanalyze_serp
- Analyze a SERP (Search Engine Results Page) for a given queryanalyze_competitors
- Analyze competitors for a given keyword or domain_health
- Health check endpoint// Example request to research keywords fetch('http://localhost:3000/api/keywords/ideas?keyword=seo%20tools&language=en') .then(response => response.json()) .then(data => console.log(data));
// Example request to analyze SERP fetch('http://localhost:3000/api/serp/analyze?query=best%20seo%20tools&location=United%20States') .then(response => response.json()) .then(data => console.log(data));
// Example request to analyze competitors fetch('http://localhost:3000/api/competitors/analyze?domain=example.com') .then(response => response.json()) .then(data => console.log(data));
MIT