track_competitor_activity
Monitor competitor social media posts, engagement, promotions, and products to identify market trends and pricing strategies for informed business decisions.
Instructions
Track competitor social media activity to stay informed about market trends and pricing.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| competitors | Yes | Comma-separated competitor page names or IDs | |
| metrics | No | Metrics to track: posts, engagement, promotions, products |
Implementation Reference
- src/index.ts:1463-1495 (handler)Handler function for the 'track_competitor_activity' tool. Validates input, generates mock competitor social media data (posts, engagement, promotions), and returns formatted tracking report. Currently uses simulated data; production would integrate real API tracking.case 'track_competitor_activity': { const competitors = String(args?.competitors || ''); const metrics = String(args?.metrics || 'posts,engagement'); if (!competitors) { return { content: [{ type: 'text', text: `❌ Please provide competitor page names to track.` }] }; } const competitorList = competitors.split(',').map(c => c.trim()); const metricsList = metrics.split(',').map(m => m.trim()); // Mock competitor data const mockData = competitorList.map(comp => ({ name: comp, postsThisWeek: Math.floor(Math.random() * 10) + 3, avgEngagement: Math.floor(Math.random() * 200) + 50, recentPromotion: Math.random() > 0.5 ? 'Yes - Sale on brushes' : 'No recent promotions' })); return { content: [{ type: 'text', text: `🔍 Competitor Activity Tracking\n📊 Metrics: ${metricsList.join(', ')}\n\n${mockData.map(comp => `📍 ${comp.name}\n 📝 Posts this week: ${comp.postsThisWeek}\n 💬 Avg engagement: ${comp.avgEngagement}\n 🎯 Promotions: ${comp.recentPromotion}` ).join('\n\n')}\n\n💡 Note: This is a demonstration feature. In production, this would track public competitor pages to help you stay competitive.` }] }; }
- src/index.ts:499-510 (schema)Tool schema definition including input validation for competitors (required) and optional metrics. Part of the tools array used for MCP tool listing and call validation.{ name: 'track_competitor_activity', description: 'Track competitor social media activity to stay informed about market trends and pricing.', inputSchema: { type: 'object', properties: { competitors: { type: 'string', description: 'Comma-separated competitor page names or IDs' }, metrics: { type: 'string', description: 'Metrics to track: posts, engagement, promotions, products' }, }, required: ['competitors'], }, },
- src/index.ts:516-518 (registration)Registers all tools (including track_competitor_activity) via the ListToolsRequestHandler, which returns the complete tools array.server.setRequestHandler(ListToolsRequestSchema, async () => { return { tools }; });
- src/dashboard.ts:84-84 (registration)Mock tool registration in dashboard's toolsData for UI demonstration.{ name: 'track_competitor_activity', description: 'Monitor competitor activity', category: 'Social Media Management' },