A multi-agent research system that combines Motia workflow orchestration with Mastra AI agents to deliver comprehensive business research reports in under 60 seconds.
Send a research query, get back a professional business report with verified facts and actionable insights. The system uses real web search, AI analysis, fact-checking, and report writing to create executive-ready documents.
Example: Query "Stripe payment infrastructure" → Get back a 15-page report with market analysis, competitive positioning, and strategic recommendations.
- API Query Handler - Accepts research requests via REST API
- Data Collection - Web search using Tavily API for current information
- Research Analysis - Mastra agent analyzes collected data for insights
- Summary Generation - Creates executive summaries with business focus
- Fact Verification - Verifies claims using additional searches and source credibility
- Report Writing - Generates professional reports with proper structure
- Results Coordination - Tracks performance and quality metrics
- Storage & Delivery - Stores results and provides access APIs
- Motia: Workflow orchestration and event-driven architecture
- Mastra: AI agent framework with tool integration
- OpenAI GPT-4o: Language model for analysis and writing
- Tavily API: Web search for real-time data collection
- TypeScript: Type-safe development
- Zod: Schema validation
# API Keys needed
OPENAI_API_KEY=your_openai_key
TAVILY_API_KEY=your_tavily_key# Initialize project
npx create-motia-app motia-research-assistant
cd motia-research-assistant
# Install dependencies
npm install @mastra/core mastra @ai-sdk/openai tavily uuid @types/uuid
# Copy workflow steps to your steps directory
# (All 8 step files from this repository)# Start the workflow
npm run dev
# Make a research request
curl -X POST http://localhost:3000/research/query \
-H "Content-Type: application/json" \
-d '{
"query": "Anthropic business model and competitive analysis",
"depth": "detailed"
}'
# Response includes research ID for tracking
{
"success": true,
"researchId": "research_abc123",
"status": "processing",
"estimatedCompletion": "60 seconds"
}
# Check results
curl http://localhost:3000/api/research/research_abc123/report- basic: Quick overview (800 words, 1 search query, ~30 seconds)
- detailed: Comprehensive analysis (1500 words, 3 search queries, ~45 seconds)
- comprehensive: Deep dive (2500 words, 5 search queries, ~60 seconds)
POST /research/query
Body:
{
"query": "Research topic or company",
"depth": "basic|detailed|comprehensive"
}GET /api/research/{researchId}/report
GET /api/research/{researchId}/summary
GET /api/research/{researchId}/insights
{
"success": true,
"researchId": "research_abc123",
"status": "completed",
"performance": {
"processingTime": "47s",
"targetMet": true
},
"quality": {
"overallScore": 0.87,
"reliabilityScore": 0.92,
"verifiedClaims": 18
},
"results": {
"title": "Research Report: Anthropic Business Analysis",
"executiveSummary": "Anthropic is a leading AI safety company...",
"keyInsights": [
{
"insight": "Focuses on constitutional AI development",
"confidence": 0.95,
"source": "verified_sources"
}
],
"wordCount": 1847,
"readingTime": "8 minutes"
},
"access": {
"reportUrl": "/api/research/abc123/report",
"downloadUrl": "/api/research/abc123/download"
}
}The system tracks several quality indicators:
- Processing Time: Target <60 seconds for all research depths
- Source Reliability: Credibility scoring based on domain authority
- Fact Verification: Claims verified through additional searches
- Report Completeness: Structured sections with proper formatting
- Overall Quality Score: Weighted combination of all metrics
Target thresholds:
- Time: ≤60 seconds
- Quality: ≥0.7 overall score
- Reliability: ≥0.6 verification rate
User Request → query.received → data.collected → research.analyzed →
summary.generated → factcheck.completed → report.generated →
results.coordinated → workflow.completed
- Web Search: Tavily API fetches current articles and reports
- AI Analysis: Mastra research agent processes raw data for insights
- Business Focus: Summary agent creates executive-oriented analysis
- Verification: Fact-check agent validates claims with additional searches
- Professional Writing: Report writer creates structured business documents
- Quality Control: Results coordinator tracks metrics and performance
completed_research: Full workflow recordspublic_reports: Shareable formatted reportsexecutive_summaries: Quick access summarieskey_insights: Structured insights for API consumptionapi_responses: Client response cache (30-day expiry)
Research depth determines search behavior:
const searchConfig = {
basic: { maxResults: 10, queries: 1 },
detailed: { maxResults: 15, queries: 3 },
comprehensive: { maxResults: 20, queries: 5 },
};Each Mastra agent has specialized prompts:
- Research Agent: Extract insights and identify trends
- Summary Agent: Create business-focused summaries
- Fact-Check Agent: Verify claims and assess source credibility
- Report Writer: Generate professional executive reports
This system demonstrates the power of combining Motia's workflow orchestration with Mastra's AI agent capabilities for real-world business applications.