A Model Context Protocol (MCP) server that provides access to the Keywords Everywhere API for SEO research and keyword analysis. This server enables AI assistants like Claude to perform keyword research, analyze search volumes, get competition data, and access various SEO metrics.
Do note that this is NOT an official MCP server by Keywords Everywhere.
- Keyword Data Analysis: Get search volume, CPC, and competition data for keywords
- Related Keywords: Find related keywords and "People Also Search For" suggestions
- Domain Analysis: Analyze what keywords a domain or URL ranks for
- Traffic Metrics: Get traffic estimates and costs for domains and URLs
- Backlink Analysis: Retrieve backlink data for domains and pages
- Account Management: Check your Keywords Everywhere credit balance
- Multi-Country Support: Analyze keywords across different countries and currencies
- Node.js 16.0.0 or higher
- A Keywords Everywhere API key (get one from Keywords Everywhere)
The easiest way to use this MCP server is with npx:
npx mcp-keywords-everywhere
npm install -g mcp-keywords-everywhere
You can also use this MCP server through Smithery:
-
Connect to the server using the Smithery URL:
server.smithery.ai/@hithereiamaliff/mcp-keywords-everywhere
-
Smithery works with any streamable HTTP transport compatible client including:
- Claude Desktop
- Claude Code
- Gemini CLI
- Raycast
- Cursor
- VS Code
- And many more
For more information, visit Smithery.
Add the following to your Claude Desktop configuration file:
Location:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:
%APPDATA%\Claude\claude_desktop_config.json
Configuration:
{
"mcpServers": {
"keywords-everywhere": {
"command": "npx",
"args": ["-y", "mcp-keywords-everywhere"],
"env": {
"KEYWORDS_EVERYWHERE_API_KEY": "your_api_key_here"
}
}
}
}
If you're using other MCP clients, you can run the server directly:
KEYWORDS_EVERYWHERE_API_KEY=your_api_key_here npx mcp-keywords-everywhere
get_credits
- Check your account's credit balanceget_countries
- Get list of supported countriesget_currencies
- Get list of supported currencies
get_keyword_data
- Get volume, CPC, and competition data for keywordsget_related_keywords
- Find related keywords based on a seed keywordget_pasf_keywords
- Get "People Also Search For" keywords
get_domain_keywords
- Get keywords that a domain ranks forget_url_keywords
- Get keywords that a specific URL ranks forget_domain_traffic
- Get traffic metrics for a domainget_url_traffic
- Get traffic metrics for a URL
get_domain_backlinks
- Get backlinks for a domainget_unique_domain_backlinks
- Get unique domain backlinksget_page_backlinks
- Get backlinks for a specific pageget_unique_page_backlinks
- Get unique backlinks for a page
"Get keyword data for 'SEO tools' and 'keyword research' for Malaysia"
"What keywords does example.com rank for?"
"Get traffic metrics for https://example.com"
"Show me the top 20 backlinks for example.com"
- Sign up at Keywords Everywhere
- Purchase credits for API access
- Get your API key from the dashboard
- Add the API key to your environment variables or MCP configuration
The server includes comprehensive error handling:
- Authentication errors: Clear messages for invalid API keys
- Credit exhaustion: Helpful messages when credits run out
- Rate limiting: Automatic retry with exponential backoff
- Bad requests: Detailed error messages with suggestions
Contributions are welcome! Please feel free to submit a Pull Request.
MIT License - see the LICENSE file for details.
- GitHub Issues: Report bugs or request features
- Keywords Everywhere API: Official documentation
This MCP server uses TypeScript with Smithery CLI for development and deployment. The TypeScript Smithery CLI approach is the recommended migration path for MCP servers, providing built-in development tools, automatic deployment, and containerization with minimal configuration.
- Node.js 18+ installed
- Keywords Everywhere API key
mcp-keywords-everywhere/
├── src/
│ └── index.ts # Main server file with createServer export
├── package.json # Updated with Smithery CLI scripts
├── smithery.yaml # Smithery runtime configuration
├── tsconfig.json # TypeScript configuration
└── README.md # Documentation
# Install dependencies
npm install
# Start development server
npm run dev
The development server will provide a link to the Smithery playground for testing. The playground allows you to interact with your MCP server and test all available tools.
# Build the server
npm run build
# Push changes to GitHub for automatic deployment
git push
Smithery will automatically detect changes and deploy your server. You can also manually trigger deployment from your Smithery server dashboard.
This MCP server uses the Streamable HTTP Transport, which is the recommended transport for production use, offering improved scalability, concurrency, and latency compared to STDIO transport.
For detailed information about the migration from STDIO to TypeScript Smithery CLI with HTTP transport, see MIGRATION.md.
- Simplified Development: Built-in development tools with hot reloading
- Automatic Deployment: Push to GitHub and Smithery handles the rest
- No Dockerfile Needed: Smithery CLI handles containerization
- Type Safety: Full TypeScript support with proper type checking
- Better Performance: HTTP transport offers improved scalability and latency
- Migrated to TypeScript Smithery CLI architecture
- Converted codebase to TypeScript with proper types
- Updated project structure to follow Smithery CLI best practices
- Added tsconfig.json for TypeScript configuration
- Enhanced error handling and response formatting
- Improved development experience with hot reloading
- Migrated from STDIO to Streamable HTTP transport
- Added support for both transport types
- Added smithery.yaml configuration
- Improved session management
- Enhanced error handling
- Initial release
- Support for all major Keywords Everywhere API endpoints
- Comprehensive error handling and retry logic
- MCP protocol compliance
- Cross-platform compatibility