Skip to main content
Glama

seo_keyword_ideas

Generate targeted keyword ideas for SEO optimization using ReviewWeb.site API. Specify a keyword, country, and search engine to refine results and enhance content strategy.

Instructions

Get keyword ideas for a keyword using ReviewWeb.site API.

Input Schema

NameRequiredDescriptionDefault
api_keyNoYour ReviewWebsite API key
countryNoCountry code (default: us)
keywordYesThe keyword to get ideas for
searchEngineNoSearch engine to use (default: Google)

Input Schema (JSON Schema)

{ "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "api_key": { "description": "Your ReviewWebsite API key", "type": "string" }, "country": { "description": "Country code (default: us)", "type": "string" }, "keyword": { "description": "The keyword to get ideas for", "type": "string" }, "searchEngine": { "description": "Search engine to use (default: Google)", "type": "string" } }, "required": [ "keyword" ], "type": "object" }

Implementation Reference

  • MCP handler function that executes the seo_keyword_ideas tool logic by calling the controller and formatting the MCP response.
    async function handleGetKeywordIdeas(args: SeoKeywordIdeasToolArgsType) { const methodLogger = Logger.forContext( 'tools/reviewwebsite.tool.ts', 'handleGetKeywordIdeas', ); methodLogger.debug(`Getting keyword ideas:`, { ...args, api_key: args.api_key ? '[REDACTED]' : undefined, }); try { const result = await reviewWebsiteController.getKeywordIdeas( args.keyword, { country: args.country, searchEngine: args.searchEngine, }, { api_key: args.api_key, }, ); return { content: [ { type: 'text' as const, text: result.content, }, ], }; } catch (error) { methodLogger.error(`Error getting keyword ideas`, error); return formatErrorForMcpTool(error); } }
  • Registration of the seo_keyword_ideas tool with the MCP server, specifying name, description, input schema, and handler.
    server.tool( 'seo_keyword_ideas', `Get keyword ideas for a keyword using ReviewWeb.site API.`, SeoKeywordIdeasToolArgs.shape, handleGetKeywordIdeas, );
  • Zod schema defining input arguments for the seo_keyword_ideas tool.
    export const SeoKeywordIdeasToolArgs = z.object({ keyword: z.string().describe('The keyword to get ideas for'), country: z.string().optional().describe('Country code (default: us)'), searchEngine: z .string() .optional() .describe('Search engine to use (default: Google)'), api_key: z.string().optional().describe('Your ReviewWebsite API key'), });
  • Service function that performs the actual HTTP POST request to the ReviewWeb.site API endpoint for generating SEO keyword ideas.
    async function getKeywordIdeas( keyword: string, options?: SeoKeywordIdeasOptions, apiKey?: string, ): Promise<any> { const methodLogger = Logger.forContext( 'services/vendor.reviewwebsite.service.ts', 'getKeywordIdeas', ); try { methodLogger.debug('Getting keyword ideas', { keyword, options }); const response = await axios.post( `${API_BASE}/seo-insights/keyword-ideas`, { keyword, country: options?.country, searchEngine: options?.searchEngine, }, { headers: getHeaders(apiKey), }, ); methodLogger.debug('Successfully got keyword ideas'); return response.data; } catch (error) { return handleApiError(error, 'getKeywordIdeas'); } }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/mrgoonie/reviewwebsite-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server