MCP Bluesky Stock Sentiment
MCP Bluesky Stock Sentiment
Analyze recent Bluesky posts about stocks and return a concise sentiment summary using Cloudflare Workers AI — exposed as an MCP server you can connect to from any MCP‑compatible client.
What you get
Cloudflare Worker with Hono, serving an MCP endpoint at
/mcp.Tool:
analyze_stock_posts— searches recent Bluesky posts, filters for stock‑related content, and runs sentiment via@cf/huggingface/distilbert-sst-2-int8.Simple JSON metadata on
/for quick health checks.
Quickstart
Prereqs: Node 18+, Cloudflare account, Wrangler auth (
npx wrangler login).Install:
npm installDev:
npm run dev(serves onhttp://localhost:8787)Deploy:
npm run deployTypegen:
npm run cf-typegen(optional; syncs Worker bindings types)
MCP Endpoint
Local:
http://localhost:8787/mcpProd:
<your-workers-subdomain>.workers.dev/mcpServer name:
bluesky-stock-sentiment(seesrc/index.ts).
Available Tool
analyze_stock_postsInput:
{ count?: number }— number of posts to analyze (1–10, default 2)Behavior: Fetches recent posts from Bluesky’s public search API, filters to stock‑related text, analyzes each with Workers AI, and returns a textual summary (totals, percentages, average confidence, and per‑post details with author, likes, reposts, timestamp, and URI).
Config and Extensibility
Sentiment model:
src/lib/sentiment.tsDefault:
@cf/huggingface/distilbert-sst-2-int8Swap to any Workers AI text‑classification model if you prefer.
Stock filtering:
src/lib/stock-filter.tsUpdate the keyword list to fine‑tune what counts as a “stock post”.
Bluesky search:
src/lib/bluesky-api.tsUses the public unauthenticated search API and basic heuristics to avoid duplicates.
Firehose (optional):
src/lib/firehose.tsExample collector that connects to Bluesky’s firehose via WebSocket and filters in real time. This is not wired into the Worker route; use it as a reference for server/runtime environments that support outbound WebSocket connections.
Endpoints
GET /— returns service metadata (name, version, description, available tools).ALL /mcp— MCP over HTTP transport (viamcp-lite). Point your MCP client here.
Notes
You must bind Workers AI in Wrangler (already configured in
wrangler.jsoncunderai.binding = "AI").Bluesky’s public search API may rate‑limit or change behavior; the tool is resilient but results vary over time.
Project Layout
src/index.ts— Hono app, MCP server wiring, routes.src/mcp/tools.ts—analyze_stock_poststool registration and handler.src/lib/*— sentiment analysis, filtering, Bluesky integrations.
License
Provided as‑is; add a license if you plan to distribute.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Tar-ive/mcp-bluesky-stock-sentiment'
If you have feedback or need assistance with the MCP directory API, please join our Discord server