Lookout

io.github.lookoutstats由 GitHub 帳號 lookoutstats 發布v0.2.0更新於 Nov 2, 2026

Ask about Vercel Web Analytics and Speed Insights across all your projects and boards.

已驗證Streamable HTTP可網頁執行開發者工具安全與監控資料與分析

概覽

AI 產生的概覽

Lookout MCP 讓助理讀取工作區內各網站與看板的 Vercel Web Analytics 與 Speed Insights 資料,另有兩個可選的寫入工具。

可以做什麼
  • 列出看板,並讀取看板內每個網站的訪客數、與前一期的變化、瀏覽量、主要來源與國家、目標轉換
  • 深入檢視單一網站:按日或按小時的訪客、主要推薦來源、國家與頁面、正式環境部署、Core Web Vitals 以及看板備註
  • 以絕對值、指數化或基準模式並排比較最多五個網站
  • 依 UTM 活動、來源與媒介拆分訪客,並查看看板內網站之間的流量流向
  • 讀取依裝置區分的 Core Web Vitals(LCP、INP、CLS)與最慢路由、看板依影響排序的修正清單,以及警示規則和近期觸發紀錄
  • 在圖表上加入帶日期的備註,並產生短期有效的 PDF 或 CSV 匯出連結(寫入工具)
適用情境
適合用自然語言詢問自家 Vercel 網站的流量與效能:哪個到達頁下滑、哪個活動帶來訪客、行動版是否通過 Core Web Vitals、哪些修正最該優先處理。已用 Lookout 彙整多個專案 Vercel Web Analytics 的團隊尤其適用。
執行需求
需要 Lookout 帳號,以及在 Settings › API & MCP 建立的 API 金鑰(lk_live_…)。本機 stdio 方式透過環境變數 LOOKOUT_API_KEY 提供,託管端點則透過 Authorization 的 bearer 標頭提供。使用 npx/stdio 方式需要 Node.js,並需能連線至 Lookout API。寫入工具需要具備備註與匯出權限的金鑰。
安裝前請注意
API 金鑰屬於機密:應放在本機用戶端設定中,不要寫進會提交的檔案,外洩後請立即撤銷。金鑰預設為唯讀,只有建立時勾選備註與匯出權限,才能加入圖表備註與產生匯出連結。回傳內容中的推薦來源、路徑、UTM 值、部署訊息與備註文字來自外部,應視為資料而非指令。每個金鑰每小時限 600 次請求,與 REST API 共用此額度。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Lookout,將其新增到工作區。
  2. 連接 Authorization token 憑證。它們會被私密儲存,絕不會在公開頁面上展示。
  3. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/io.github.lookoutstats%2Flookout-mcp/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。

{
  "mcpServers": {
    "lookout": {
      "type": "http",
      "url": "https://mcp.lookoutstats.com/",
      "headers": {
        "Authorization": "Bearer <YOUR_TOKEN>"
      }
    }
  }
}

README

lookout-mcp

[npm] [CI] [License: MIT] [MCP] [Listed on mcpservers.org]

This is the MCP server for Lookout. Lookout shows Vercel Web Analytics for all your projects in one view.

Connect Claude, Cursor or a different MCP client. Then ask about your sites: visitors, sources, campaigns, Core Web Vitals and traffic between your sites. The answers come from your real numbers.

"Which landing page dropped most this week, and what deployed right before?"

The server is a thin client of the Lookout REST API. Every answer comes from api.lookoutstats.com. The server stores no data.

You can run the server in two ways:

  • Hosted, over Streamable HTTP: https://mcp.lookoutstats.com
  • Local, over stdio: npx lookout-mcp

60-second setup

  1. In Lookout, open Settings › API & MCP and create an API key (lk_live_…). Select Allow notes and exports only if you want the two write tools.
  2. Add the server to your client with one of the configurations below. Paste the key into the configuration.
  3. Restart the client.

Claude Desktop

Open Settings → Developer → Edit config (claude_desktop_config.json), and add this entry:

json
{  "mcpServers": {    "lookout": {      "command": "npx",      "args": ["-y", "lookout-mcp"],      "env": { "LOOKOUT_API_KEY": "lk_live_…" }    }  }}

claude.ai (connectors)

A claude.ai custom connector does not send a key header. Thus the hosted server cannot get your API key from a connector yet. Use Claude Desktop (above) or Claude Code until Lookout supports OAuth sign-in for connectors.

