Vinktar

com.vinktar由 vinktar.com 發布官方發布者v1.0.1更新於 Oct 24, 2026

Error tracking for small teams and their coding agents.

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

概覽

AI 產生的概覽

Vinktar 讓助理讀取並建立產品分析與錯誤追蹤:查詢事件、錯誤和看板,並為專案接入 SDK 追蹤。

可以做什麼
  • 瀏覽專案、資料結構與原始事件,執行趨勢、漏斗、留存查詢和唯讀 SQL
  • 檢視錯誤問題、發生紀錄、堆疊與修正檢查,並更新狀態或負責人
  • 建立、讀取、修改和刪除看板與面板,管理告警及其接收對象
  • 定義追蹤事件,並為專案撰寫供代理程式閱讀的說明
  • 提供安裝指南、專案金鑰、安裝狀態檢查,以及未登入時先建立並認領專案
適用情境
適合讓編碼助理回答 Vinktar 工作區中的流量、轉換、留存或錯誤問題,或在程式碼儲存庫中接入 Vinktar 追蹤並確認資料是否送達。
執行需求
遠端 Streamable HTTP 端點 mcp.vinktar.com,無需貼上金鑰。需在瀏覽器登入,並選擇工作區、可存取的專案和權限。部分工具在登入前即可使用,透過認領連結完成歸屬。
安裝前請注意
此連線可寫入:會建立和刪除看板與面板、建立和更新告警、變更問題狀態與負責人、定義事件。刪除的看板和面板可在 30 天內還原。它會回傳專案寫入金鑰和僅供本人開啟的認領連結;原始碼對應上傳金鑰不會回傳。資料請求計入每月額度,每次呼叫都會記錄在專案的 AI 代理程式頁面。

安裝

在 SourceWeft 中

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

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

交給代理程式安裝

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

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

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

其他 MCP 客戶端

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

{
  "mcpServers": {
    "vinktar": {
      "type": "http",
      "url": "https://mcp.vinktar.com/mcp"
    }
  }
}

README

Vinktar for coding agents

