mcpbeat Sign in

LuBot Analytics MCP Server

answering

LuBot Analytics is answering right now. Last checked 18 h ago. It exposes 9 tools.

Portfolio X-Ray with ETF look-through, file analysis, and website analytics in plain English.

The linked repository no longer exists on GitHub — it was deleted or made private.

Uptime history 11 days of history
11 days agonow
100.0%
Uptime 24h
1 of 1 checks
9
Tools
read from the server
855 ms
Response time
average over 24h
open, no key
Access
streamable-http

This one has been quiet for a while

Quiet is not dead — but it is worth knowing when it wakes up, or when someone else takes it over. We watch the repository and tell you either way.

Three servers free · no card

Connect this server

Endpoint below is the one we actually reach during checks — not the one copied from a README. Last verified 18 h ago.

run in your terminal
claude mcp add lubot --transport http https://mcp.lubot.ai/mcp
~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "lubot": {
      "url": "https://mcp.lubot.ai/mcp"
    }
  }
}
~/.codex/config.toml
[mcp_servers.lubot]
url = "https://mcp.lubot.ai/mcp"
.cursor/mcp.json
{
  "mcpServers": {
    "lubot": {
      "url": "https://mcp.lubot.ai/mcp"
    }
  }
}
.vscode/mcp.json
{
  "mcpServers": {
    "lubot": {
      "url": "https://mcp.lubot.ai/mcp"
    }
  }
}

Available tools 9

Read directly from the server with tools/list, grouped by what they act on. If a tool disappears, we record the date.

analyze
analyze_file
File ownership check + LuBot analysis surface routing. Returns a lightweight AnalysisResult: confirms the file exists + is in the caller's tenant (or the shared demo corpus when the caller has no uploads yet), surfaces its metadata, and points the user at the full LuBot My Files chat for the deep PhD-level answer. Deeper fields — chart, narrative, and richer citations beyond the single-file ownership evidence — populate on the full chat surface once that pipeline is wired. The response has two `content[]` entries: a pre-rendered narrative + citations (priority: 1.0, audience: user+assistant), plus a raw-JSON block + `structuredContent` field including chart data when available (priority: 0.3, audience: assistant only) for programmatic consumers or when the caller explicitly asks for raw data.
analyze_portfolio
PhD-style analysis over the caller's portfolio. Returns a two-block response. The first `content[]` entry is a pre-rendered plain-English summary (priority: 1.0, audience: user+assistant). The second entry + `structuredContent` field carry the underlying JSON (priority: 0.3, audience: assistant only) for programmatic consumers or when the caller explicitly asks for raw data. Concentration risk (low/medium/high), diversification score (0-10), sector breakdown (with ETF look-through decomposition when the fund is known), biggest winner + loser by dollar impact, plus a 2-4 sentence LLM narrative that ties it together. Anonymous callers + hard-fail engine paths get an honest empty response with a signup nudge. Signed-in callers with no positions yet see a shared demo portfolio with a demo-mode call-to-action in the summary. Positions with unavailable live prices are labeled honestly — the narrator does not compute aggregate P&L over incomplete data.
files
list_files
List files the authenticated user has uploaded to LuBot. The response has two `content[]` entries: a pre-rendered plain-English summary (priority: 1.0, audience: user+assistant), plus a raw-JSON block + `structuredContent` field (priority: 0.3, audience: assistant only) for programmatic consumers or when the caller explicitly asks for raw data. Signed-in callers with no uploads yet see a shared demo corpus with a demo-mode call-to-action.
ping
ping
Return a small health-check payload. Safe to call anonymously.
portfolio
list_portfolio
List the caller's portfolio holdings. Returns positions merged from Plaid-synced brokerage + manually- entered trades. The response has two `content[]` entries: a pre-rendered plain-English summary (priority: 1.0, audience: user+assistant), plus a raw-JSON block + `structuredContent` field (priority: 0.3, audience: assistant only) for programmatic consumers or when the caller explicitly asks for raw data. Anonymous callers → honest empty + signup nudge. Signed-in callers with no positions yet → shared demo portfolio with demo_mode=true. Positions with unavailable live prices are labeled honestly rather than reported as fabricated zero P&L.
stock
stock_analysis
Ticker validation + LuBot analysis surface routing. Returns a lightweight AnalysisResult: ticker validation, source label (`watchlist` vs `public`), a narrative pointing the user at the full LuBot analyst, and (when available) an upgrade hint. The deeper fields — live price, fair value, thesis, risks, and recommendation — currently populate only for watchlist-tagged calls; the public path leaves them null. The response has two `content[]` entries: a pre-rendered plain-English summary (priority: 1.0, audience: user+assistant), plus a raw-JSON block + `structuredContent` field (priority: 0.3, audience: assistant only) for programmatic consumers or when the caller explicitly asks for raw data. Anonymous callers get the zero-setup public path (rate-limited to protect against abuse). Authenticated callers get a watchlist-tagged response + upgrade hints when the ticker isn't in their watchlist.
watchlist
list_watchlist
List tickers the authenticated user has added to their LuBot watchlist. Returns symbols + added_at, ordered by add time. The response has two `content[]` entries: a pre-rendered plain-English summary (priority: 1.0, audience: user+assistant), plus a raw-JSON block + `structuredContent` field (priority: 0.3, audience: assistant only) for programmatic consumers. Anonymous callers get an empty list — the watchlist requires a LuBot account. Sign in at https://lubot.ai/connect.
website
website_summary
Return traffic summary for one of the caller's websites. Args: site_id: One of the site_ids returned by list_websites. start_date: Inclusive range start in ISO format (YYYY-MM-DD). end_date: Inclusive range end in ISO format (YYYY-MM-DD). The window must not exceed 90 days. The response has two `content[]` entries: a pre-rendered summary (narrative + total visits + top countries + top pages + AI-noticed cards) at priority: 1.0, audience: user+assistant, plus a raw-JSON block + `structuredContent` field at priority: 0.3, audience: assistant only for programmatic consumers or when the caller explicitly asks for raw data.
websites
list_websites
List website projects the authenticated user can query. The response has two `content[]` entries: a pre-rendered plain-English summary (priority: 1.0, audience: user+assistant), plus a raw-JSON block + `structuredContent` field (priority: 0.3, audience: assistant only) for programmatic consumers.

