MCP server for coding agents
Error tracking in Claude Code, Cursor and Codex
Keep your Sentry SDK and change the DSN. Your coding agent then reads each issue, its stack trace and what the user did before it, in the session where the fix gets written.
Agent access on every plan. Vinktar runs no model, so no call is charged.
What broke today?
Ask about your errors and your users. The answer comes from your own data in Vinktar.
Works where you already work
- Claude CodePlugin, or one commandPlugin
- ClaudeDesktop and claude.ai, as a connectorConnector
- CursorPlugin, or mcp.jsonPlugin
- CodexPlugin, or config.tomlPlugin
- Any MCP clientStreamable HTTP and OAuth 2.1Compatible
- No MCP at allThe CLI, for scripts and CICLI
Connect
One address for every client
Your agent connects to one workspace, with a grant you approve in the browser. There is no key to paste, and setting a project up never counts against the allowance.
- Transport
- Streamable HTTP, OAuth 2.1 sign-in
- Protocol
- MCP 2025-11-25, 2025-06-18 and 2025-03-26
- Each call
- Answers within 38 seconds or says it was too slow
In a hosted app builder, add the same server from its own settings: Lovable, Replit or v0.
The address
The same one for Claude Code, Cursor, Codex and the rest
{
"mcpServers": {
"vinktar": {
"type": "http",
"url": "https://mcp.vinktar.com/mcp"
}
}
}Step by step
What to run in each client, then one approval in the browser
- 1Add the Vinktar marketplace and install the plugin.
claude plugin marketplace add vinktarhq/agent claude plugin install vinktar@vinktar - 2Your browser opens Vinktar. Pick the workspace, the projects it may reach, and read, build or configure, then approve.
- 3To set Vinktar up in the app you have open, run the setup skill. It reads the install guide, fetches the key, installs the SDK and defines the events it adds. Then it checks what arrived and tells you where each environment variable goes.
/vinktar:setup
- 1In Claude on the web or Claude Desktop, open Customize → Connectors (claude.ai/customize/connectors) and choose Add custom connector.
- 2Paste the address above, add it, then Connect. Start a new chat afterwards.
- 3Your browser opens Vinktar. Pick the workspace, the projects it may reach, and read, build or configure, then approve.
- 4To set Vinktar up in the app you have open, run the setup skill. It reads the install guide, fetches the key, installs the SDK and defines the events it adds. Then it checks what arrived and tells you where each environment variable goes.
Set up Vinktar for my app: call get_install_guide on the Vinktar connector and follow it.
- 1Import the plugin under Customize → Plugins → From GitHub Repository.
vinktarhq/agent - 2Your browser opens Vinktar. Pick the workspace, the projects it may reach, and read, build or configure, then approve.
- 3To set Vinktar up in the app you have open, run the setup skill. It reads the install guide, fetches the key, installs the SDK and defines the events it adds. Then it checks what arrived and tells you where each environment variable goes.
Set up Vinktar in this project
- 1Add the Vinktar marketplace and install the plugin.
codex plugin marketplace add vinktarhq/agent codex plugin add vinktar@vinktar - 2Your browser opens Vinktar. Pick the workspace, the projects it may reach, and read, build or configure, then approve.
- 3To set Vinktar up in the app you have open, run the setup skill. It reads the install guide, fetches the key, installs the SDK and defines the events it adds. Then it checks what arrived and tells you where each environment variable goes.
Set up Vinktar in this project
- 1Any MCP client that speaks Streamable HTTP and OAuth works. Add this address; it finds the sign-in on its own.
https://mcp.vinktar.com/mcp - 2If your tool reads skills, add the setup skill to your project. It lands where your agent looks.
npx skills add vinktarhq/agent - 3Your browser opens Vinktar. Pick the workspace, the projects it may reach, and read, build or configure, then approve.
- 4To set Vinktar up in the app you have open, run the setup skill. It reads the install guide, fetches the key, installs the SDK and defines the events it adds. Then it checks what arrived and tells you where each environment variable goes.
Set up Vinktar in this project: call get_install_guide on the Vinktar MCP server and follow it.
Keep the Sentry SDK
Your agent reads what the Sentry SDKs send
Point the DSN at Vinktar and deploy. Errors from the Sentry SDKs for JavaScript, Node.js, Next.js, Python, Laravel and Symfony arrive grouped into issues, and your agent reads them with the same tools.
Connect api
Laravel, keeping the Sentry SDK
- Step 1, done: The Sentry SDK points at VinktarSENTRY_LARAVEL_DSN changed, nothing else
- Step 2, done: First error arrivedA test exception from production
- Step 3, done: Release and environment taggedapi@4.12.0, production
- Step 4: Waiting for a signed-in userSet the user id so errors join to the people they hit
Tools
What it can read, and what it can change
Every tool is limited to the workspace and projects you approved, and sees what you would see there. Units are what a call spends of the monthly allowance; setup tools spend none and a call that fails is not counted.
Reads· 17
On every connection
- setup · 0
get_install_guide
The current guide for the app it is working in: the SDK for the stack, the layout, and where each variable goes.
- setup · 0
list_projects
The projects this connection can read, and this month’s usage.
- setup · 0
get_project_keys
The project’s public write key, ingest host and Sentry-compatible DSN, and whether a source-map key exists. The secret one is never returned.
- setup · 0
get_setup_status
What actually arrived, as a checklist with the next step for each gap.
- setup · 0
get_schema
Events, their properties and what your team wrote about them, and a property’s common values.
- 6
whats_changed
A window against the one before: traffic, key events, new and regressed issues, releases. The same summary as Today.
- 1
query_trends
Counts, unique users, sums, averages and p95 over time, with one breakdown.
- 1
query_funnel
Conversion through an ordered sequence of events, within a window.
- 1
query_retention
Who came back, period by period.
- 1
run_sql
A read-only VinktarQL query over your events.
- 1
browse_events
Raw events under filters, such as one person’s journey, or one event in full.
- 1
list_boards
The boards your team has built.
- 8
get_board
Every panel of a board, computed over a window.
- 1
list_issues
Issues with their occurrences and affected users.
- 1
get_issue
One issue: stack trace, breadcrumbs, daily counts, releases, and who it happens to.
- 1
list_issue_occurrences
Individual occurrences: time, user, release, page.
- 1
get_alert
Read an alert: how it is set up and what it said. For a fix check, whether the issue came back on the fix release. Never “fixed”.
Changes· 12
Only on a connection approved with read and write
- setup · 0
define_event
Define an event in the tracking plan: what it means, its properties, which are required, and where the code sends it.
- setup · 0
set_project_notes
Write the project’s notes for agents: what the product is, its flows, what counts as active.
- 1
create_board
Create a board for what you want to decide (a launch, a funnel, growth, revenue…) and get a plan for it built from your own events, optionally one that deletes itself after a launch.
- 2
add_panel
Save 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_panel
Change a panel’s title, chart, format or query. It is run and checked like a new one before it is saved.
- 1
delete_panel
Remove a panel from a board. A person can restore it for 30 days.
- 1
update_board
Rename a board, rewrite its description, or change when it deletes itself.
- 1
delete_board
Delete a board with its panels. A person can restore it for 30 days.
- 1
create_alert
Alert on the error stream, an issue, a panel, a board, an event or a query. It tells your owners and admins, or members and channels you already set up; it cannot name a webhook URL or an outside address.
- 1
update_alert
Change an alert within what you set up, or snooze it.
- 1
update_issue
Resolve, ignore, reopen or assign an issue.
- 1
check_fix
After a fix ships, check on the server whether the issue comes back. It outlives the session.
Prompts· 6
Plans the agent runs through the tools above
what_broke
New, returning and rising errors this week, the worst ones opened.
tour_sample_project
A short tour of the sample data, and what to ask next.
install_vinktar
Set Vinktar up in the codebase in front of it, and check what arrived.
weekly_review
What happened in a project this week, with links.
investigate_issue
Work through one error: what breaks, for whom, since when.
explain_funnel_dropoff
Where a funnel loses people, and what sets them apart.
It also reads the VinktarQL reference as a resource, so a query compiles the first time. Monthly allowance: Free 1k, Starter 5k, Pro 25k, Business 150k units.
Safe by default
Careful with what it reads, limited in what it changes
Captured text arrives fenced
Error messages, event names and URLs reach the agent inside a vinktar-data block marked as data, and every link is built from ids. It lowers the risk of a crafted message steering your agent. It does not remove it.
It cannot delete your data
No tool deletes events, errors, issues or projects, creates projects or keys in your workspace, or adds a notification destination. A board or panel it deletes can be restored for 30 days.
Every call is logged
AI agents → Activity shows each call with its arguments, how long it took and what it cost, for 30 days. Disconnect any agent, or switch agents off for the workspace.
No model, no price per call
Vinktar runs no model. Calls spend a monthly allowance that is refused, never billed, when it runs out, and agents get at most half of the workspace’s reads each minute.
Before anyone signs in it can start one project nobody owns, which you keep by opening its claim link and which is deleted after 7 days otherwise. The full list is on Security.
No MCP
The same tools from a terminal
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. There is no command that takes a question, because Vinktar runs no model: your agent reads the tool list and makes the calls.
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 hereThings to ask
Start with a question you already have
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.
- 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.
Give your agent your errors
Free up to 50,000 errors a month, and agent access on every plan.
Setting it up by hand instead? Install an SDK