Vinktar is error tracking your coding agent can read, with what the user did right before each error. This plugin gives Claude Code, Cursor and Codex three things:

  • The Vinktar MCP server (https://mcp.vinktar.com/mcp). You sign in in the browser and choose a workspace, the projects it may reach, and read, build or configure. No key to paste.
  • The setup skill. Run /vinktar:setup in Claude Code, or ask your agent to "set up Vinktar". It reads your repo, installs the SDK for your stack in a standard layout, fetches the project's write key over the connection, wires identify, errors and source maps, defines each event it tracks, checks what actually arrived, and ends with a list of every environment variable and where it goes.
  • The /vinktar command. Type /vinktar to set Vinktar up in this repo, or once it is set up to hear what broke. /vinktar what broke after the last deploy? asks a question directly.

Once it's installed, ask it things like "what changed this week?" or "which errors hit the most people since the last release?".

You don't need an account beforehand. Before anyone signs in, the agent can start a project on its own (start_project), set the app up with its key and check that data arrives; you then open the claim link it gives you, which signs you in or makes your account and keeps the project with its data. Unclaimed, a project takes up to 10,000 events and is deleted with its data after 7 days.

Install

Claude Code

sh
claude plugin marketplace add vinktarhq/agentclaude plugin install vinktar@vinktar

Run /vinktar:setup. It can set the app up before you sign in; to ask questions about your data later, run /mcp, pick vinktar and authenticate.

Claude (claude.ai, the desktop app, Cowork)

Adding the plugin does not connect Vinktar. After you add it:

  1. Open the plugin's Connectors tab, or claude.ai/customize/connectors, and choose Connect next to Vinktar.
  2. Sign in or make a free account in the browser, leave Build and Configure on, and approve.
  3. Start a new chat. A chat that was already open does not pick up the connection.

Then ask "what broke today?", or type /vinktar.

Cursor

Import this repository under Customize → Plugins → From GitHub Repository. Cursor asks you to sign in the first time it connects.

Codex

sh
codex plugin marketplace add vinktarhq/agentcodex plugin add vinktar@vinktarcodex mcp add vinktar --url https://mcp.vinktar.com/mcp

The last line adds the connection and opens the sign-in in your browser.

Any other MCP client

Add https://mcp.vinktar.com/mcp as a Streamable HTTP server; it finds the sign-in on its own. Then ask your agent to call get_install_guide. Setup for each client: vinktar.com/docs/mcp.

A harness that reads skills but has no plugin format

Copy .agents/skills/setup/ into your repository (or your home directory, wherever your tool looks). It is the same skill, at the path most tools agree on, and it needs the MCP server added separately.

What it can and can't do

The agent sees what you'd see in the workspace and project you approved. The only things it can delete are boards and panels, and those stay restorable from the boards page for 30 days. It can't delete events, errors, issues or projects, create projects or keys once you are signed in, manage members or billing, or add somewhere new to send your data. Before sign-in it can start one project nobody owns until you claim it. Every call is logged on the project's AI agents page, and an admin can switch agents off.

Vinktar works on every plan, Free included. Data requests count against a monthly allowance; setting a project up never does, and nothing is charged per call.

License

MIT

來源:README.md,提交 a5fddbf

工具

31

add_panel

Add panel

Add a panel to a board. Each panel answers one question and reads at a glance: a number, a line or a bar. Build it from the structured types; `sql` is the last resort. Choose in this order: `funnel` for conversion through ordered events (viewed pricing → started checkout → paid), with a breakdown for conversion per segment (per shop, per plan): always a funnel, never a query or trend lines per step. `retention` for whether people come back. `trends` for everything that counts or sums events: `chart` "scalar" for one number (revenue, installs, failed charges; several numbers are several scalar panels, never one wide table), "line" for a metric over time, "bar" to compare segments over time, "hbar" to rank them, "share" for parts of a whole, "heatmap" for when in the week; set `display.format` to "currency" for money and "percent" for a rate. A series can carry its own `breakdown`, so one panel shows signups by plan beside checkouts by country; reach for that before SQL. A table only when the rows themselves are the point (the operations or shops to look at), with at most four columns. `issues` for the top errors, `text` for a heading over a row of panels: a single "## Heading" line renders as a slim section title. `sql` only when none of those can show it (a ratio between two measures), with at most four columns, the board's range as `{from}`/`{to}` rather than now(), and `sqlReason` saying why. A funnel and retention count the project's identified users: if the people in the question are not them, say so in a text panel instead. The spec is exactly what query_trends, query_funnel, query_retention or run_sql just ran (same field names), so check the numbers with that tool first. The panel is run once before it is saved: one that fails or breaks these rules is refused and nothing is saved, so follow the message and call again. The board is a grid: a panel joins the last row when it is the same kind and there is room (numbers up to four to a row, charts two, a table or

輸入參數name必填texttype必填viewchartqueryfunnelissuestrendsdisplayprojectsretention另有 2 個

browse_events

Browse events

Raw events, newest first, under simple filters: event names, one user (distinctId), page search, property filters or a VinktarQL WHERE expression. Use it to see what one user did, or to inspect real payloads. Pass `eventId` instead to get that one event in full, every column and the whole payload. Windows longer than 30 days are narrowed to their last 30. For counts, use query_trends or run_sql instead of paging.

輸入參數tofromlastlimitnamescursorsearcheventIdfiltersprojectprojectsdistinctId另有 1 個

check_fix

Check fix

After a fix for an issue ships, start a server-side check of whether it comes back: occurrences on the fix release (or the next release seen) and later, against how many sessions reached that release, over a horizon of up to 14 days. It keeps running after this session. Read the result later with get_alert and the issueId. The result is never "fixed": it is recurred, no recurrence in N sessions, or not enough evidence.

輸入參數issueId必填releaseenvironmenthorizonDaysminExposure

create_alert

Create alert

Create an alert: a query (source events, errors or sql; measure count or unique_users; filters; an optional groupBy; a window in minutes), a condition (above or below a threshold, or changed by a percent against the window before, a week earlier or the trailing week) and who hears it (recipients among members, saved channels, the team by default). Each series is judged on its own and a series that fired stays quiet for one window. Examples: new issues = source errors, lifecycle first_seen, condition above, threshold 0. Users affected = source errors, measure unique_users, windowMinutes 60, above 100. Signups dropped = source events, event signup, condition changed, changeDirection down, changePercent 50, compare week. Orders stopped = source events, event order_placed, below 1. You cannot name a webhook, a URL or an outside address: a person adds those in Vinktar. Only create an alert when the user asked for one.

輸入參數sqlname必填eventfloorlinkssourcecomparegroupByissueIdmeasureprojectrelease另有 16 個

create_board

Create board

Create an empty board in the workspace, to leave the user a view of what you found; fill it with add_panel, where each panel says which projects it reads. First decide what kind of board the request is, from the decision the user wants to make with it: "launch" when one feature or release just shipped: is it used, by whom, does it convert, did it break anything; "conversion" when a funnel someone cares about: where people drop and which segment converts; "growth" when the business at a glance: new people, active people, conversions and money over time; "engagement" when how much and how often people use the product, and whether they come back; "revenue" when money: how much, from whom, and the path to paying; "acquisition" when where people come from and which channels bring the ones who sign up; "reliability" when what is breaking and whether it hurts the flows that matter; "custom" when none of the above: a board shaped around one specific question. The result is a plan for that kind, filled in with the project's own signup, activation, conversion and revenue events: follow it, dropping what the user did not ask about. If the request fits none, ask the user what the board is for before building. Pass `expiresInDays` for a board built for one launch, so it deletes itself afterwards instead of staying forever. Only do this when the user asked for a board or agreed to one.

輸入參數kind必填name必填projectprojectsdescriptionexpiresInDays

define_event

Define event

Define an event in the project's tracking plan: what it means, its role, the properties it carries (type, unit, whether every send must include it, an example) and where the code sends it. Call it in the same step as adding or changing a track() call, before any data arrives; and for existing events once you have read the code that sends them. It takes effect at once, labelled as written by an agent, and the team can correct it in Vinktar. get_setup_status then reports defined events that never arrive and sends missing a required property. Conventions (get_install_guide with section "conventions" has them all): new event names and property keys are snake_case, object then past-tense action (signed_up, report_exported); a description is one sentence of at most 100 characters and a longer one is refused; an event already shipping under another spelling is defined as it is sent, never renamed unasked. Do not overwrite a description the team wrote unless the user asks. Setup call: never counted.

輸入參數roleevent必填projectpropertiesdescriptioncode_location

delete_board

Delete board

Delete a board with its panels. Only when the user asked for it, or agreed when you proposed it; name the board before you do. A person can restore it in Vinktar from the boards page for 30 days.

輸入參數dashboardId必填

delete_panel

Delete panel

Remove a panel from its board. Only when the user asked for it, or agreed when you proposed it; say which panel before you do. The panel id is in get_board. A person can restore it in Vinktar from the boards page for 30 days.

輸入參數panelId必填

get_alert

Get alert

Read alerts and what they said. Pass alertId for one alert: its query and condition, whether it is on or snoozed, what its last check read per series, who hears it and what it said recently. issueId gives that issue's latest fix check (awaiting_release, watching, recurred, no_recurrence, not_enough_evidence or stopped, with exposure and recurrences on the fix release). Neither lists every alert in the project, what fired in the last 24 hours, and the saved channels an alert can post to.

輸入參數alertIdissueIdproject

get_board

Get board

Read a board: every panel computed over a window with the change against the previous period, as headline numbers. The quickest way to answer "how are we doing" in the terms the team already tracks. Each panel shows its id, for update_panel and delete_panel.

輸入參數tofromlastdashboardId必填

get_install_guide

Get install guide

The step-by-step guide for setting Vinktar up in the app you are working in: which SDK fits the stack (with current versions), the recommended file layout and environment variables, defining the tracking plan as you add events, proving it with get_setup_status, and the handover telling the person where each variable goes. Call this first when asked to install, set up or audit Vinktar, and follow it. It ends with Vinktar's conventions (event and property naming, descriptions, how an event changes, releases and environments, identifying users and connecting the browser visit to the server); pass section "conventions" for those alone before adding or changing a track() call in an app that is already set up. It answers before sign-in too, and then starts with where the person signs in from each app. Setup call: never counted.

輸入參數section

get_issue

Get issue

Everything needed to debug one error issue: what it is, its status and history, how often and for whom it happens in the window (by release, environment, browser, URL, tag), the latest occurrence's stack trace (source-mapped when available, each in-app frame linking to its file in the repository once the project's repository URL is set), breadcrumbs and request, and the product events that user sent in the 30 minutes before it.

輸入參數tofromlastissueId必填

get_project_keys

Get project keys

The keys installing Vinktar needs: the project's public write key (VINKTAR_KEY) with the ingest host, the Sentry-compatible DSN and the Bugsnag-compatible endpoints, and whether a source-map upload key (VINKTAR_CLI_KEY, a secret) exists, with where a person creates one. The secret is never returned: tell the person to add it as a CI secret. Needs a read and write connection. Setup call: never counted.

輸入參數project

get_schema

Get schema

What a project tracks (or several, with `projects`, each under its own heading): event names with their volume over the last 30 days, the payload properties each event carries, user trait keys, and the columns and functions VinktarQL (run_sql) accepts. Call before any query so names are real. Pass `event` to see every property of one event, or `propertyKey` to see that property's most common values, which is how you find the exact spelling of one before filtering on it.

輸入參數eventlimitsearchprojectprojectspropertyKeypropertyScope

get_setup_status

Get setup status

Check a project's Vinktar install from the data that actually arrived: events and errors received, users identified, releases and environments tagged, source maps for the latest release, items the SDK dropped, and key events described. Each gap comes with the next step. Call it after installing, and again after each fix, until nothing is left to do. Setup call: never counted against the agent allowance.

輸入參數project

list_boards

List boards

The boards whose panels read from a project, or from any of several with `projects`. A board shows what the team already decided matters; read one with get_board.

輸入參數projectprojects

list_issue_occurrences

List issue occurrences

Recent individual occurrences of one issue, newest first: when, which user and session, release, environment, page, browser and OS. Use it to spot a pattern (one browser, one release, one customer) or to pick a user or session to follow in browse_events.

輸入參數limitcursorissueId必填

list_issues

List issues

Error-tracking issues (errors grouped by fingerprint) for a project, or across several with `projects`, with occurrences and affected users inside the window. Default: open issues (unresolved + regressed) sorted by occurrences over the last 14 days. Follow up with get_issue for the stack trace.

輸入參數tofromlastsortlevellimitcursorsearchstatusprojectreleaseprojects另有 1 個

list_projects

List projects

List the Vinktar projects this connection can read (a project is one app or site sending events and errors), with the workspace plan and what this connection is allowed to do. Call this first when you do not know the project handle.

無需輸入參數。

query_funnel

Query funnel

Conversion through an ordered sequence of events (e.g. view_pricing → start_checkout → purchase): how many entered, how many reached each step, where they dropped, how long converting took, optionally by segment.

輸入參數tofromlastordersteps必填filtersprojectprojectsbreakdownconversionWindow

query_retention

Query retention

Cohort retention: users who did targetEvent in a period form a cohort, and the table shows what share of each cohort did returningEvent in each later period. Use it for "do people come back" and "did retention improve after the change".

輸入參數tofromlastperiodfiltersperiodsprojectprojectstargetEvent必填returningEvent必填

run_sql

Run sql

Run a read-only VinktarQL SELECT over the project's `events` table, for anything query_trends, query_funnel and query_retention cannot express; start with those, since what they run is what a board panel should be. A ClickHouse-flavoured subset: WHERE, GROUP BY, HAVING, ORDER BY, LIMIT, DISTINCT, IN, LIKE and allowlisted functions (count, uniq, sum, avg, quantile, countIf, toStartOfDay…); no joins, subqueries, CTEs or INTERVAL, so filter time as `timestamp > now() - 86400 * 7`. Payload properties are `properties.<key>`, user traits `user.<key>`. Tenant scoping and plan retention are applied automatically. Call get_schema first for columns, functions and property names, and aggregate in SQL rather than paging through raw rows.

輸入參數limitquery必填cursorprojectprojects

set_project_notes

Set project notes

Write the project's notes for AI agents: what the product does and for whom, the flows that matter (signup, activation, the paid action), what counts as an active user, and anything that makes the data easy to misread. Write them from the codebase during setup, in plain sentences, up to 2,000 characters; they replace the current notes, so read them in get_schema first and keep what the team wrote. Every later agent reads them before the data. Setup call: never counted.

輸入參數notes必填project

update_alert

Update alert

Change an alert from get_alert: any part of its query, condition, timing, recipients (workspace members) and channels (saved ids or "#name" in the connected Slack). Or hold its news with snoozeMinutes (0 ends a snooze; a week at most). Switching an alert off or deleting it is a person's, in Vinktar. Only change an alert when the user asked.

輸入參數sqlnameeventfloorlinkssourcealertId必填comparegroupByissueIdmeasurerelease另有 16 個

update_board

Update board

Rename a board, rewrite the line under its title, change when it deletes itself, or lay its panels out. A board is a grid: every row spans the full width, its panels share it (one to four) at one height, equally unless you give widths. Pass `rows` to set the layout outright, top to bottom, as rows of panel ids from get_board; panels you leave out keep their order after them. Or pass `arrange` to straighten the rows as they read now. Pass only what changes. Panels are changed with update_panel and delete_panel.

輸入參數namerowsarrangedashboardId必填descriptionexpiresInDays

update_issue

Update issue

Change an error issue's status or assignee: resolve it (optionally in the release that ships the fix, or in the next release when it has not shipped yet, so a later occurrence reopens it as a regression), ignore it, reopen it, or assign it to a teammate. Only act on an issue when the user asked you to.

輸入參數statusissueId必填assigneeenvironmentresolvedInReleaseresolvedInNextRelease

update_panel

Update panel

Change a panel on a board: its title, how it draws, its number format or what it shows. Pass only what changes; the rest stays as it is. The panel id is in get_board. To turn it into another type, pass `type` with the full spec for it, the same fields as add_panel. A changed panel is run and held to the same rules as add_panel before it is saved (structured types before SQL, one question per panel, the board's time range), and one that breaks them is refused with nothing changed.

輸入參數nametexttypeviewchartqueryfunnelissuestrendsdisplaypanelId必填projects另有 2 個

whats_changed

What changed

Start here. One project's window, or several pooled with `projects` (every row then names its project), compared with the one before it, across analytics and errors: traffic (events, active users, sessions), the events that rose, fell, appeared or stopped, error volume, new, regressed and fastest-growing issues, and the releases that shipped, and what the project's alerts said. Each row names the tool to go deeper.

輸入參數lastprojectprojects

start_project

Start a project without an account

Before the person has signed in to Vinktar: start a project for their app now, so setup can run and data can arrive before anyone makes an account. Returns the project's write key (public, safe in browser code) and a claim link that only the person should open: it signs them in, or makes them an account, and keeps the project with its data. Unclaimed, the project takes up to 10,000 events and is deleted with its data after 7 days. Only call it when the person has not signed in and the other tools ask for sign-in; once signed in, use list_projects and get_project_keys instead.

輸入參數name必填platform

get_start_status

Check a started project

Whether events and errors have arrived for a project started with start_project, by its write key, and whether the person has claimed it yet. Call it after installing the SDK and sending a first event. Projects someone already claimed answer only after sign-in, through get_setup_status.

輸入參數key必填

版本歷史

2
  1. v1.0.1最新Oct 7, 2026
  2. v1.0.0Sep 29, 2026

評分

已滿足適用檢查項的 100%

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

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