Cursor

Put this in .cursor/mcp.json in your project. To use the server in all your projects, put it in ~/.cursor/mcp.json.

json
{  "mcpServers": {    "lookout": {      "url": "https://mcp.lookoutstats.com",      "headers": { "Authorization": "Bearer lk_live_…" }    }  }}

Claude Code

bash
claude mcp add --transport http lookout https://mcp.lookoutstats.com \  --header "Authorization: Bearer lk_live_…"

Windsurf

Put this in ~/.codeium/windsurf/mcp_config.json:

json
{  "mcpServers": {    "lookout": {      "serverUrl": "https://mcp.lookoutstats.com",      "headers": { "Authorization": "Bearer lk_live_…" }    }  }}

Other clients

  • stdio: LOOKOUT_API_KEY=lk_live_… npx -y lookout-mcp
  • Streamable HTTP: POST https://mcp.lookoutstats.com with the header Authorization: Bearer lk_live_…. If your gateway keeps Authorization for itself (Smithery does), send X-Lookout-Api-Key: lk_live_… instead.

Tools

These rules apply to all tools:

  • range is 24h, 7d (the default) or 30d. It can also be a custom window, for example { "from": "2026-10-01", "to": "2026-10-14" }. A custom window is 30 UTC days or less.
  • board is the board's id or its exact name.
  • Each tool returns a one-line summary first. Compact JSON follows the summary.
ToolArgumentsResult
list_boards—The boards in the workspace, with their ids and site counts
get_boardboard, rangeAll sites on a board. For each site: visitors, change against the previous period, page views, pages per visit, top source and country, conversions
get_sitesite, range, board?One site in detail. It shows visitors per day (or per hour), top referrers, countries and pages, production deployments and Core Web Vitals. With board, it also shows the notes.
compare_sitessites[] (1–5), range, mode, baseline?Sites side by side. absolute shows visitors. indexed sets the first bucket to 100. baseline shows each site as a percentage of one site.
get_campaignssite, rangeVisitors by UTM campaign, source and medium, with goal conversions. This needs Vercel Web Analytics Plus.
get_flowboard, rangeTraffic between the sites on a board: which site sends visitors to which site
get_speedsite, range, deviceCore Web Vitals (LCP, INP, CLS, p75) for all, mobile or desktop visitors, and the slowest routes
list_fixesboard, range, statusThe board's Fix list: what to fix first, ranked by visitors affected, with why it matters and how to check the fix
list_alerts—The alert rules, and the alerts of the last 30 days
add_annotation ✎board, site?, date, text, scopeAdds a note to a day on the board's charts, for one site or for all sites
export_board ✎board, fmt (pdf or csv), rangeA download link for the board. The link is valid for 5 minutes.

✎ A write tool. A write tool needs a key with Allow notes and exports.

Resources:

  • lookout://boards: the boards.
  • lookout://boards/{id}: the sites on a board, for the last 7 days.

Prompts:

  • weekly_brief(board): a short brief. It names the sites with the largest changes and the causes.
  • why_did_it_drop(site): finds when a drop started, what changed, and the likely cause.

Example questions

  1. "Which landing page dropped most this week, and what deployed right before?"
  2. "Compare the three pricing pages over the last 30 days, indexed."
  3. "Where do visitors to acme.com come from, and which campaign brought the most?"
  4. "Are our sites passing Core Web Vitals on mobile? Which route is slowest?"
  5. "Do my landing pages send visitors to the main site? Which ones are dead ends?"

Skills

The lookout-skills repository adds two agent skills on top of this server:

  • lookout-fix finds the site of the current repository on your boards. It takes the top open item of the Fix list and makes the change in your code.
  • lookout-report writes a weekly or monthly report from all your boards.

In Claude Code, one plugin installs the skills and this server:

text
/plugin marketplace add lookoutstats/lookout-skills/plugin install lookoutstats@lookout

