Buzzberg Mcp — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Buzzberg Mcp (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Tool changes, including breaking changes, are listed in CHANGELOG.md.
Buzzberg MCP connects Claude, Cursor, Cline, Continue.dev, and other MCP clients to Buzzberg market intelligence: trade ideas, sentiment, speakers, stored price context, and saved-idea actions for your own Buzzberg account.
No Terminal, package install, or copied API key is required.
https://mcp.buzzberg.ai/mcpThe remote connector follows the same Claude account across web, Desktop, and mobile. Adding a custom connector directly on mobile is still in beta, so web or Desktop is the simplest setup path. On Team and Enterprise plans, an owner must add the connector before members can connect it.
claude mcp add --transport http buzzberg https://mcp.buzzberg.ai/mcpOpen /mcp in Claude Code, select Buzzberg, and complete the browser sign-in. Claude Code stores and refreshes the OAuth connection.
codex mcp add buzzberg --url https://mcp.buzzberg.ai/mcp
codex mcp login buzzbergThe second command opens the standard MCP OAuth flow in your browser.
Clients that cannot complete standard MCP OAuth can keep using an existing personal key; new keys are no longer issued. Existing bzb_... keys, /sse connections, Claude Desktop helper installs, and manually configured clients continue to work unchanged.
See INSTALL.md for Cursor, Cline, Continue.dev, OpenClaw, custom Python clients, and the API-key compatibility path.
Ask: "Summarize earnings calls over the last 7 days" or "Where was NVIDIA mentioned in earnings calls across the available history?" get_earnings_calls_summary returns summaries, confirmed company mentions, separate Alpha observations, source links and report instructions in one request. The agent writes a call/company/context table followed by concise theses. Use 24 hours, 7 days, 30 days or yesterday; company history uses window="all". See the earnings example.
The report table and detailed blocks include tickers with report_eligible=true: at least one LONG/SHORT/AVOID idea or a new portfolio-update, earnings-call or 13F event in the last 24h. Event-only tickers qualify even with no actionable ideas. If none qualify, the report gives one brief message instead of empty tables and blocks.
Ask: "Give me today's portfolio update for NVDA, BTC and TSLA." get_portfolio_summary covers up to 100 selected tickers over the last 24h, with every full LONG/SHORT/AVOID thesis, author roles and bias, portfolio updates, earnings calls, newly stored 13F disclosures, mentions and saved prices. Your agent follows the included instruction for one table and each qualifying ticker's arguments and events. See the portfolio example. For a market-wide report, use get_recent_ideas_summary. Select report sections and sectors, set 1–10 rows per table, or request tables without detailed ticker blocks. See the summary example.
Buzzberg is useful when you want your AI agent to read the market conversation, not just fetch a price. Ask one plain-English question; Claude, Codex, or another MCP client chains the right Buzzberg tools and turns bounded market context into a usable research read.
Even a strong web research pass can miss smaller but important facts scattered across specialist posts, videos, newsletters, and market discussions. Buzzberg gives your AI source-linked research from many different speakers covering the same ticker. By comparing their facts, theses, risks, and disagreements, the agent can catch details a general search may overlook and build a more complete investment picture.
Use web research for fundamentals, filings, company announcements, and recent news. Add Buzzberg for source-linked research from multiple market voices: additional facts, competing theses, risks, disagreements, and second-order effects. Buzzberg does not guarantee exhaustive coverage and should not replace primary filings or independent verification.
Research SIVE using both web search and Buzzberg.
Use web search for company fundamentals, filings, and current news.
Use Buzzberg for source-linked mentions, speaker theses, trade ideas,
sentiment, disagreements, and narrative changes across available sources.
Combine both into one report. Highlight non-consensus arguments,
overlooked risks, second-order effects, repeated claims, and facts
that still need verification. Cite sources and note coverage gaps.In supported clients, Buzzberg also exposes these workflows through MCP prompts/list and context through resources/list, similar to Kaito-style MCP servers. Ask your agent to "list Buzzberg workflows" or use the manual prompts below.
Discoverable MCP prompts include:
market_summary_brieftop_speaker_market_tldrticker_deep_divenarrative_mapresearch_posts_alphastock_list_candidatesportfolio_update_trackerspeaker_storysentiment_price_chartcontrarian_scankeyword_miningDiscoverable MCP resources include:
buzzberg://workflowsbuzzberg://data-boundariesbuzzberg://top-speakersbuzzberg://market/leaderboardsStart manually with these prompts:
Use Buzzberg to deep dive SIVE.
Who is talking about it, what is the core bull thesis,
what are the strongest bear risks or missing arguments,
and is this early discovery, building momentum, or crowded?Use Buzzberg to give me today's top-speaker market brief.
What are the main themes, crowded trades, new tickers, and disagreements?
Quote examples.Use Buzzberg to find the top 10 strongest trade ideas from the last 12 hours.
Review the complete candidate set before selecting.
For each idea use compact Markdown: `### N. TICKER — **LONG/SHORT**`, one saved
entry price, pre-call 1W/1M returns, a 2-3 sentence thesis, material speaker
history/bias, one invalidation risk, and at most two source links. Keep each
idea at 110 words or fewer.
For selected tickers, use Buzzberg's 60-day price history and SPY once as stock
market context. Calculate 1W/1M from the last complete close strictly before
the idea, excluding the idea date and all later rows. Show at most one warning:
an extended pre-call move, a repeated long after a 21-session run-up, or a
company-specific selloff. Treat it as context, not a score or rejection.
Carry one concise saved entry price per selected ticker from the exact idea
row. Do not list duplicate speaker prices, timestamps, or technical metadata
notes. If grouping or truncation omitted the field, run a targeted
ticker+speaker lookup before calling it unavailable. Always run the
price-history check.
Do not substitute current price for a missing idea-time price. Do not count one
speaker's repeated posts as independent corroboration. Do not infer a role,
ownership relationship, or conflict that Buzzberg does not support. Do not add
an introduction, honorable mentions, market overview, or concluding summary.Use Buzzberg to build a 7-day newsletter thesis map.
Show the strongest ticker narratives, key evidence, weak claims,
and what changed this week. Separate hard data from vibes.Use Buzzberg to find first-order and second-order effects from this week's
YouTube market discussions.
Which tickers benefit directly, which suppliers or competitors are second-order
plays, and what risks are speakers worried about?Use Buzzberg to map the SIVE narrative.
Combine top-speaker trade ideas, YouTube TLDRs, newsletter TLDRs,
sentiment, and recent source snippets.
Separate catalysts, evidence, repeated claims, and open questions.Use Buzzberg research posts from the last 24h.
Find the strongest new alpha ideas, second-order beneficiaries,
repeated evidence, weak assumptions, and tickers worth a deeper dive.
Quote short examples.Use Buzzberg stock-list posts from the last 7 days.
Which tickers appear across multiple lists, what theme links them,
which are fresh vs crowded, and which 10 should I research next?Use Buzzberg portfolio-update posts from the last 7 days.
What did speakers add, trim, close, or size up?
Separate actual portfolio moves from generic commentary.Use Buzzberg Twitter data from top-50 speakers.
How many times did they mention "bottleneck", "power", "AI capex", and "memory"?
Quote examples and point to the tickers each theme is about.Use Buzzberg to build a 90d mentions vs price read for SIVE.
Show daily mention spikes, sentiment on those days, and price reaction.
Which days look like narrative ignition or narrative exhaustion?Use Buzzberg to show Serenity's all-time trade ideas with thesis.
Limit it to 100 ideas and keep at most 5 ideas per day.
Which tickers did she mention most, what was her first idea,
where did she flip direction, and how have her views changed?Use Buzzberg to analyze all trade ideas from Serenity about SIVE.
Show the first mention, latest mention, direction changes, thesis evolution,
and whether confidence increased or faded.Use Buzzberg to rank the tickers most mentioned by top-50 speakers today.
Show mentions, sentiment, direction mix, source mix, and whether each story
looks fresh or already crowded.What Buzzberg sends to the AI agent:
and extracted trade ideas for the last 7 days. Raw article bodies are not returned through MCP.
Raw YouTube source text and timestamped segment dumps are not returned through MCP.
ticker ideas, including the full tweet text, speaker, tickers, and direction: LONG, SHORT, WATCH, AVOID, or NEUTRAL. This is not every tweet. For multi-day research, use structured trade ideas rather than raw Twitter source text.
research,portfolio_update, stock_recommendation_list, news, or other, so an agent can ask specifically for research posts, stock lists, or portfolio moves.
price snapshots, and daily sentiment/mention history for chart-style reads.
TLDRs, top-speaker tweets, sentiment, mentions, and price context.
speaker/ticker daily history for charts of changing views over time. Speaker history requires one speaker name, caps output at 200 ideas, and defaults to at most 10 returned ideas per calendar day.
Buzzberg MCP is rate-limited. The current default limits are about 120 tool calls per minute per user and 2,000 tool calls per day per user, with an additional shared server-wide safety cap. These limits may change as we tune capacity.
If your client receives 429 Too Many Requests, read the Retry-After header or retry_after_seconds field and wait that many seconds before continuing. Do not retry in a tight loop.
For best results, ask your agent to work in a bounded, staged way:
limit, days, top_n, and max_per_day instead of unbounded scans.speaker_name; Buzzberg does not expose a"dump all speakers' ideas" endpoint.
get_tickers_overview for multi-ticker screens.dry_run=True on write tools when you want your agent to verify theaction without changing your account.
bzb_... key in an environment variable or local config; do notpaste it into shared prompts, code, or logs.
Contract notes:
idea_id values. Use those IDs withsave_trade_idea.
assume every displayed number is USD; foreign listings such as SIVE can be native-currency prices.
get_tickers_overview(tickers=[ticker], view='mentions') uses ingestion time, meaning when Buzzberg added themention. get_ticker_timeseries uses source publication date for chart rows, so totals may differ.
LONG, SHORT, WATCH, NEUTRAL, AVOID,and CLOSE rows. Chart CSVs expose watch separately so early-interest signals do not disappear into neutral.
get_speaker_profile defaults to an author report with five tabs and omitscredibility. Use mode="data" for raw data to build your own report; sections selects the evidence to return. Alpha rank describes historical performance.
Adj. return is not benchmark- or beta-adjusted excess return. It is theBayesian-shrunk mean of current, direction-adjusted mark-to-market returns from Buzzberg's deduplicated Alpha evaluation set: the first eligible entry-priced LONG/SHORT thesis per related ticker and evaluation side.
Evaluated is the number of currently priceable positions in that Alphaset. It will not match a lens's 24h/7d/30d n (all tracked ideas with a valid return at that horizon) or signal-timing n (calls with both 24h and 30d returns).
plus at most 20 recent ideas when requested, from the last 90 days. Archived history/theses and dated call ledgers are unavailable. Responses have a 32,000-character cap and one combined 100-request allowance per account per rolling 30 days.
Ready-made workflows:
24 hours of top-50 speaker ticker-idea tweets, plus up to 7 days of Substack/newsletter and YouTube TLDRs; ask for themes, crowded trades, repeated words, disagreements, and quoted examples.
tickers, strongest bullish/bearish sentiment, and daily historical buzz for 1d / 7d / 30d windows.
pass + sentiment divergence radar + important recent content in one read.
Buzzberg uniquely knows about a ticker: who is pushing it, what the bull narrative is, what is missing, and whether the setup is early or crowded.
recent ideas, stance changes, and speaker/ticker history for one author.
sentiment, mentions, and cached close prices so Claude can explain whether Buzzberg sentiment leads, confirms, or lags price.
spikes vs price moves, useful for spotting narrative ignition, exhaustion, and post-move crowding.
smart-money disagrees the most, ranked by sentiment spread. High-volatility setups where the camps are obvious.
review first-time mentions and direction flips from the top-30 speakers without changing your Buzzberg account.
If you don't use Claude Desktop / Cursor / Cline / Continue, you can talk to the MCP server directly with the official Python SDK over Streamable HTTP. This example authenticates with an existing personal key; new keys are no longer issued:
import asyncio
from mcp import ClientSession
from mcp.client.streamable_http import streamablehttp_client
async def main():
headers = {"Authorization": "Bearer bzb_YOUR_KEY_HERE"}
async with streamablehttp_client(
"https://mcp.buzzberg.ai/mcp",
headers=headers,
) as (read, write, _):
async with ClientSession(read, write) as session:
await session.initialize()
tools = await session.list_tools()
print([t.name for t in tools.tools]) # 32 tools
result = await session.call_tool(
"get_sentiment",
arguments={"ticker": "NVDA", "days": 7},
)
print(result.content[0].text)
asyncio.run(main())If your agent framework only supports legacy SSE, use https://mcp.buzzberg.ai/sse with the same Authorization: Bearer ... header. Full walkthrough including Windows PowerShell and corporate-laptop ("no install allowed") paths is in INSTALL.md.
| Action | Allowed? |
|---|---|
| Read public trade ideas, sentiment, and stored price context | Yes |
| Save trade ideas to your account | Yes |
| Server sees tool-call arguments Claude sends | Yes* |
| See another user's saved ideas | No |
| Change another user's saved ideas | No |
| Place trades on an exchange | No |
| See your full Claude conversation | No |
| Access your X, broker, or other accounts | No |
| Download files from your computer | No |
*Buzzberg receives only MCP requests and tool arguments selected by your client, not your full Claude transcript. Avoid putting sensitive private text into tool arguments.
| Client | Status |
|---|---|
| Claude web / Desktop | Recommended: remote connector with OAuth |
| Claude Mobile | Uses the remote connector from the same Claude account |
| Claude Code | Recommended: Streamable HTTP /mcp with OAuth |
| Codex | Streamable HTTP /mcp with OAuth or a personal key |
| OpenClaw | Supported via Streamable HTTP /mcp |
| Cursor | Supported |
| Cline | Supported |
| Continue.dev | Supported |
| Custom Python (mcp SDK) | Supported via Streamable HTTP /mcp |
| Agent SDK | Manual config supported |
Buzzberg exposes two MCP transports:
https://mcp.buzzberg.ai/mcp for OAuth-capable and newer agents.https://mcp.buzzberg.ai/sse remains available for existing and older clients.For "summarize my portfolio from my Buzzberg feed", use get_my_feeds(feed_type="ticker", name="my portfolio") to find the requested feed with its full composition, then pass its portfolio_tickers directly to get_portfolio_summary. Use feed_id for a known feed. Filters combine with AND; name matching is a literal case-insensitive substring. include_members=false returns names/IDs/types/flags/counts only; keep the default true for summaries. These options are explained before calls in the tool description and MCP initialization instructions. Ambiguous feed names need clarification. The single feed tool accesses only the authenticated account's feeds and does not edit subscriptions. See the feed example.
Ticker feeds and portfolio requests accept up to 100 distinct symbols. Author feeds accept 100 authors or independent sources, counting linked accounts together with their selected author. The summary stays 24h and returns every full LONG/SHORT/AVOID thesis or explicitly requires a smaller request.
All MCP price context is read from persisted database bars. MCP never calls Polygon/Massive, Binance, Yahoo, or another market-data provider, including when bars are missing or stale. The standalone price tool has been retired; refresh your connector's tool catalog after deployment.
The former get_speaker_lens_context is merged into get_speaker_lens, with strict sections and an optional question/ticker. Both former usages share one account allowance; refresh cached tool schemas. See examples.
get_ticker_rankings combines mention-volume and bullish/bearish sentiment rankings through its mode filter. Refresh cached schemas; the two former ranking names are removed. See ranking examples.
Buzzberg exposes 32 tools — read (get_recent_idea_candidates, get_trade_idea_details, search_trade_ideas, get_top_speakers, get_sentiment, get_ticker_timeseries, get_ticker_rankings, get_tickers_overview, get_speaker_trade_ideas, get_speaker_ticker_history, get_speaker_lens, ...) and one account-scoped write tool (save_trade_idea). See TOOLS.md for signatures and per-tool examples in examples/.
Buzzberg also exposes MCP prompts and resources:
prompts/list shows ready-made research workflows such as completeexact-window idea review, ticker deep dive, daily alpha brief, research-post extraction, stock-list candidates, speaker story, and sentiment/price reads.
resources/list exposes lightweight context such as buzzberg://workflows,buzzberg://data-boundaries, buzzberg://top-speakers, and buzzberg://market/leaderboards.
Clients that do not support prompts/resources can still use all tools normally; these are additive capabilities, not a replacement for existing tools.
The recommended OAuth connector does not install code on your computer and does not expose a personal API key to the client configuration.
The optional buzzberg-mcp package remains available for API-key compatibility setups. pip uses HTTPS and package hashes from the index for download integrity, but pip does not automatically verify Sigstore attestations.
Buzzberg releases use PyPI Trusted Publishing through GitHub OIDC. Attestations are available for manual verification — see SECURITY.md for the current verification status and threat model. (The exact pypi-attestations verify command will be published once the Test PyPI smoke confirms working syntax.)
Use get_13f_funds for tracked managers and modeled copy returns versus SPY; get_13f_holdings for latest disclosed positions, past quarters and ticker history; get_13f_stock_ownership for a stock across full tracked books. The existing get_ticker_deep_dive includes latest 13F ownership automatically. Returns are modeled copy portfolios, not actual fund performance; holdings are dated disclosures, not live positions. Reconnect after the server release if your client caches the tool catalog.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.