Your app already knows its actions. Laygent exposes them to AI agents. Laygent automatically generates MCP tooling and semantic interfaces from your app's components, actions, and state. So agents can interact natively — not through browsers.
laygent@cli:~
$ npm install laygent
$ laygentify
✓ scanning components...
✓ extracting actions...
✓ generating MCP tools...
✓ generating semantic runtime...
✓ generating permissions...
✓ agent interface ready.
$ Components + Actions + State
↓
→ Your existing application
→ Laygent reads your app's runtime structure
→ Laygent builds a secondary machine-native interaction layer
→ Structured tools, permissions, and relationships for agents
→ Agents interact natively through tools, not UI
</>
Define Once
Wrap actions, state, and components in your app as usual.
⚡
Auto Generate
Laygent generates MCP tools, schemas, and tool graphs.
⛨
Secure by Default
Permissions, access control, and audit logs built-in.
>_
Agent Ready
Agents interact through semantic tools, not brittle browsers.
> Laygent creates a secondary machine-native interaction layer on top of existing applications.
// 01 the problem
Stop forcing agents to use software through pixels. Two stacks. One is duct tape pretending to be infrastructure. The other is a runtime.
// today — agent automation
[1] AI Agent×
↓
[2] Playwright×
↓
[3] DOM Parsing×
↓
[4] OCR / Screenshots×
↓
[5] Button Clicking×
↓
[6] Breaks Constantly×
↯ collapses on every UI change
// laygent — agent-native runtime
[1] AI Agent●
↓
[2] Semantic Actions●
↓
[3] Generated MCP Tools●
↓
[4] Direct App Runtime Access●
↓
[5] Reliable Execution●
✓ deterministic, typed, permissioned
> Agents do not want pixels.
> They want actions, state, permissions, and workflows. // 02 developer api
One declaration. One tool. Zero selectors. Wrap an action once. Laygent produces a typed, permissioned MCP tool any agent can call.
actions/refund.ts
agent.action("approve_refund", {
input: RefundSchema,
permissions: ["admin"],
handler: approveRefund,
}) // generated tool
approve_refund(refund_id)// instead of
page.click("#approve")// 03 philosophy
Browser automation is temporary infrastructure. AI agents are not humans. They should not interact with software like humans do.
// agents should NOT depend on
× pixels× screenshots× DOM trees× brittle selectors× fake mouse clicks// agents should interact through
✓ semantic actions✓ state✓ workflows✓ permissions✓ structured runtime interfaces// 04 pitch
Problem
Agents break because software was built only for humans.
Solution
Laygent generates agent-native interfaces from existing apps.
Market
Every SaaS product will eventually need an AI interaction layer.
Wedge
Start with React/Next.js internal tools and SaaS dashboards.
Vision
React components become executable agent tools.
// ready when you are
$ laygentify your app npm install laygent · MIT · zero runtime config
laygent — the semantic runtime for AI-native software.