I Built 5 Research Subagents using Claude Code (Here’s the Foundation)
Learn how to create Claude Code subagents and MCP servers to automate your content research and save hours per article.
Content research used to burn me out.
I would spend 4-5 hours per article series reading competitor posts, gathering data, finding examples, thinking about assets, and synthesizing insights.
That’s 2-3 hours scanning competitors, 60-90 minutes on keyword research especially when starting a series, an hour formalizing examples and assets, may be 30-45 minutes making sense of notes.
I publish two times weekly. Assuming major research is done at the series level, that’s still 20+ hours monthly effort before I write a single word.
How do I automate content research without losing quality?
Build specialized research agents that know your business context, execute targeted searches, and deliver structured outputs. Each agent handles one research type, working together to compress 5-6 hours into 30 minutes.
👋 Julley, I’m Dheeraj and I’m an AI systems builder.
I build production-grade AI systems at work by day and ship my own products by night (9+). This newsletter is the bridge between those two worlds. Every system, every build, documented step by step.
Join 1,100+ builders getting the exact AI setups, prompts, and production configs that actually work in your business.
This is Article 1 of my Build in Public series documenting the creation of 5 research agents. You’re getting the foundation infrastructure today to replicate everything:
MCP server setup,
directory structure,
context profiles, and
the Agent Building Starter Kit
By the end, you’ll have working MCP connections, organized folders for your agents, and context files that teach agents about your business. Foundation setup takes about 25 minutes. Your first agent runs by next week.
Why Build Research Agents Instead of Using ChatGPT or Claude?
ChatGPT or Claude gives generic research. You ask about “content marketing strategies” and get textbook answers that could apply to anyone from the knowledge of these LLM models.
But, Research agents know YOUR business context. They understand your audience, your voice, your pain points.
They reference your existing content, your competitors, your specific keywords.
Here’s the difference:
ChatGPT / Claude chat session approach:
You: “Research content marketing trends”
AI Assistant: Generic list of 2025 trends based on LLM knowledge
You: Copy-paste into notes, manually filter relevance
Result: 90 minutes, mostly unusableResearch agent approach:
Me: “Research trends relevant to AI newsletter creators”
My Claude Subagent: Queries Perplexity & firecrawl MCP servers with your audience context
My Claude Subagent: Filters for solopreneur pain points you’ve defined
My Claude Subagent: Saves structured JSON with article angles
Result: 15 minutes, ready to writeThese Claude agents specialize.
One handles deep topic research.
Another focuses on SEO analysis.
A third tracks competitors.
Each has its own context, its own MCP tools, its own output format.
Structured outputs mean research is ready for content creation. No more copy-paste chaos. Agents save files with sections, examples, and sources already organized.
Repeatability matters. Same research process every article. No starting from scratch. No forgetting steps.
The 5 Agents I’m Building
Here’s what my complete system look like:
1. Content Researcher
Deep topic research before content creation. Loads business context, searches via Perplexity, analyzes competitor coverage, extracts unique angles, and generates structured research briefs with sources.
2. SEO / AEO Researcher
SERP analysis and AI answer optimization. Discovers keywords, analyzes search intent, checks what ranks currently, and optimizes for both Google and AI assistants like ChatGPT, Gemini, or Claude.
3. Competitive Analyzer
Tracks what competitors publish. Monitors their content, identifies gaps in their coverage, identifies gaps in my coverage, spots trends they’re missing, and finds opportunities for differentiation.
4. Technical Verifier
Checks technical accuracy before publishing. Verifies that commands, UI paths, and version numbers match current documentation. Catches outdated content before readers do repetitively.
5. Content Gap Analyzer
Finds content opportunities across your niche. Analyzes coverage gaps, identifies trending topics, spots underserved audiences, and prioritizes what to write next.
Each agent builds on the foundation we’re setting up today. Same directory structure, same MCP tools, same context profiles but different specializations.
Commercial break: Claude Code Builder cohort
The founding batch of my Claude Code cohort starts June 20 on Maven. Six live Saturdays. You bring your business problem, we build the system.
Only 12 Seats. When they’re gone, the founding price ($797) closes and Cohort 2 opens at $1,597.
Use code GENAI20 for 20% off. Expires June 19. Check the Syllabus →
The Architecture: How Everything Fits Together
Think of research agents like hiring 5 specialized assistants who work in your office. Each assistant has:
their own desk (agent directory),
their own reference library (context profiles), and
their own filing system (output folders).
MCP servers are like giving them access to research databases so they can gather information without bothering you.
The architecture has 4 layers:
Layer 1: MCP Servers (Research Tools)
Perplexity MCP: AI-powered search for gathering insights
Firecrawl MCP: Web scraping for competitor content
Layer 2: Claude Code Subagents (Specialized Roles)
Content Researcher
SEO/AEO Researcher
Competitive Analyzer
Technical Verifier
Content Gap Analyzer
Layer 3: Context Profiles (Your Business Knowledge)
business-context.md: Who you are, what you sell, your positioning
content-strategy.md: Topics you cover, voice, publishing cadence
competitor-watchlist.md: Who to track and why
Layer 4: Research Outputs (Structured Results)
JSON files with sections, quotes, sources
Markdown reports ready for content creation
Here’s how they work together:
You trigger an agent: “Run the content-researcher agent to research AI automation trends”
Agent reads your context profiles to understand your business
Agent queries Perplexity MCP with context-aware search
Agent scrapes relevant URLs via Firecrawl MCP
Agent saves structured output to designated folder
You open the file and start writing
The foundation we’re building today creates the infrastructure for this system. MCP servers connect the tools. Directory structure organizes the agents. Context profiles teach them about your business.
What I Set Out to Build
I tried first with n8n to build a contexutal memory that persist and shared across various parts of my system. I could not think of a more reusable way in n8n.
Next I started exploring options and that’s where I wanted to turn Claude Code into my content operating system with contextual memory. I call it Pubflow OS. The key goal for me was to tell Claude:
“WHO am I, WHAT I do, and HOW I work. Every research task runs through MY business lens.”
That’s what I wanted. Research that automatically filters through my positioning, my audience, my content pillars.
The goal for today:
Set up the foundation that every agent will use.
Reading this article gives you the blueprint, but building all 5 agents yourself still burns hours on setup, config files, and debugging MCP connections. That is on top of the 20+ monthly hours you were already losing to research before writing a single word.
PluggedIn members get the pre-built agent configs, prompts, and setup files so the infrastructure is ready to drop in today.
My Content Agents Build: Step by Step
Step 1: Directory Structure (1 minute)
First, I created the folder structure for the agent system:
mkdir -p .claude/agents
mkdir -p .claude/research-profiles
mkdir -p .claude/research-outputs/{research-briefs,serp-analyses,competitive-reports}
mkdir -p .claude/build-logsThis creates:
agents/: Where agent definitions live (one markdown file per agent)
research-profiles/: Context files that teach agents about my business
research-outputs/: Where agents save their work, organized by type
build-logs/: Documentation of the build journey (what you’re reading now)
Pretty-Screenshot Claude Skill: Did you know that all my paid subscribers get access to my favorite custom built Claude Skills such as this one that I use to generate these pretty screenshots using my brand colors.
Step 2: API Keys (Already Had These)
I already had API keys from previous projects:
Perplexity API: For AI-powered search
Firecrawl API: For web scraping
If you need keys then check the following links:
Perplexity: perplexity.ai/api
No free tier, $5/1000 requests (It can prove costly unless you optimize the right calls as I did for my own set up)
Firecrawl: firecrawl.dev
Free tier gives 500 pages/month
Step 3: MCP Configuration (5 minutes)
MCP (Model Context Protocol) connects Claude Code to external tools. Without it, Claude Subagents can’t search the web or scrape content effectively. Of course, there is WebFetch tool that helps Claude but I have not see it as effective as doing research with Perplexity or Firecrawl services.
I researched the official MCP packages:
Perplexity MCP: @perplexity-ai/mcp-server
Firecrawl MCP: firecrawl-mcp
Updated my .mcp.json file in the project root:
{
"mcpServers": {
"perplexity": {
"command": "npx",
"args": ["-y", "@perplexity-ai/mcp-server"],
"env": {
"PERPLEXITY_API_KEY": "your-key-here"
}
},
"firecrawl": {
"command": "npx",
"args": ["-y", "firecrawl-mcp"],
"env": {
"FIRECRAWL_API_KEY": "your-key-here"
}
}
}
}Replace the API key placeholders with your actual keys.
Step 4: Testing MCP Connections (5 minutes)
Restarted Claude Code to load the new MCP servers. No errors on startup always means good sign.
Test 1: Perplexity Search
I asked Claude Code to search for “Claude Code MCP subagents best practices 2025”
Result: Success. Got comprehensive research with 8 cited sources. Key insight from the response:
“Use subagents for parallel workstreams, context separation, and specialization inside a Claude Code project.”
Test 2: Firecrawl Scrape
Asked Claude Code to scrape a documentation page from genaiunplugged.substack.com.
Result: Success. The scraper worked correctly and returned clean text from the page.
Both MCP servers connected and functional.
Step 5: Context Profiles (10 minutes)
This is the secret sauce. Context profiles teach agents about your business before they research. So, DO NOT skip this step and give it a deep thought. Work with Claude with your Brand Voice and Style Guide to create all these documents one by one.
I created three core profiles by extracting from my existing brand documentation:
1. business-context.md
# Business Context Profile [Tweak/Adjust as per your brand]
> **Purpose**: This file provides business context for all research agents. Load this before performing any research task.
## Company Identity
**Name**: GenAI Unplugged
**Type**: Content-led business (newsletter, courses, templates)
**Platform**: Substack (primary), LinkedIn, YouTube
**Product Suite**: PubFlow OS (content automation system), SubflowAI (Substack Notes Scheduler), n8n Self-Host Auto Pilot, n8n Premium Workflow Vault
## Mission Statement
**We exist to end Manual Chaos.**
Manual Chaos lives in endless tab switching, copy-paste work, and tools that never speak to each other. Our readers feel busy all day, yet growth crawls and their best work keeps pushed to tomorrow.
## Target Avatars
- Content-Led Solopreneurs (coaches, consultants, creators)
- Service Business Owners (1-5 employees)
## Key Pain Points
1. Content creation burnout (5+ hours per article)
2. Tool chaos (10+ tabs, constant copy-paste)
3. Inconsistent publishing
4. Revenue ceiling without hiring
## Positioning
We end Manual Chaos through simple automation systems
using Claude Projects, Claude Code, and n8n.
## Differentiation
Complete systems, not tips. Working automation by
the end of every article.2. content-strategy.md
# Content Strategy Profile [Tweak/Adjust as per your brand]
> **Purpose**: This file defines content pillars, voice guidelines, and positioning for research agents.
## Content Pillars
1. Build in Public (20%) - Documenting automation builds
2. AI & Automation (30%) - How-to systems
3. Content Ops (30%) - Content creation automation
4. Solopreneur Growth (20%) - Business side
## Voice Principles
- Conversational, not corporate
- Specific numbers ("saves 3 hours" not "saves time")
- Peer-to-peer, not guru-to-student
- Show real errors, builds, and learning
- Give direction, not hedging
## Topics We Cover
- AI automation for content creation
- Research automation and knowledge management
- Content repurposing systems
## Topics We Avoid
- General AI news
- Enterprise solutions
- Complex coding tutorials
## Content Formats
### Long-form (Substack)
- Always include copy-paste prompts in code blocks
- Step-by-step setup + troubleshooting sections
### LinkedIn Posts
- Story/hook format, 800-1200 chars
- Standalone concepts, no article link
### Substack Notes
- 5 notes per article
- Mix of quotes, insights, questions
- Cross-platform repurposing
## SEO/AEO Strategy
### Keyword Approach
- Long-tail automation keywords
- Tool-specific searches (n8n, Claude, Notion)
- Problem-aware searches ("automate lead follow-up")
### Content Structure for AEO
- Direct answer in first paragraph
- Structured headers matching search intent
- Step-by-step numbered lists3. competitor-watchlist.md
# Competitor Watchlist [Tweak/Adjust as per your brand]
> **Purpose**: Track competitors and adjacent players for research agents. Use for competitive analysis, content gap identification, and market positioning.
## Direct Competitors
- Broad AI productivity, n8n educators, strong on Claude tutorials
- Focus on solo business automation
- Superhuman AI, The Rundown AI
- Productivity tips, less system-building
## Monitoring Focus
- What topics are they covering?
- What gaps exist in their coverage?
- How can we differentiate?
## Competitive Intelligence Goals
- Identify underserved angles
- Spot trending topics early
- Find opportunities for unique positioning
- Fresh take opportunities
## Monitoring Cadence
- Weekly | RSS/Email subscribeThese files now live in .claude/research-profiles/. Every agent I build will read these before researching.
Time Log
Directory setup — 5 min
API key check — 5 min
MCP config — 10 min
MCP testing — 5 min
Context profiles — 10 min (already had the brand file which I fed into it)
Total — ~35 min
Faster than I expected. The MCP setup is straightforward if you have your API keys ready.
Want to Build These Research Agents in 15 Minutes Instead of Hours?
You just walked through setting up 5 research agents step-by-step which probably took a good chunk of time getting all the details right.
If you want to build this yourself:
Article 1 covers the foundation setup (Claude Code, MCP servers, folder structure)
Article 2 covered the content research AI agent
Article 3 covered the SEO + AEO AI agent
Article 4 covered the Competitive Analyzer AI agent
More agents coming: content gap analyzer, distribution, repurposing
If you want the pre-built agents:
Get your Content OS Agents Toolkit → pre-built versions of all 5 agents with configs, prompts, and setup guide. Drop them into your Claude Code workspace today.
PluggedIn members get 25% off →
If you want it done-for-you:
I’ve packaged everything into PubFlow OS CLI → my complete content automation system I use to run GenAI Unplugged with my personal taste and branding. Includes all agents, slash commands, and the full pipeline. Send me a DM to know more.
What Actually Worked
MCP setup is simpler than expected. Add to
.mcp.json, restart Claude Code, done. No complex installation, no dependency hell. You can even ask Claude Code to help you setup these MCP, it will guide you step by step and troubleshoot issues for you.Context profiles accelerate everything. Pre-loading business context saves tokens and improves relevance. Agents don’t waste time figuring out who you are. This is the most important thing.
Build logs force clarity. Writing this as I go catches assumptions I’d otherwise miss. Documentation is thinking and helps me with clarity to remove redundancies.
If you don’t have your Business context documented and you don’t know where to start, then drop in a comment. I will address it in a dedicated series if I get enough responses from people in need of it.
What Comes Next
Next week, I will share the building process of the first agent: Content Researcher.
You’ll give it a query like “Research AI automation trends for solopreneurs” and get back:
5-7 key findings with sources
Competitor coverage analysis
Recommended article angles
Suggested outline
The agent reads context profiles, queries Perplexity with targeted searches, and saves structured output. Everything we built today makes that possible.
Key Takeaways
Start with infrastructure, not agents. The temptation is to jump into building agents. But without MCP connections and context profiles, agents are just fancy prompts.
Context profiles are the differentiator. Anyone can build a “research agent.” An agent that knows YOUR business, YOUR audience, YOUR positioning, that’s what makes it valuable.
Document as you build. Build logs aren’t just for articles. They catch assumptions, create accountability, highlights redundancies, and make debugging easier.
Test incrementally. I tested each step end to end including each MCP connection before moving on. Saved debugging time later.
Frequently Asked Questions
How much do the APIs cost?
Perplexity API has no free tier, so you need a payment method. Search API costs about $5 per 1,000 requests. Firecrawl free tier gives 500 pages/month, then $16/month for 3,000 pages.
For weekly content creation (4-5 research sessions per month), costs are minimal. Maybe $5-10/month total. You can optimize the calls especially for perplexity as I did which helped me save almost 70% of original cost.
Want my exact setup? Consider upgrading to paid tier where paid members get detailed set up guides and as-is setup that I use for this team of Claude Subagents.
Can I use this without Claude Code?
No. This system requires Claude Code’s subagent feature and MCP integration. Regular ChatGPT and Claude chats lacks file system access.
How technical do I need to be?
No coding required. You can just have simple english conversation with Claude Code to build it. Knowing the basics of dealing with file system like creating folders, opening Claude Code in right directory, using basic code editors like Visual Studio Code or Cursor AI is helpful.
What if my MCP connection fails?
Common fixes:
Check API key for extra spaces
Verify
.mcp.jsonis in the right locationRestart Claude Code after config changes
Check API key validity in provider dashboard
Ask Claude Code to help you troubleshoot
Your 30-Minute Challenge
Set up the foundation infrastructure now:
Create the directory structure
Get API keys (Perplexity + Firecrawl)
Configure
.mcp.jsonwith both MCP serversTest connections with a simple search
Write your three context profiles
Success looks like: MCP connections work, directories exist, context profiles describe YOUR business.
What’s Next
Article 2 drops next week. We build the Content Researcher agent, yes, the one that finds topic insights and trends in 15 minutes instead of 2 hours.
The foundation is ready. Time to build.
Get PluggedIn
Build all 5 research agents in 15 minutes, not the hours this article walkthrough actually takes.
Every month you delay is another 20+ hours of manual research instead of 30 minutes.
Get PluggedIn to go from 20+ hours of monthly research grunt work to structured briefs from 5 purpose-built agents in under 30 minutes
This is Article 1 of the PubFlow OS Agents series, documenting my journey building 5 research agents for content creation under my content operating system Pubflow OS. Follow along as I build each agent in public sharing errors, learnings, and working code included.








The context profiles thing is the key bit. Generic chatbot research is useless because it doesn't know your audience, your existing content, your angle - the agent needs that grounding to be useful.
I've been building something similar but ended up using Claude Code skills for the search layer rather than MCP: https://reading.sh/how-to-build-a-solid-research-pipeline-in-claude-code-ff7878c5e2b5
Firecrawl as a CLI skill, a zero-dependency Node script for Synthetic.new's search API (which is bundled in their standard plan - I didn't realise until I dug through their docs), and Exa via MCP for the semantic angle. All three fanning out in parallel.
What MCP servers are you running for the content research agents?
The subagent architecture matches exactly how I structured my system. Specialized agents that the main orchestrator 'hires' for specific tasks.
I built Wiz - a personal AI agent with subagents for research, job searching, blog writing. Each maintains its own memory file, genuinely getting better over time.
Full architecture: https://thoughts.jock.pl/p/wiz-personal-ai-agent-claude-code-2026