Locations MCP Server
This project implements a Model Context Protocol (MCP) server with tools for WordPress content extraction, keyword research, and optimized content generation.
Project Structure
api/– Vercel serverless entry point.src/clients/– External API clients (WordPress, Google keyword suggestions, Google Trends).src/services/– Shared services such as caching, logging, and content processing.src/tools/– MCP tool handlers.src/types/– Shared interfaces and types.
Setup
Install dependencies:
npm installCopy environment defaults:
cp .env.example .envSet the environment variables in
.env:WORDPRESS_API_KEYorWORDPRESS_OAUTH_TOKEN– authentication for secured WordPress sitesWORDPRESS_SITE_URL– default base URL for extractionGOOGLE_TRENDS_PROXY– optional proxy URL when Trends is blocked in your regionMAX_PAGES_PER_REQUEST– caps pagination for WordPress fetches (defaults to 5)LOG_LEVEL–debug,info,warn, orerror
Build the project:
npm run build
Tools
extract_wordpress_content– Fetches pages/posts from a WordPress site with pagination, sanitization, and caching.research_keywords– Generates keyword ideas using Google autocomplete and Trends data with intent classification.generate_optimized_content– Builds structured content using simple Indian English and reports quality metrics.
Send a GET request to /api/mcp to list available tools and their schemas. Send a POST request with { "tool": "tool_name", "input": { ... } } to execute one.
Deployment
The api/mcp.ts entry is compatible with Vercel serverless functions. The build outputs to dist/ and the start script runs the compiled handler locally. The endpoint enforces a 30-second timeout, validates inputs with Zod, and returns structured JSON responses for MCP compatibility.