Analyga

io.github.jyswee由 GitHub 帳號 jyswee 發布v0.1.15更新於 Oct 24, 2026

Agent-first analytics: stats, events, sessions, funnels, ingest, websites & billing.

發布方自己的服務:Vips

已驗證SSE可網頁執行效率與工作流資料與分析

概覽

AI 產生的概覽

以代理為先的網站與 MCP 分析服務:助理可查詢統計、事件與漏斗,送出伺服器端事件,管理網站與擷取金鑰,並取得帳務結帳連結。

可以做什麼
依時間區間查詢網站流量統計、事件計數與跨網站網路彙總,皆為唯讀並以 JSON 回傳。為網站定義、列出並執行轉換漏斗。以穩定使用者 ID 送出伺服器端事件,檢查擷取健康狀態,並建立或撤銷依網站區分的擷取金鑰。檢視網站與憑證範圍,並讀取完整的指令與錯誤碼結構。為某個方案申請帳務結帳連結,交給真人完成付款。
適用情境
適合助理會觸發分析事件或發布變更、需要確認事件是否送達以及是否有人完成流程,而不想開啟儀表板的情境。也適合希望在同一套由代理驅動的介面上同時衡量網站與 MCP 流量的團隊。
執行需求
可作為遠端 SSE 端點執行,也可作為本機 npm 套件執行(套件名 analyga,指令 tga,透過 npx 或 tga mcp-serve 啟動)。Analyga API 金鑰透過 ANALYGA_KEY 環境變數或 Authorization bearer 標頭提供;沒有金鑰時伺服器進入引導模式,可自行註冊。伺服器端擷取使用另一組依網站區分的擷取金鑰。需要能連線至 Analyga 服務的網路。
安裝前請注意
API 金鑰與擷取金鑰都是憑證;本機 .analyga/ 目錄保存有效憑證,應避免納入版本控制。部分工具會寫入:送出事件、建立或撤銷擷取金鑰、定義漏斗、申請帳務結帳連結。擷取金鑰只顯示一次,撤銷後該網站的伺服器端擷取即停止。事件若未帶穩定 ID 會合併為同一個匿名訪客,且無法補登。被丟棄的事件仍可能回傳 HTTP 200。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Analyga,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

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

交給代理程式安裝

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

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

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

其他 MCP 客戶端

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

{
  "mcpServers": {
    "analyga": {
      "type": "sse",
      "url": "https://mcp.analyga.com/sse"
    }
  }
}

README

analyga

[npm version] [MCP] [Agent-first]

Agent-first analytics for MCP + web traffic — query, instrument and configure from a terminal or an MCP client. No browser, no dashboard.

A dashboard for humans. tga for your agents.

One analytics surface for both halves of modern traffic: the web visits your site still gets, and the agent/MCP calls that increasingly drive it. Analytics tools assume a human staring at a chart — but increasingly the thing that needs the numbers is an agent: it fired the events, it wants to know whether they landed, and it wants five numbers back, not a dashboard to render. analyga is the surface the agent drives itself: one install, and it queries stats and funnels across web and MCP, sends server-side events, and reads its own schema — all as structured JSON, none of it screen-scraped.

Works with: Claude Code · Cursor · Cline · Windsurf · Aider · Codex · any MCP client

[analyga demo — query to funnel in 60 seconds]

One agent, one terminal — query to funnel in 60 seconds. Watch the full demo.

See it in action

No mockups — every clip is a live tga session against a seeded tenant. Click any GIF for the full-res video.

Query → funnelAgent self-signupServer-side ingest
[Query to funnel][Agent self-signup][Server-side ingest]
One agent, one terminal, 60sKeyless bootstrap — no admin in the loopSend events with a stable --id
MCP clientThe human dashboard
[MCP client][The human dashboard]
13 native tools in Claude Code / CursorEverything the agent captures, in one real-time UI

Install

bash
npm install -g analyga

The npm package is analyga; the command is tga.

Quick Start

bash
# No account yet? Create a tenant and its first key — no card, no admin in the looptga signup --slug acme --name "Acme" --username you --password <8+ chars>
# Point at a tenanttga login --key <your-api-key>     # or set ANALYGA_KEY
# Confirm WHICH tenant you are about to write to (shows tenant + key scope for a tga_ key)tga whoami
# What can this credential see?tga websites
# Five numbers, not a dashboardtga stats <websiteId> --from 7d
# Full referencetga --help

Every command takes --json — the machine surface is a first-class citizen, not an afterthought:

bash
tga stats <websiteId> --from 7d --json

Read the contract, don't guess flags

bash
tga agent-schema --json

That returns every command, argument, flag, type, whether it is read-only, and the full list of error codes — generated from the same table that drives the parser, the help text and the MCP tools, so it cannot drift from what the CLI actually does. If it is not in the schema, it does not exist.

Query — stats, events, funnels

Ask the questions an agent actually asks after it ships: did the events land, and did anyone make it through the flow?

bash
# Traffic and top-line stats for a windowtga stats <websiteId> --from 7dtga events <websiteId> --from 24h
# Define a funnel once, then run it whenevertga funnel define <websiteId> --name signup --steps "/,/pricing,/signup"tga funnel list <websiteId>tga funnel run <funnelId> --from 30d
# Cross-site rollup for a teamtga network <teamId> --from 7d

All read-only, all --json-able — an agent branches on the numbers instead of parsing a chart.

Identity — pass --id or your agents collapse into one visitor

Anonymous identity is derived from IP and user-agent. Agent traffic shares both — one CLI version means one user-agent, and agents often share an egress IP — so without a stable id every agent behind that IP collapses into a single visitor. It cannot be backfilled.

bash
tga send <websiteId> --name cli_signup --id <stable-user-id> --data '{"source":"cli"}'

