
应用SEO智能助手
STDIOGoogle广告关键词规划整合的SEO自动化工具
Google广告关键词规划整合的SEO自动化工具
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