| name | description |
|---|---|
bluesky-mcp |
Parse and analyse Bluesky timeline posts and notifications using the Bluesky MCP server. Use when users want to summarise their Bluesky timeline, find technology-relevant posts, extract specific topics from timeline data, or analyse reply/quote notifications. Handles large timeline dumps efficiently and filters for work-relevant content. |
Efficient workflows for analysing Bluesky timeline data and notifications.
Use bluesky:get-timeline-posts to retrieve posts from your timeline. The tool supports two modes:
# Get last N posts
bluesky:get-timeline-posts(count=500, type="posts")
# Get posts from last N hours
bluesky:get-timeline-posts(count=24, type="hours")Important: Large timeline results are stored in /mnt/user-data/tool_results/ as JSON files. The tool will tell you the filename.
Use bluesky:get-notifications to retrieve reply and quote notifications:
bluesky:get-notifications(limit=500, reasons=["reply", "quote"])When timeline data is stored in a tool results file, use the parsing script to extract relevant content:
python3 scripts/parse_timeline.py /path/to/tool_result.json --filter tech --max 50Options:
--filter tech: Filter for technology-related posts (observability, programming, AI, infrastructure, etc)--filter all: Show all posts (no filtering)--max N: Limit output to N posts (default 50)--min-likes N: Only show posts with at least N likes (default 0)
The script correctly extracts author handles from the opening post tag to avoid the common bug of matching author handles from subsequent repost tags.
# 1. Get last 8 hours of timeline
bluesky:get-timeline-posts(count=8, type="hours")
# 2. Parse for tech posts
python3 scripts/parse_timeline.py /mnt/user-data/tool_results/bluesky_*.json --filter tech --max 30python3 scripts/parse_timeline.py /path/to/result.json --filter tech --min-likes 50# 1. Get recent notifications
bluesky:get-notifications(limit=100, reasons=["reply", "quote"])
# 2. Follow up on specific threads using bluesky:get-post-thread with URIs from notificationsWhen parsing the XML structure returned by timeline tools, always extract author_handle from the opening <post> tag, not from text after </content>.
Incorrect pattern (matches author from next repost tag):
r'<post[^>]*>.*?<content>(.*?)</content>.*?author_handle="([^"]*)"'Correct pattern (extracts from post opening tag):
r'<post[^>]*author_handle="([^"]*)"[^>]*>.*?<content>(.*?)</content>'The incorrect pattern matches the first author_handle after </content>, which may be from a <repost author_handle="..."> tag that follows, causing misattribution.
The parsing script recognises these technology-related terms:
Observability/SRE: observability, honeycomb, opentelemetry, otel, monitoring, tracing, metrics, sre, reliability, incident, postmortem, on-call
Infrastructure: kubernetes, docker, aws, cloud, infrastructure, devops, distributed, microservices, performance, latency, scale
Databases: database, postgres, postgresql, mysql, redis, kafka, mongodb, sql
Programming: python, rust, golang, go, typescript, javascript, java, c++, programming, compiler, debugging, testing
Security: security, encryption, pgp, gpg, cryptography, tls, ssl, authentication
AI/ML: ai, llm, claude, anthropic, openai, chatgpt, machine learning, neural network, transformer, mcp, model context protocol
Development: api, sdk, cli, git, github, gitlab, cicd, deployment
Customise these keywords in the script for your specific filtering requirements.