anysite Content Analytics
Measure and optimize content performance across social platforms using anysite MCP. Track engagement, identify top performers, and refine your content strategy.
Overview
- Track post performance across Instagram, YouTube, LinkedIn, Twitter/X
- Analyze engagement metrics (likes, comments, shares, views)
- Identify top content and viral patterns
- Benchmark against competitors for strategy insights
- Optimize posting strategy based on data
Coverage: 80% - Strong for Instagram, YouTube, LinkedIn, Twitter, Reddit
Supported Platforms
- ✅ Instagram: Posts, Reels, likes, comments, engagement rates
- ✅ YouTube: Videos, views, likes, comments, watch time indicators
- ✅ LinkedIn: Posts, articles, reactions, comments, shares
- ✅ Twitter/X: Tweets, retweets, likes, replies
- ✅ Reddit: Posts, upvotes, comments, awards
v2 Tool Interface
All data fetching uses the anysite MCP v2 universal meta-tools:
execute(source, category, endpoint, params) - Fetch data from any source. Returns first page + cache_key.
get_page(cache_key, offset, limit) - Load more items from a previous execute() when next_offset is returned.
query_cache(cache_key, conditions?, sort_by?, aggregate?, group_by?) - Filter, sort, and aggregate cached data without new API calls.
export_data(cache_key, format) - Export full dataset as CSV, JSON, or JSONL. Returns a download URL.
Error Handling
v2 responses may include llm_hint fields with guidance on how to resolve errors. Common patterns:
- 412: Entity not found - verify the identifier (username, URN, URL).
- 422: Invalid parameter format - check URN prefix format or param types.
- Always check
llm_hint in error responses for specific resolution steps.
Quick Start
Step 1: Collect Content Data
Platform-specific:
- Instagram:
execute("instagram", "user", "user_posts", {"user": "username", "count": 50})
- LinkedIn:
execute("linkedin", "user", "user_posts", {"urn": "fsd_profile:ACoAAA...", "count": 50})
- Twitter:
execute("twitter", "user", "user_posts", {"user": "username", "count": 100})
- YouTube:
execute("youtube", "channel", "channel_videos", {"channel": "channel_id", "count": 30})
Step 2: Analyze Engagement
Use query_cache() on the returned cache_key to analyze without re-fetching:
query_cache(cache_key, sort_by="likes desc", aggregate="avg:likes,comments")
Calculate metrics:
- Engagement rate: (likes + comments + shares) / followers
- Best performing content: Top 10% by engagement
- Content types: Video vs. image vs. text
- Posting frequency: Posts per week
Step 3: Identify Patterns
Look for:
- Best posting times (day of week, time)
- Top-performing topics/themes
- Optimal content length
- High-engagement formats
Step 4: Optimize Strategy
Based on findings:
- Double down on top content types
- Post more during peak engagement times
- Replicate successful topics
- Adjust content mix
Step 5: Export Results
export_data(cache_key, "csv")
Returns a download URL for the full dataset.
Common Workflows
Workflow 1: Instagram Content Audit
Steps:
- Get All Posts
execute("instagram", "user", "user_posts", {"user": "username", "count": 100})
→ returns cache_key + first page of results
If more posts exist (response includes next_offset):
get_page(cache_key, offset=next_offset, limit=50)
- Calculate Metrics
For each post:
- Engagement rate = (likes + comments) / follower_count
- Engagement per hour = engagement / hours_since_posted
- Content type (Reel, carousel, single image, video)
Use query_cache to sort and filter:
query_cache(cache_key, sort_by="likes desc", aggregate="avg:likes,comments")
- Identify Top Performers
query_cache(cache_key, sort_by="likes desc")
Top 10%: Analyze for common patterns
- Topics/themes
- Visual style
- Caption style and length
- Hashtag strategy
- Analyze Content Mix
query_cache(cache_key, group_by="type", aggregate="count:id,avg:likes,avg:comments")
Results show:
- Reels: X% of posts, Y% of engagement
- Carousels: X% of posts, Y% of engagement
- Single images: X% of posts, Y% of engagement
- Benchmark Against Competitors
For each competitor:
execute("instagram", "user", "user_posts", {"user": "competitor", "count": 50})
Compare:
- Posting frequency
- Engagement rates
- Content types
- Top themes
- Export Results
export_data(cache_key, "csv")
Expected Output:
- Content performance report
- Top 10 performing posts
- Content type effectiveness
- Posting frequency analysis
- Competitive benchmark
Workflow 2: LinkedIn Content Strategy Analysis
Steps:
- Collect Post History
execute("linkedin", "user", "user_posts", {"urn": "fsd_profile:ACoAAA...", "count": 100})
→ returns cache_key + first page
For company page posts:
execute("linkedin", "company", "company_posts", {"urn": {"type": "company", "value": "1441"}, "count": 100})
Use get_page(cache_key, offset, limit) if more posts exist.
- Categorize Content
Group by type:
- Text-only posts
- Image posts
- Video posts
- Article shares
- LinkedIn articles
- Polls
- Analyze Engagement by Type
query_cache(cache_key, aggregate="avg:comment_count,avg:share_count", group_by="type")
For each content type:
- Average reactions
- Average comments
- Average shares
- Engagement rate
- Topic Analysis
Extract themes from top posts:
- Industry insights
- Personal stories
- How-to/educational
- Company news
- Thought leadership
- Posting Timing Analysis
Group posts by:
- Day of week
- Time of day
Calculate average engagement for each group
Expected Output:
- Best content types for engagement
- Top topics by engagement
- Optimal posting times
- Content frequency recommendations
Workflow 3: YouTube Channel Performance Analysis
Steps:
- Get Channel Videos
execute("youtube", "channel", "channel_videos", {"channel": "channel_id", "count": 50})
→ returns cache_key + first page
Use get_page(cache_key, offset, limit) for additional videos.
- Analyze Each Video
For each video:
execute("youtube", "video", "video", {"video": "video_id"})
Metrics:
- Views
- Likes/dislikes
- Comments
- View velocity (views per day since upload)
- Identify Patterns
query_cache(cache_key, sort_by="views desc")
Analyze top 20% by views:
- Video length
- Titles (keywords, style)
- Thumbnail patterns
- Topics/themes
- Upload timing
- Engagement Analysis
Check comments:
execute("youtube", "video", "video_comments", {"video": "video_id", "count": 100})
Analyze:
- Comment quality
- Questions asked
- Sentiment
- Engagement timing
- Content Mix Optimization
Compare:
- Long-form (>10 min) vs short (<5 min)
- Tutorial vs entertainment vs review
- Series vs one-offs
Expected Output:
- Video performance rankings
- Optimal video length
- Best topics and formats
- Title and thumbnail insights
- Upload strategy recommendations
MCP Tools Reference (v2)
Instagram
execute("instagram", "user", "user_posts", {"user": username, "count": N}) - Get posts with engagement
execute("instagram", "post", "post", {"post": post_id}) - Get detailed post metrics
execute("instagram", "post", "post_likes", {"post": post_id, "count": N}) - Analyze likers
execute("instagram", "post", "post_comments", {"post": post_id, "count": N}) - Get comments
LinkedIn
execute("linkedin", "user", "user_posts", {"urn": "fsd_profile:ACoAAA...", "count": N}) - Get user post history
execute("linkedin", "company", "company_posts", {"urn": {"type": "company", "value": "ID"}, "count": N}) - Company page posts
Twitter/X
execute("twitter", "user", "user_posts", {"user": username, "count": N}) - Get tweets
execute("twitter", "search", "search_posts", {"query": query, "count": N}) - Find trending tweets
YouTube
execute("youtube", "channel", "channel_videos", {"channel": channel, "count": N}) - All videos
execute("youtube", "video", "video", {"video": video_id}) - Video details and metrics
execute("youtube", "video", "video_comments", {"video": video_id, "count": N}) - Comments
Reddit
execute("reddit", "user", "user_posts", {"username": username, "count": N}) - User's posts
execute("reddit", "search", "search_posts", {"query": query, "count": N}) - Find popular posts
Pagination & Analysis
get_page(cache_key, offset, limit) - Fetch next page of results from any execute() call
query_cache(cache_key, conditions?, sort_by?, aggregate?, group_by?) - Filter/sort/aggregate cached results
export_data(cache_key, "csv"|"json"|"jsonl") - Export dataset as downloadable file
Key Metrics
Engagement Rate:
- Formula: (Likes + Comments + Shares) / Followers x 100
- Instagram benchmark: 3-6%
- LinkedIn benchmark: 2-5% of connections
- Twitter benchmark: 0.5-1%
Content Performance Score:
Score = (Engagement Rate x 40) +
(Comments/Likes Ratio x 30) +
(Share Rate x 30)
Viral Potential Indicators:
- Engagement rate >2x average
- High share rate (>5% of engagement)
- Rapid engagement velocity (50% within 24h)
- Quality comments (questions, discussions)
Output Formats
Chat Summary:
- Top 5 performing posts
- Key insights and patterns
- Recommendations for optimization
CSV Export (via export_data(cache_key, "csv")):
- Post URL, date, type
- Likes, comments, shares
- Engagement rate
- Performance rank
JSON Export (via export_data(cache_key, "json")):
- Full post data with metadata
- Time-series engagement data
- Historical trends
Reference Documentation
- METRICS_GUIDE.md - Detailed metrics definitions, calculation formulas, and benchmarks
Ready to analyze content? Ask Claude to help you track performance, identify top content, or optimize your posting strategy!
1---2name: anysite-content-analytics3description: Track and analyze content performance across Instagram, YouTube, LinkedIn, Twitter/X, and Reddit using anysite MCP server. Measure engagement metrics, analyze post effectiveness, benchmark content strategy, identify top-performing content, and optimize posting strategies. Use when users need to measure content ROI, optimize social strategy, identify viral content patterns, or analyze content engagement across platforms.4---56# anysite Content Analytics78Measure and optimize content performance across social platforms using anysite MCP. Track engagement, identify top performers, and refine your content strategy.910## Overview1112- **Track post performance** across Instagram, YouTube, LinkedIn, Twitter/X13- **Analyze engagement metrics** (likes, comments, shares, views)14- **Identify top content** and viral patterns15- **Benchmark against competitors** for strategy insights16- **Optimize posting strategy** based on data1718**Coverage**: 80% - Strong for Instagram, YouTube, LinkedIn, Twitter, Reddit1920## Supported Platforms2122- ✅ **Instagram**: Posts, Reels, likes, comments, engagement rates23- ✅ **YouTube**: Videos, views, likes, comments, watch time indicators24- ✅ **LinkedIn**: Posts, articles, reactions, comments, shares25- ✅ **Twitter/X**: Tweets, retweets, likes, replies26- ✅ **Reddit**: Posts, upvotes, comments, awards2728## v2 Tool Interface2930All data fetching uses the anysite MCP v2 universal meta-tools:3132- **`execute(source, category, endpoint, params)`** - Fetch data from any source. Returns first page + `cache_key`.33- **`get_page(cache_key, offset, limit)`** - Load more items from a previous execute() when `next_offset` is returned.34- **`query_cache(cache_key, conditions?, sort_by?, aggregate?, group_by?)`** - Filter, sort, and aggregate cached data without new API calls.35- **`export_data(cache_key, format)`** - Export full dataset as CSV, JSON, or JSONL. Returns a download URL.3637### Error Handling3839v2 responses may include `llm_hint` fields with guidance on how to resolve errors. Common patterns:40- **412**: Entity not found - verify the identifier (username, URN, URL).41- **422**: Invalid parameter format - check URN prefix format or param types.42- Always check `llm_hint` in error responses for specific resolution steps.4344## Quick Start4546**Step 1: Collect Content Data**4748Platform-specific:49- Instagram: `execute("instagram", "user", "user_posts", {"user": "username", "count": 50})`50- LinkedIn: `execute("linkedin", "user", "user_posts", {"urn": "fsd_profile:ACoAAA...", "count": 50})`51- Twitter: `execute("twitter", "user", "user_posts", {"user": "username", "count": 100})`52- YouTube: `execute("youtube", "channel", "channel_videos", {"channel": "channel_id", "count": 30})`5354**Step 2: Analyze Engagement**5556Use `query_cache()` on the returned `cache_key` to analyze without re-fetching:57```58query_cache(cache_key, sort_by="likes desc", aggregate="avg:likes,comments")59```6061Calculate metrics:62- Engagement rate: (likes + comments + shares) / followers63- Best performing content: Top 10% by engagement64- Content types: Video vs. image vs. text65- Posting frequency: Posts per week6667**Step 3: Identify Patterns**6869Look for:70- Best posting times (day of week, time)71- Top-performing topics/themes72- Optimal content length73- High-engagement formats7475**Step 4: Optimize Strategy**7677Based on findings:78- Double down on top content types79- Post more during peak engagement times80- Replicate successful topics81- Adjust content mix8283**Step 5: Export Results**8485```86export_data(cache_key, "csv")87```8889Returns a download URL for the full dataset.9091## Common Workflows9293### Workflow 1: Instagram Content Audit9495**Steps**:96971. **Get All Posts**98```99execute("instagram", "user", "user_posts", {"user": "username", "count": 100})100→ returns cache_key + first page of results101```102103If more posts exist (response includes `next_offset`):104```105get_page(cache_key, offset=next_offset, limit=50)106```1071082. **Calculate Metrics**109```110For each post:111- Engagement rate = (likes + comments) / follower_count112- Engagement per hour = engagement / hours_since_posted113- Content type (Reel, carousel, single image, video)114```115116Use `query_cache` to sort and filter:117```118query_cache(cache_key, sort_by="likes desc", aggregate="avg:likes,comments")119```1201213. **Identify Top Performers**122```123query_cache(cache_key, sort_by="likes desc")124125Top 10%: Analyze for common patterns126- Topics/themes127- Visual style128- Caption style and length129- Hashtag strategy130```1311324. **Analyze Content Mix**133```134query_cache(cache_key, group_by="type", aggregate="count:id,avg:likes,avg:comments")135136Results show:137- Reels: X% of posts, Y% of engagement138- Carousels: X% of posts, Y% of engagement139- Single images: X% of posts, Y% of engagement140```1411425. **Benchmark Against Competitors**143```144For each competitor:145 execute("instagram", "user", "user_posts", {"user": "competitor", "count": 50})146Compare:147- Posting frequency148- Engagement rates149- Content types150- Top themes151```1521536. **Export Results**154```155export_data(cache_key, "csv")156```157158**Expected Output**:159- Content performance report160- Top 10 performing posts161- Content type effectiveness162- Posting frequency analysis163- Competitive benchmark164165### Workflow 2: LinkedIn Content Strategy Analysis166167**Steps**:1681691. **Collect Post History**170```171execute("linkedin", "user", "user_posts", {"urn": "fsd_profile:ACoAAA...", "count": 100})172→ returns cache_key + first page173```174175For company page posts:176```177execute("linkedin", "company", "company_posts", {"urn": {"type": "company", "value": "1441"}, "count": 100})178```179180Use `get_page(cache_key, offset, limit)` if more posts exist.1811822. **Categorize Content**183```184Group by type:185- Text-only posts186- Image posts187- Video posts188- Article shares189- LinkedIn articles190- Polls191```1921933. **Analyze Engagement by Type**194```195query_cache(cache_key, aggregate="avg:comment_count,avg:share_count", group_by="type")196197For each content type:198- Average reactions199- Average comments200- Average shares201- Engagement rate202```2032044. **Topic Analysis**205```206Extract themes from top posts:207- Industry insights208- Personal stories209- How-to/educational210- Company news211- Thought leadership212```2132145. **Posting Timing Analysis**215```216Group posts by:217- Day of week218- Time of day219Calculate average engagement for each group220```221222**Expected Output**:223- Best content types for engagement224- Top topics by engagement225- Optimal posting times226- Content frequency recommendations227228### Workflow 3: YouTube Channel Performance Analysis229230**Steps**:2312321. **Get Channel Videos**233```234execute("youtube", "channel", "channel_videos", {"channel": "channel_id", "count": 50})235→ returns cache_key + first page236```237238Use `get_page(cache_key, offset, limit)` for additional videos.2392402. **Analyze Each Video**241```242For each video:243 execute("youtube", "video", "video", {"video": "video_id"})244245Metrics:246- Views247- Likes/dislikes248- Comments249- View velocity (views per day since upload)250```2512523. **Identify Patterns**253```254query_cache(cache_key, sort_by="views desc")255256Analyze top 20% by views:257- Video length258- Titles (keywords, style)259- Thumbnail patterns260- Topics/themes261- Upload timing262```2632644. **Engagement Analysis**265```266Check comments:267 execute("youtube", "video", "video_comments", {"video": "video_id", "count": 100})268269Analyze:270- Comment quality271- Questions asked272- Sentiment273- Engagement timing274```2752765. **Content Mix Optimization**277```278Compare:279- Long-form (>10 min) vs short (<5 min)280- Tutorial vs entertainment vs review281- Series vs one-offs282```283284**Expected Output**:285- Video performance rankings286- Optimal video length287- Best topics and formats288- Title and thumbnail insights289- Upload strategy recommendations290291## MCP Tools Reference (v2)292293### Instagram294- `execute("instagram", "user", "user_posts", {"user": username, "count": N})` - Get posts with engagement295- `execute("instagram", "post", "post", {"post": post_id})` - Get detailed post metrics296- `execute("instagram", "post", "post_likes", {"post": post_id, "count": N})` - Analyze likers297- `execute("instagram", "post", "post_comments", {"post": post_id, "count": N})` - Get comments298299### LinkedIn300- `execute("linkedin", "user", "user_posts", {"urn": "fsd_profile:ACoAAA...", "count": N})` - Get user post history301- `execute("linkedin", "company", "company_posts", {"urn": {"type": "company", "value": "ID"}, "count": N})` - Company page posts302303### Twitter/X304- `execute("twitter", "user", "user_posts", {"user": username, "count": N})` - Get tweets305- `execute("twitter", "search", "search_posts", {"query": query, "count": N})` - Find trending tweets306307### YouTube308- `execute("youtube", "channel", "channel_videos", {"channel": channel, "count": N})` - All videos309- `execute("youtube", "video", "video", {"video": video_id})` - Video details and metrics310- `execute("youtube", "video", "video_comments", {"video": video_id, "count": N})` - Comments311312### Reddit313- `execute("reddit", "user", "user_posts", {"username": username, "count": N})` - User's posts314- `execute("reddit", "search", "search_posts", {"query": query, "count": N})` - Find popular posts315316### Pagination & Analysis317- `get_page(cache_key, offset, limit)` - Fetch next page of results from any execute() call318- `query_cache(cache_key, conditions?, sort_by?, aggregate?, group_by?)` - Filter/sort/aggregate cached results319- `export_data(cache_key, "csv"|"json"|"jsonl")` - Export dataset as downloadable file320321## Key Metrics322323**Engagement Rate**:324- Formula: (Likes + Comments + Shares) / Followers x 100325- Instagram benchmark: 3-6%326- LinkedIn benchmark: 2-5% of connections327- Twitter benchmark: 0.5-1%328329**Content Performance Score**:330```331Score = (Engagement Rate x 40) +332 (Comments/Likes Ratio x 30) +333 (Share Rate x 30)334```335336**Viral Potential Indicators**:337- Engagement rate >2x average338- High share rate (>5% of engagement)339- Rapid engagement velocity (50% within 24h)340- Quality comments (questions, discussions)341342## Output Formats343344**Chat Summary**:345- Top 5 performing posts346- Key insights and patterns347- Recommendations for optimization348349**CSV Export** (via `export_data(cache_key, "csv")`):350- Post URL, date, type351- Likes, comments, shares352- Engagement rate353- Performance rank354355**JSON Export** (via `export_data(cache_key, "json")`):356- Full post data with metadata357- Time-series engagement data358- Historical trends359360## Reference Documentation361362- **[METRICS_GUIDE.md](references/METRICS_GUIDE.md)** - Detailed metrics definitions, calculation formulas, and benchmarks363364---365366**Ready to analyze content?** Ask Claude to help you track performance, identify top content, or optimize your posting strategy!