docs · connect your agent

Connect your coding agent. It reads production.

Claude Code, Cursor, Codex or any MCP client connects to one workspace with a grant you approve in the browser. It queries your analytics and your errors itself, and answers in the session you already have open.

https://mcp.vinktar.com/mcp

One address for every workspace, and no key to paste. On every plan, with a monthly allowance of data requests (pricing). Setting a project up is never counted.

Add it to your agent

The same steps as Connect inside the app.

  1. 1

    Add the Vinktar marketplace and install the plugin.

    claude plugin marketplace add vinktarhq/agent
    claude plugin install vinktar@vinktar
  2. 2

    Your browser opens Vinktar. Pick the workspace, optionally one project, and read or read and write, then approve.

  3. 3

    To set Vinktar up in the app you have open, run the setup skill. It reads the install guide, fetches the key, installs the SDK, defines the events it adds, checks what arrived, and tells you where each environment variable goes.

    /vinktar:setup

No MCP? Use the CLI

For pi, Aider, a CI job or a shell script. It is the same sign-in and the same tools, so the same limits apply and every call is logged on the AI agents page.

npx @vinktarhq/cli login            # opens the browser; pick the workspace and project
npx @vinktarhq/cli tools            # everything an agent can call
npx @vinktarhq/cli call get_schema propertyKey=plan
npx @vinktarhq/cli status           # what has arrived, and the next step
npx @vinktarhq/cli sql "SELECT event_name, count() FROM events GROUP BY event_name"
npx @vinktarhq/cli agents-md --write   # tell the next agent in this repo that Vinktar is here

There is no command that takes a question, because Vinktar does not run a model. Your agent reads the tool list and makes the calls.

What it looks like

The agent calls tools; each call lands in AI agents → Activity as it is made, with its arguments, how long it took and what it cost.

your agent · Claude Code

claude-code — ~/acme-web

> we shipped web@4.2.1 this morning. anything I should look at?

vinktar - whats_changed (MCP)(project: "web", last: "24h")

error occurrences410↑ 310%

revenue: checkout_completed318↓ 11%

vinktar - get_issue (MCP)(issueId: "4417")

TypeError: t.price is undefined price.ts:42 · since web@4.2.1

One new error since the release, on the page where checkout fell 11%. Related, but a correlation, not proof.

> fix it

Update(src/cart/price.ts)

42- return t.price * item.qty

42+ return (t?.price ?? 0) * item.qty

>

vinktar · what your team sees

vinktar.com/acme/projects/web/agents

web / AI agents

Activity

7 units · no charge
  1. 14:32:09get_issue1u
  2. 14:32:07whats_changed6u

illustration · sample project · real tool names, arguments and units

What it can call

The agent picks the tools. Every one is limited to the workspace and project you approved, and sees what you would see there.

toolwhat it doesunits
get_install_guideThe current guide for the app it is working in: the SDK for the stack, the layout, and where each variable goes.setup · 0
list_projectsThe projects this connection can read, and this month’s usage.setup · 0
get_project_keysThe project’s public write key and ingest host, and whether a source-map key exists. The secret one is never returned.setup · 0
get_setup_statusWhat actually arrived, as a checklist with the next step for each gap.setup · 0
get_schemaEvents, their properties and what your team wrote about them, and a property’s common values.setup · 0
define_eventwriteDefine an event in the tracking plan: what it means, its properties, which are required, and where the code sends it.setup · 0
set_project_noteswriteWrite the project’s notes for agents: what the product is, its flows, what counts as active.setup · 0
whats_changedA window against the one before: traffic, key events, new and regressed issues, releases. The same summary as Today.6
query_trendsCounts, unique users, sums, averages and p95 over time, with one breakdown.1
query_funnelConversion through an ordered sequence of events, within a window.1
query_retentionWho came back, period by period.1
run_sqlA read-only VinktarQL query over your events.1
browse_eventsRaw events under filters, such as one person’s journey, or one event in full.1
list_boardsThe boards your team has built.1
get_boardEvery panel of a board, computed over a window.8
list_issuesIssues with their occurrences and affected users.1
get_issueOne issue: stack trace, breadcrumbs, daily counts, releases, and who it happens to.1
list_issue_occurrencesIndividual occurrences: time, user, release, page.1
get_watchRead a check started on an issue: whether it came back on the fix release. Never “fixed”.1
create_boardwriteCreate an empty board, optionally one that deletes itself after a launch.1
add_panelwriteSave a panel to a board: a trend, funnel, retention table, SQL, top errors or a text note. It is run first, and one that fails is not saved.2
update_panelwriteChange a panel’s title, chart, format or query. It is run and checked like a new one before it is saved.2
delete_panelwriteRemove a panel from a board. A person can restore it for 30 days.1
update_boardwriteRename a board, rewrite its description, or change when it deletes itself.1
delete_boardwriteDelete a board with its panels. A person can restore it for 30 days.1
create_watchwriteWatch the error stream, an issue, a panel, a board or an event. It tells your owners and admins; it cannot name a webhook, a Slack channel or an email list.1
update_issuewriteResolve, ignore, reopen or assign an issue.1
watch_issuewriteAfter a fix ships, check on the server whether the issue comes back. It outlives the session.1
install_vinktarSet Vinktar up in the codebase in front of it, and check what arrived.—
weekly_reviewWhat happened in a project this week, with links.—
investigate_issueWork through one error: what breaks, for whom, since when.—
explain_funnel_dropoffWhere a funnel loses people, and what sets them apart.—

Tools marked write only appear on a connection approved with read and write. Units are what a call spends of the monthly allowance; setup tools spend none, and a call that fails is not counted.

It also reads the VinktarQL reference as a resource, so a query compiles the first time. Monthly allowance: Free 1k, Pro 25k, Business 150k units.

Things to ask

Answers get better when the agent knows your product. The notes and event definitions it writes are in AI agents → What agents know, where a person can correct them; agents read them before they query.

  • Set Vinktar up in this app and check the first events arrived.
  • What changed in the web project since yesterday’s release?
  • Which errors hit the most people this week? Pull the worst one and propose a fix.
  • Where do people drop between signing up and creating a project, by country?
  • What did user 4812 do in the ten minutes before the payment error?
  • I’m launching the new pricing page next week: define the events, build a board that expires after a month, and add an alert.

Limits, and staying in charge

Budgets

Agents share at most half of a workspace’s query budget, so your boards keep the rest, and every read has a deadline. A runaway loop is slowed, then stopped at the monthly allowance, where the agent is told when it resets. Nothing is ever charged.

Everything it made, in one place

AI agents → What agents know lists every board and watch an agent created, with which agent and when, and deletes any of them in one step.

Every call is logged

AI agents → Activity keeps every tool call for 30 days. Disconnect your own agents; an admin can disconnect any, or switch agents off for the workspace.

What it cannot do

Delete events, errors, issues or projects, create projects or keys, add a notification destination, or hide data. A board or panel it deletes can be restored for 30 days. The full list, and the prompt-injection caveat, are on Security.