Simple bluesky client
Project description
🐦 ssky - Simple Bluesky Client
A lightweight, command-line Bluesky client that makes it easy to interact with the Bluesky social network from your terminal.
✨ Features
- 🔑 Simple authentication and session management
- 📝 Post, reply, quote, and repost content
- 🔍 Search posts and users
- 👥 Follow/unfollow users
- 📊 View timelines and profiles
- 🖼️ Support for images and link cards
- 📦 Linux shell friendly output formats
🚀 Quick Start
Installation
pip install ssky
Login
ssky login your-handle.bsky.social:your-password
Or set credentials via environment variable:
export SSKY_USER=your-handle.bsky.social:your-password
📖 Basic Usage
Posting
# Simple post
ssky post "Hello, Bluesky!"
# Post with images
ssky post "Check out these photos!" --image photo1.jpg --image photo2.jpg
# Reply to a post
ssky post "Great post!" --reply-to at://did:plc:.../app.bsky.feed.post/...
# Quote a post
ssky post "Interesting!" --quote at://did:plc:.../app.bsky.feed.post/...
Reading
# View your timeline
ssky get
# View someone's profile
ssky profile user.bsky.social
# Search posts
ssky search "keyword"
# Search users
ssky user "username"
Social Actions
# Follow a user
ssky follow user.bsky.social
# Repost a post
ssky repost at://did:plc:.../app.bsky.feed.post/...
# Delete a post
ssky delete at://did:plc:.../app.bsky.feed.post/...
🔧 Advanced Usage
Output Formats
# Get only post IDs
ssky get --id
# Get only text content
ssky get --text
# Get full JSON output
ssky get --json
# Save posts to files
ssky get --output ./posts
Useful Examples
# Reply to your last post
ssky post "Update!" --reply-to $(ssky get myself --limit 1 --id)
# Search your own posts
ssky search "keyword" --author myself
# Save your timeline to files
ssky get --output ./timeline
🤖 IDE Integration
Cursor Agent MCP Tools
ssky provides comprehensive MCP (Model Context Protocol) tools for seamless integration with Cursor Agent, enabling AI-powered Bluesky interactions directly in your development environment.
Features:
- 📋 10 comprehensive tools: Complete Bluesky functionality
- 🤖 AI-optimized: Long format defaults for better AI understanding
- 🔧 Full feature support: Posts with images, quotes, replies, search, social actions
- ⚡ Real-time integration: Direct Bluesky interaction from Cursor
Quick Setup:
# For new MCP setup: copy sample configuration (no build required!)
mkdir -p .cursor
cp mcp/mcp.sample.json .cursor/mcp.json
# Set your Bluesky credentials
export SSKY_USER=your-handle.bsky.social:your-password
# Restart Cursor to load the MCP tools
✨ Docker will automatically pull the pre-built image on first use!
Advanced Setup:
- For existing MCP setup: Add ssky server to your
.cursor/mcp.json(seemcp/mcp.sample.json) - For local development: Use
cd mcp && ./build.sh && cd ..to build locally - Complete guide: See MCP Documentation
Available Tools:
ssky_get,ssky_search,ssky_user,ssky_profile- Content retrievalssky_post- Content creation with images/quotes/repliesssky_follow,ssky_unfollow,ssky_repost,ssky_unrepost- Social actionsssky_delete- Content management
🧪 Testing
To run the tests in the tests/ directory:
-
Copy the environment configuration file and set your Bluesky credentials:
cp tests/_env tests/.env
Edit
tests/.envand add your Bluesky handle and password. -
Run tests using pytest:
# Run all tests pytest tests/ -v # Run individual feature tests pytest tests/test_login.py -v # Login functionality pytest tests/test_post_and_delete.py -v # Post and delete operations pytest tests/test_search.py -v # Search functionality pytest tests/test_follow_unfollow.py -v # Follow/unfollow operations pytest tests/test_get.py -v # Timeline retrieval pytest tests/test_profile.py -v # Profile display pytest tests/test_repost_unrepost.py -v # Repost/unrepost operations pytest tests/test_user.py -v # User functionality
📝 Requirements
- Python 3.12 or later
📜 License
👥 Author
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ssky-0.2.1.tar.gz.
File metadata
- Download URL: ssky-0.2.1.tar.gz
- Upload date:
- Size: 23.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.1.3 CPython/3.12.11 Linux/6.11.0-1015-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2f0879948c657c442b7947aaf32cfc99400f5b7fac0a65deb8371b380f8be86a
|
|
| MD5 |
e91e45c9ddb9897aec2ab0e048f3a728
|
|
| BLAKE2b-256 |
1108d3cf5ad08023332bf18bbd2631d49be40bb9033b91a189f1b7d1dacee7fc
|
File details
Details for the file ssky-0.2.1-py3-none-any.whl.
File metadata
- Download URL: ssky-0.2.1-py3-none-any.whl
- Upload date:
- Size: 30.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.1.3 CPython/3.12.11 Linux/6.11.0-1015-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
934c681b3be8df297a3732429903bd53cee19a84fb631919f84d7928f37a72fe
|
|
| MD5 |
dcb35b865535a81b354091087ab824e3
|
|
| BLAKE2b-256 |
97a9a3d723c8bcbd21cdf794abf07e5f2302defb6395ca81f13124c1a96eb83d
|