[The user is now an agent]

Optimise your product for AI agents

Agents come back to what works. Vesta analyses how they use your tools, names the exact optimisation to make, and proves the impact on your traffic.

claude — jinear
[WATCH]

How Vesta works, in 1 minute

[THE AGENTIC RACE]

The agentic race has already started.

Automated traffic has overtaken humans on the web, and AI agents are its fastest-growing part. They're becoming a real way your product gets used, and they choose what works best for them.

80%

By 2035, as much as 80% of internet traffic could be driven by AI agents.

Source: Gartner, Futures Lab: The Future of Identity, April 2025

97%

Across 856 tools on 103 MCP servers, 97% of tool descriptions carried at least one quality issue, and 56% did not state their purpose clearly.

Source: Queen's University, study of MCP tool descriptions, 2026

$3.5tn

By 2031, autonomous agents are predicted to handle up to $3.5 trillion in transactions and serve 1.3 billion users, buying on price, schema and fulfilment speed.

Source: Forrester

Agents are becoming first-class users of your product. Build for them, or lose them, and the revenue they bring.

[OUTCOMES]

If an agent can finish the job easily with your product, it comes back.

It comes down to four numbers. Vesta improves each one.

Higher task completion

More of the jobs agents start, they finish.

More task types

Agents can do more with you, not fewer.

Fewer turns

Faster to the result, with less back and forth.

Fewer tokens

Lower cost for an agent to use your product. Less context bloat.

[A RECOMMENDATION]

Every recommendation is a specific change to your product, with the evidence behind it.

[#01 // CRITICAL]Contract fixsave_issue v3

priority is typed as free-text, but the schema expects an integer

Confidence
High
[What to change]

Change priorityto an integer 1–4 and document the mapping in the tool description, instead of accepting a free-text string.

Agents send priority as “High” or “Urgent”; the schema wants an integer, so the call errors and the agent stalls or abandons the task.

[Driver · the stat that ranked this]

first-try success on save_issue is 41% — 34 points below your tool median (95% CI 37–45%).

[Impact]
102
sessions affected
41%
first-try success
15.3k
tokens wasted
[Failure mix]
Schema validation error · 78% Retry exhausted · 22%
After failing here, agents switched to update_issue.Compared against v2.
[THE LOOP]

Observe. Interpret. Recommend. Measure.

[01 // OBSERVE]

Capture behaviour

One call captures every session, tool call, error and latency.

[02 // INTERPRET]

Find the patterns

Read the behaviour across sessions to find what works and what fails.

[03 // RECOMMEND]

Specific changes

Specific changes, grounded in your product context, straight into your dev process.

[04 // MEASURE]

Prove the impact

Compare before and after, so you know whether a change worked.

[INSIDE VESTA]

Powerful, automated analytics.

[ARCHETYPES]

Blocked sessions

Stalled on repeated failures

4.5%of sessions

Small (4.5%) but the sharpest signal on the surface: 74% of calls fail and 82% of these sessions are abandoned. Concentrated on list_issues and save_issue.

Sessions17
Avg calls4.0
Error rate73.5%
Abandon rate82.4%

~14 sessions lost this window

Suggested fix
Server-side retryStructured errors
Tools used (4)

Issue managers

Create and update issues across projects

34.9%of sessions

The workhorse segment: long sessions (avg 6 calls) that browse projects and issues, mostly while creating and updating them. save_issue and list_issues lead their calls.

Sessions131
Avg calls6.0
Error rate8.7%
Abandon rate3.8%

~5 sessions lost this window

Suggested fix
get_issue by keyServer-side retry
Tools used (6)

Issue searchers

Find work by query

20.5%of sessions

Query-led sessions (avg 2.5) that search for specific issues, cycles or teams rather than browsing. Search makes up the largest share of their calls.

Sessions77
Avg calls2.5
Error rate4.2%
Abandon rate3.9%

~3 sessions lost this window

Suggested fix
get_issue by keyDocument query param
Tools used (4)

Board browsers

Scan, click, make no changes

21.6%of sessions

Short, read-only sessions (avg 1.6) that list issues, labels and users, then leave: no records, no writes. The lowest error rate of any archetype.

Sessions81
Avg calls1.6
Error rate2.4%
Abandon rate1.2%

~1 sessions lost this window

Suggested fix
Document query param
Tools used (5)

Ticket inspectors

Open one issue and quit

10.7%of sessions

Precise single-fetch sessions (avg 1.3): pull up one issue, diff or team and stop. Cheap and reliable.

Sessions40
Avg calls1.3
Error rate2%
Abandon rate2.5%

~1 sessions lost this window

Suggested fix
get_issue by key
Tools used (3)

Quick capturers

Log new items without browsing

7.7%of sessions

Write-first sessions (avg 1.4, 87% writes) that create an issue, label or attachment with no exploration first. They abandon 0% of the time: they know what they came to do.

Sessions29
Avg calls1.4
Error rate2.4%
Abandon rate0%

Healthy · 0 sessions lost

Tools used (3)
[TOOL PATHS]
First toolSecondThird
10 end here
8 end here
6 end here

Block height = share of sessions · dashed = sessions whose path ends there

131 sessions · first 3 tools.

Hover a block to trace a path; click to pin it. Read left to right: where sessions start, and where they go next.

[INSTALL]

Getting started is easy

A few lines of code. Sensible defaults, but you have control where needed.

PythonTypeScriptmcp + fastmcpstdio · http · sse
shell
pip install vesta-sdk
python
import vesta

vesta.instrument(
    server,                 # mcp or fastmcp
    api_key="vsk_live_...",
    session_context=lambda r: {
        "user_id": user_id_from(r),   # who the end user is
    },
)
[FAQ]

Isn't this just observability?

Observability tells you where agents fail and hands you the shovel. Vesta names the specific change to make, then measures what it did to task completion. It is optimisation, not a dashboard — analysis of the surface, not the agent. It sits on top of your logs and traces, it does not replace them.

Will the SDK slow my server down?

No. It wraps your tools/call handler and exports asynchronously over OpenTelemetry. It is fail-open: if Vesta breaks, your server keeps serving.

What happens to my data?

You decide what gets captured, and redaction runs in your own process before anything leaves it.

Which servers are supported?

Python, both the official mcp SDK and FastMCP, and TypeScript on the official MCP SDK. OpenTelemetry underneath, over stdio, streamable HTTP or SSE.

Agents are already deciding whether to come back.