Endpoints

URLTransportStateLatencyChecked
https://mcp.lubot.ai/mcp streamable-http answering 855 ms 18 h ago

Alternatives to LuBot Analytics

same job, measured the same way
Custom Website Editor
by elijahdesent

Edit your church website in plain English — text, photos, pages, domains, hosting & analytics.

answering
Open Markets
by danchev

Financial market data, SEC filings, macroeconomic telemetry, and portfolio analytics through MCP.

local only
Schedulala
by schedulala

Schedule and publish social posts to 12 platforms with first comments, analytics, and listening.

53 installs/wk answering
DevDome Analytics
by devdome

Website traffic, bot reports, realtime visitors and site health for your DevDome sites

10 tools answering
C
Google Analytics (unofficial)
by safe-mcp

Connect Google Analytics to ChatGPT. Query GA4 data in plain English and get instant insights.

5 tools answering
HYPD AI - Paid Ads & Analytics
by hypd-ai

Google Ads, Meta (Facebook) Ads, GA4 and Merchant Center analysis in plain language. Read-only.

answering
A
Web Analytics
by b77

Ask about your website traffic in chat.

answering
I
Munchausen Crypto Analytics
by munchausengrup

Crypto analytics via x402: free BTC/ETH/SOL prices, AI analysis and reports in USDC.

7 tools answering

LuBot Analytics — questions

Answers built from our own checks of this server.

What can LuBot Analytics do?
It exposes 9 tools, read directly from the server on our last check. Among them: analyze_file, analyze_portfolio, list_files, list_portfolio, list_watchlist, list_websites and 3 more. The full list with descriptions is on this page — we take it from the server itself via tools/list, not from a README. How MCP servers expose tools in the first place →
Is LuBot Analytics working right now?
We send a real MCP handshake every 15 minutes. Over the last 24 hours 1 of 1 checks got a reply (100.0%), average response time 855 ms. The bar chart above shows every period we have measured.
Is LuBot Analytics still maintained?
The linked repository no longer exists on GitHub — it was deleted or made private. We show this because it changes what you can expect: an unmaintained server may keep answering for months and then stop without warning.
How do I connect LuBot Analytics?
Copy the ready config from this page — we generate it for Claude Code, Claude Desktop, Codex, Cursor and VS Code, each with the file path that client actually reads. It is a remote server, so there is nothing to install — the client connects to the address.
Does LuBot Analytics need an API key?
No. LuBot Analytics completed a full MCP handshake with us as an anonymous client and listed its tools without asking for anything. All 9 of them are readable on this page. This is what we observed, not what the docs claim.
How fast is LuBot Analytics?
It answers our handshake in 855 ms on average, which is faster than 13% of all working MCP servers we measure. That is on the slow side — worth knowing if the tool sits inside an interactive loop. The comparison comes from our own checks across the whole registry, every 15 minutes.