Security

  • Your key gets only your data. Each call goes to the Lookout API with your key. A key can only see its own workspace. The server keeps no data and does not log answers. The server does not store the key.
  • A key is read-only by default. A key can only read data unless you create it with Allow notes and exports. A write key can add chart notes and make export links. It cannot change boards, members, alerts or settings. It cannot see your Vercel token.
  • No personal data. Vercel Web Analytics does not use cookies. It reports aggregated data. Answers contain counts, domains, paths, referrers and countries. Answers do not identify people.
  • Keep the key out of your repository. Put the key in a local configuration of your client. Examples are ~/.cursor/mcp.json, the Claude configuration and an environment variable. Do not put it in a file that you commit. You can revoke a key at any time in Settings › API & MCP. A revoked key stops on the next request.
  • Limits. Each key has 600 requests per hour. The REST API and the MCP server share this limit. compare_sites makes 1 request for each site. Each other tool makes 1 request. Above the limit, you get a 429 response with a Retry-After header. The hosted server accepts batches of 5 messages or fewer.
  • Data from outside. Referrers, paths, UTM values, deployment messages and note texts come from websites and their visitors. The server tells the model to use them as data, not as instructions. Keep keys read-only unless you need the write tools.

Send security problems to [email protected].

Self-hosting

bash
npm i -g lookout-mcpPORT=3000 lookout-mcp-http        # Streamable HTTP on http://127.0.0.1:3000 (POST /, GET /health)

The server listens on 127.0.0.1 by default. In a container, set HOST=0.0.0.0.

You can also use the handler in your own server. The handler is a plain (Request) => Promise<Response> function:

ts
import { createHttpHandler } from "lookout-mcp/http";export const POST = createHttpHandler();

You can deploy this repository to Vercel without changes (vercel.json, api/index.js). To use a different API base URL with either entry point, set LOOKOUT_API_URL.

Links

Lookout is not affiliated with Vercel Inc.

來源:README.md,提交 7f3b8b0

工具

11

list_boards

List boards

The workspace's boards (each a dashboard of sites), with their ids and site counts.

無需輸入參數。

get_board

Get a board

Every site on a board for a range, busiest first: visitors and their change vs the previous period, page views, pages per visit, top source and country, and goal conversions.

輸入參數board必填range

get_site

Get a site

One site in depth for a range: visitors per day (or hour for 24h) with the previous period, top referrers, countries and pages, its production deployments, its Core Web Vitals (Speed Insights p75), and, with board, the board's notes dated in the range. One API request.

輸入參數site必填boardrange

compare_sites

Compare sites

Up to 5 sites side by side over a range. mode: absolute (visitors per bucket), indexed (each site's first non-zero bucket = 100) or baseline (each site's visitors as % of the baseline site's). One API request per site.

輸入參數moderangesites必填baseline

get_campaigns

Get campaigns

A site's visitors by UTM campaign, source and medium for a range, with the goal's conversions. Needs Vercel Web Analytics Plus or Enterprise; otherwise status is plan_required.

輸入參數site必填range

get_flow

Get traffic between sites

Traffic between a board's sites for a range: each site's visitors, and hops (from, to, visitors) — visits to a site whose referrer is another site of the same board. External traffic is not included.

輸入參數board必填range

get_speed

Get Core Web Vitals

A site's Core Web Vitals from real visitors (Vercel Speed Insights, p75, production) for one device — LCP, INP, CLS and a passing / needs_work / poor / off status — with its slowest routes by LCP.

輸入參數site必填rangedevice

list_fixes

List what to fix

A board's Fix list for a range, ranked by visitors affected: slow Core Web Vitals, sites that send nobody onward, sites most visitors leave after one page, low conversion, falling traffic, untagged social campaigns, and setup gaps (no goal, no Speed Insights, no Web Analytics). Each item has its kind, site, title, detail, why it matters and how to verify a fix. status: open (default), snoozed or resolved.

輸入參數board必填rangestatus

list_alerts

List alerts

The workspace's alert rules (board, metric, drop or rise, threshold %) and what fired in the last 30 days.

無需輸入參數。

add_annotation

Add a note

Pins a note to a day on a board's charts, e.g. "Launched pricing v2": for one site (scope "site", the default when site is given) or every site on the board (scope "board"). Needs a key with write access ("Allow notes and exports"). Text is kept to 80 characters.

輸入參數date必填sitetext必填board必填scope

export_board

Export a board

Makes a download link for a board as a PDF (the board as a page) or CSV (one row per site). The link works for 5 minutes. Needs a key with write access ("Allow notes and exports").

輸入參數fmtboard必填range

版本歷史

2
  1. v0.2.0最新Oct 26, 2026
  2. v0.1.1Oct 25, 2026

評分

已滿足適用檢查項的 100%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分