Quickstart — Lightspeed
.redactPII() paths, middleware chains — on the first pass.The SKILL.md teaches the AI the entire framework architecture — MVA pattern, Presenter rules, middleware composition, file conventions. Your job is to define what your server does. The AI's job is to write the code that does it. Works with Cursor, Claude Code, GitHub Copilot, Windsurf, and Cline.
TIP
Explore more at agentskills.io — the Agent Skills ecosystem for distributing domain expertise to AI agents.
Prerequisites
Node.js 18+ required.
npm install @vurb/core @modelcontextprotocol/sdk zodAlready using a project?
If you're adding Vurb.ts to an existing Node.js project — skip to Building Tools.
From Zero to Live
Four commands. Under 40 seconds. Your MCP server on Vinkius Cloud's global edge.
That's it. Four commands. Your server is live. Skip the wizard with --yes for defaults:
vurb create my-api --vector prisma --transport sse --yesPro-Tip:
--vector prismais the fastest way to bridge Prisma to MCP. The Presenter's schema strips internal columns before they ever reach the LLM.
What Just Happened
When you ran vurb deploy, Vinkius Cloud activated 8 security layers — automatically:
TIP
Vurb blocks PII locally by default. Need compliance proof (SOC2/GDPR/HIPAA)? Connect to Vinkius Cloud for tamper-proof Audit Logs →
Zero-Friction AI Integration
vurb create auto-injects SKILL.md into your IDE's rule files — .cursorrules, .windsurfrules, .clinerules. The moment you scaffold, your IDE becomes a framework-expert architect. No manual setup.
What You Get
Every file is real code — not stubs. The server boots, the tests pass, Cursor connects. Your AI agent already knows the conventions — SKILL.md is injected into IDE rules automatically.
Connect Your MCP Client
.cursor/mcp.json automatically.claude_desktop_config.jsonclaude mcp add my-server npx tsx src/server.ts{
"mcpServers": {
"my-server": {
"command": "npx",
"args": ["tsx", "src/server.ts"]
}
}
}{
"servers": {
"my-server": {
"command": "npx",
"args": ["tsx", "src/server.ts"]
}
}
}{
"mcpServers": {
"my-server": {
"command": "npx",
"args": ["tsx", "src/server.ts"]
}
}
}For SSE transport (multi-client, remote): vurb create my-api --transport sse
autoDiscover
Directory structure becomes tool namespace:
Export Resolution
| Priority | What it looks for | Example |
|---|---|---|
| 1 | export default | export default f.query('weather.get').handle(...) |
| 2 | Named tool export | export const tool = f.query(...) |
| 3 | Any exported builder | Scans all exports for getName() |
Multiple tools per file work too — all exported builders are discovered (Priority 3).
Advanced Options
| Option | Default | Description |
|---|---|---|
pattern | /(ts|js|mjs)$/ | Regex filter for file names |
recursive | true | Scan subdirectories |
loader | 'esm' | Module system ('esm' or 'cjs') |
resolve | Priority cascade | Custom export resolver |
Vectors
| Vector | What it adds |
|---|---|
vanilla | autoDiscover() file routing. Zero deps |
prisma | Prisma schema + DB tool stubs + @vurb/prisma-gen |
n8n | N8nConnector — n8n workflows as MCP tools |
openapi | OpenAPI spec → Models/Views/Agents |
oauth | RFC 8628 Device Flow + requireAuth() |
Each vector adds its dependencies to package.json and environment variables to .env.example automatically.
Self-Hosted Alternatives
vurb deploy — global edge, DLP, kill switch.TIP
Install the Vinkius extension to monitor servers from VS Code, Cursor, or Windsurf — live connections, logs, and tool toggling.