Sending events server-side

bash
# Mint a per-website ingest key first (shown ONCE; regenerating rotates it)tga ingest-key create <websiteId>
tga send <websiteId> --name cli_signup --id <stable-user-id> \  --ingest-key <per-site-key> --data '{"plan":"pro"}'
tga ingest health <websiteId> --from 24h    # did anything actually land?
tga ingest-key revoke <websiteId>           # kill server-side ingest for this site

A discarded event still answers HTTP 200. The ingest endpoint returns {"beep":"boop"} when it drops an event as a bot. This CLI treats that as a hard failure with a hint rather than reporting success — so an agent never believes a dropped event succeeded.

Server-side ingest uses a separate per-website key (ANALYGA_INGEST_KEY or --ingest-key), scoped to one website so it can only ever write that site's traffic. Mint one with tga ingest-key create <websiteId> and revoke it with tga ingest-key revoke <websiteId> — the plaintext is shown once and only its hash is stored.

Billing — hand a human a checkout URL

An agent authenticates with its tenant key, names a plan, and gets back a Stripe Checkout URL to pass to a human who completes payment:

bash
tga billing checkout --plan pro

The tenant is pinned server-side from the key. The free plan (and any plan without a configured price) is not purchasable, and internal sister-stack tenants are never billed.

MCP Server

Prefer tools over a CLI? analyga ships an MCP server. Point Claude Code (or any MCP client) at it and your agent gets 13 native tools covering stats, events, funnels, websites, identity, server-side ingest (including minting/revoking ingest keys) and billing checkout.

bash
tga mcp-serve        # stdio, for Claude Code / Cursor / Cline / Windsurf

For clients that use a JSON config, pass your key via ANALYGA_KEY. The MCP server runs outside your project directory, so it will not pick up .analyga/config.json:

json
{  "mcpServers": {    "analyga": {      "command": "tga",      "args": ["mcp-serve"],      "env": { "ANALYGA_KEY": "your-key" }    }  }}

Read-only tools are flagged, so a client will not prompt a human to confirm a read. Every tool declares an outputSchema, so an agent never parses prose or guesses field names — and a tool result and --json output are the same bytes, one client across two surfaces. A session with no key sees only the onboarding surface — how to connect, plus analyga_signup to bootstrap its own tenant — rather than the full toolset.

Error codes

Failures carry a stable code and a distinct exit code, so an agent can branch on the outcome instead of string-matching a message.

ExitMeaningWhat to do
2usagefix the call, do not retry
3authfix the credential
4permissiondo not retry, escalate
5not foundcheck the id
6validationfix the payload
7rate limitedback off and retry
8networkretry is reasonable
9serverretry once, then report

Exit 1 is reserved for unhandled crashes, so a classified failure is never ambiguous. Where the server can say what to do next, it comes back as a hint on its own line.

Configuration

Resolved highest-priority first:

  1. --key flag
  2. ANALYGA_KEY environment variable
  3. .analyga/config.json in the current directory

tga whoami reports which of these won. On a multi-tenant platform, "which tenant am I about to write to" is the question that matters most. .analyga/ holds a live credential — keep it out of version control.

Features

  • Self-serve signup — tga signup creates a tenant and its first API key with no card and no admin in the loop; keyless, so it works before you have a credential
  • Tenant-aware identity — tga whoami shows the pinned tenant and key scope for a tga_ key, or the user and teams for a session login
  • Stats & events — top-line traffic and event counts over any window, all read-only, all --json
  • Funnels — define once, run anytime; step-by-step conversion for a site
  • Network rollup — cross-site stats for a whole team
  • Server-side ingest — tga send with a scoped per-site key; mint/rotate/revoke keys with tga ingest-key create|revoke; dropped-as-bot events fail loudly instead of faking a 200
  • Billing checkout — tga billing checkout --plan <id> returns a Stripe URL to hand to a human
  • Stable identity — --id keeps agents from collapsing into one anonymous visitor
  • agent-schema — one command emits the full contract (commands, flags, types, error codes) so agents never guess
  • MCP server — 13 tools (tga mcp-serve) for Claude Code, Cursor, Cline, Windsurf, any MCP client
  • Classified errors — stable code + distinct exit code per failure class, with actionable hints

Agent Integration

Add to your CLAUDE.md, .cursorrules, .clinerules, .windsurfrules, or AGENTS.md:

## AnalygaThis project uses Analyga for analytics. Use the `tga` CLI.Config is in .analyga/config.json (auto-loaded), or set ANALYGA_KEY.If not configured: tga login --key YOUR_KEY
Run `tga agent-schema --json` — it returns every command + valid flags + error codes.This is the single source of truth: if it is not in the schema, do not use it.Always pass --id on `tga send`, or agent traffic collapses into one visitor.

Why this exists

Every analytics tool I reached for assumed a human looking at a chart — but the thing that needed the numbers was the agent that fired the events. So the CLI and the MCP server are the primary interface here, not a wrapper bolted onto a REST API. It's early and iterating fast: if something's rough or missing, open an issue.

Documentation

For now, tga --help and tga agent-schema --json are the authoritative reference.

Status

Early. Published for dogfooding by the Tyga sister stacks. Interfaces may change; error codes will not be reworded once published, because agents branch on them.

License

Proprietary — Tyga.Cloud Ltd. See LICENSE.

來源:README.md,提交 99e4cf4

工具

0
SourceWeft 尚未讀取此伺服器的工具。

版本歷史

2
  1. v0.1.15最新Sep 23, 2026
  2. v0.1.14Sep 16, 2026

評分

已滿足適用檢查項的 75%

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

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具必需15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分

    請在儲存庫或註冊中心條目中宣告授權條款。

其他 Vipsallowed 整合