Estimated reading time: 9 minutes
If you work in a digital agency and use Claude to produce content, analyze data or automate tasks, you probably have the same problem we had: Claude is powerful, but lives in a bubble. You ask him something about a client’s SEO performance and he answers with general knowledge, not with that client’s actual data.
The solution exists and is called MCP: Model Context Protocol. It is the protocol that allows Claude to connect directly with your external tools and act on them in real time. At Inprofit we have been using MCP in production for several months with a specific stack: WordPress REST API, Google Search Console and Google Analytics, all orchestrated from Claude Desktop and Claude Code.
This post is the guide that would have saved us weeks of testing. Straight to the point: what MCP is, how it works technically, what problems we encountered in Windows and how we solved them, and what agency flows you can set up from day one.
MCP is not just another integration. It is the layer that turns Claude into an agent with memory and real access to your technology stack.
What is the Model Context Protocol (MCP) and why does it matter in 2026?
MCP is an open protocol, published by Anthropic in 2024, that standardizes the way language models communicate with external tools. Before MCP, every integration was a patch: prompts that mimicked having data, custom functions, or n8n streams that prepared the context before calling the API.
With MCP, Claude can connect directly to a server that exposes predefined tools, resources and prompts. From the model, it is as if these capabilities are native.
The three elements of an MCP server
- Tools: functions that Claude can invoke. Example: search for posts in WordPress, get click data in GSC, read GA4 sessions.
- Resources: data that Claude can read as context. Example: the content of a local file, the configuration of a project.
- Prompts: reusable templates that the server exposes for predefined flows.
The architecture is client-server: Claude acts as the MCP client, and you deploy the servers that connect to your APIs. They can run locally (stdio) or as a remote service (SSE/HTTP). In agency, the most practical combination is local servers for internal tools and remote servers for cloud services.
The stack we use in production: WordPress + GSC + Analytics
Our starting point was clear: we needed Claude to have real access to the three data sources we use on a daily basis on client projects.
1. WordPress REST API – the WordPress MCP server
There is an MCP server for WordPress that connects via REST API. It allows Claude to read, create and edit posts, pages, categories and Yoast/RankMath metadata directly. For agencies managing client blogs, this radically changes the flow of content ops.
Basic installation (requires Node.js 18+):
npm install -g @modelcontextprotocol/server-wordpressConfiguration at claude_desktop_config.json:
{
"mcpServers": {
"wordpress": {
"command": "C:\\Users\\jorge\\AppData\\Roaming\\npm\\mcp-wordpress.cmd",
"args": [],
"env": {
"WP_URL": "https://tucliente.com",
"WP_USER": "usuario_api",
"WP_APP_PASSWORD": "xxxx xxxx xxxx xxxx"
}
}
}
}
2. Google Search Console – the GSC MCP server
The Google Search Console MCP server exposes search performance data: queries, pages, clicks, impressions, CTR and average position. With this, Claude can answer questions such as: which pages are losing position this month? which queries have low CTR and should be optimized?
Requires creating OAuth2 credentials in Google Cloud Console with Search Console scopes. The initial authentication flow is the only manual step; after that it works with automatic token refresh.
3. Google Analytics 4 – the GA4 MCP Server
GA4’s MCP server uses the Google Analytics Data API v1. It allows Claude to query metrics on sessions, users, conversions, bounce rate and custom events. The most valuable agency use case: generate monthly performance reports without manually exporting data.
Real problems we encountered (and how we solved them)
Problem 1: MCP connection timeouts on Windows with npx
The symptom was that Claude Desktop was showing the MCP servers as “connecting…” indefinitely. The root problem is that npx on Windows launches a child process with a startup latency that exceeds the connection timeout of the MCP client.
Solution: Install all MCP packages globally with npm install -g and use the absolute path to .cmd in the field command.
Problem 2: OAuth authentication expired in GSC and GA4
OAuth2 tokens expire. If the MCP server has no refresh logic, the connection silently fails and Claude starts responding with no real data, or worse, with made-up data.
Solution: Use service account credentials instead of user OAuth for GSC and GA4. Service accounts do not expire and are more suitable for agency environments where multiple people can launch the server.
Issue 3: Insufficient permissions in WordPress REST API
The WordPress REST API by default limits certain endpoints to authenticated users with the correct roles. If the Application Password does not have write permissions, Claude can read posts but not create or edit them.
Solution: create a specific WordPress user for the MCP integration with Editor role and generate the Application Password from its profile. Never use administrator credentials in environment variables.
5 agency flows we set up with this stack
Once the stack is in production, the possibilities multiply. These are the five flows that generate the most value for us:
Flow 1: Conversational SEO audit
We asked Claude: “Analyze the top 10 pages with the most impressions in GSC this month, identify the ones with CTR below 3% and tell me which title and meta description you would change.” Claude consults GSC, gets the data, cross-references it with the current post content in WordPress and proposes the changes. All in one conversation, without exporting or copying anything.
Flow 2: generation and publication of drafts
Claude writes the complete post following our style guide and publishes it directly on WordPress as a draft, with title, slug, excerpt, categories and tags already assigned. The team only reviews and approves. The layout time is zero.
Flow 3: Monthly performance reports
A predefined prompt in our Claude SEO Project extracts from GA4 the key metrics of the month (sessions, conversions, bounce rate per channel) and from GSC (average position evolution, won and lost queries). Claude generates the narrative report ready to send to the client.
Flow 4: keyword cannibalization detection
We query all the posts of a client’s blog from WordPress and cross-reference them with their GSC data. Claude identifies which posts are competing for the same queries and proposes a content consolidation or differentiation strategy.
Flow 5: Optimization of existing content
We pass Claude the URL of a post; he gets the current content from WordPress and performance data from GSC. It generates an improved version with the keywords that are ranking on page 2 naturally integrated into the text.
The most important change is not technical: it is conceptual. You stop using Claude as a text generator and start using it as an agent with access to the real data of your business.
Recommended architecture for agencies: Claude Projects + MCP
The most powerful combination for agencies is to use Claude Projects together with the MCP servers. Each project has its own system prompt with client context (industry, brand tone, target keywords, key URLs) and inherits the MCP servers from the workspace.
Our current structure at Inprofit:
- SEO/GEO Inprofit.eu project: connected to GSC + GA4 + WordPress of our website. Manages the content strategy of the blog.
- ContentOps Project: connected to each client’s WordPress. Manages the production and publication of content.
- TopicStratOps project: connected to each client’s GSC. Analyzes content opportunities and cannibalizations.
- VideoStratOps project: connected to the local filesystem with scripts and performance data from Reels and TikTok.
Each project accesses only the MCP servers it needs. This reduces context noise and improves the accuracy of Claude’s responses.
MCP and GEO: why this type of content ranks well in AI engines
Experiential technical content, with real use cases and solutions to concrete problems, is exactly the kind that LLMs cite when someone asks about agency automation with Claude. To optimize for GEO (Generative Engine Optimization) we apply these criteria:
- Technical specificity: versions, file paths, exact parameter names. LLMs prioritize sources that respond with precision, not generalities.
- Implicit question structure: each H2/H3 answers a real question that someone might ask ChatGPT or Perplexity about MCP with Claude.
- Named entities: Model Context Protocol, Claude Desktop, WordPress REST API, Google Search Console API, GA4 Data API. Recognizable entities increase the probability of being cited.
- Real E-E-A-T: we describe our own mistakes, our own solutions, our own flows. That is what GEO rewards and what cannot be generated without having lived it.
Conclusion: MCP is not the future, it is the present for agencies using AI.
If your agency already uses Claude for content, SEO or reporting, setting up the MCP stack with WordPress, GSC and Analytics is the next logical step. The initial technical investment (between 4 and 8 hours to get it working properly on Windows) is recovered in the first week of use.
What fundamentally changes is the relationship between the computer and the data: instead of manually exporting, copying, pasting and contextualizing, Claude accesses and acts on the data in real time. That’s what turns an AI assistant into an AI agent.
At Inprofit we continue to expand the stack. The next MCP server we are integrating is Supabase, to connect Claude with the commercial agent prospecting data we have under construction with n8n and Google Places API.
Do you want to set up this stack in your agency? At Inprofit we offer MCP implementation consulting for marketing teams and digital agencies. Write us and we will tell you how to do it in your specific environment.
Frequently asked questions about CCM and Claude
MCP is an open protocol. Although it was created by Anthropic, it already has implementations for OpenAI, Gemini and open source models such as Llama. However, the most mature integration and with more servers currently available is that of Claude Desktop and Claude Code.
For the most common servers (WordPress, GSC, GA4, GitHub, Notion) you don’t need to program: they are npm packages that are installed and configured with environment variables. If you want to create a custom MCP server for a specific API of your agency, you need basic knowledge of Node.js or Python.
Security depends on how you manage credentials. The basic recommendations: use WordPress Application Passwords instead of real passwords, use Google service accounts with minimal permissions (read-only where you don’t need to write), and never store credentials in code repositories. The MCP server runs locally, so the credentials don’t leave your machine.
With Claude’s API directly, you build the context and pass it to the model on each call. With MCP, the model can request information from the tools itself during the conversation. It’s the difference between an assistant that you have to brief every time and an agent that knows where to look when it needs it.
Claude Desktop (the free and paid desktop app) supports MCP since the end of 2024. Claude Code also supports it natively. The web version of Claude.ai does not support MCP local servers at the moment, although remote MCPs (SSE) are starting to be integrated via the Claude marketplace connectors.

Marketing tecnológico en vena. Fanático de las tecnologías Martech que rompen moldes: IA generativa, blockchain, no-code, metaverso, automatización extrema… Convencido de que el futuro no se espera, se construye (y se vende muy bien).
Responsable del marketing más disruptivo y tecnológico.



