Your AI editor, connected to Rylvo
Connect Claude Code, Cursor, Windsurf, Zed, or any function-calling AI to Rylvo via MCP or OpenAPI. Your editor gains 30 tools to create and manage bots, prompts, guardrails, skills, and more — all scoped to your org.
Works with the editors you already use
Natural-language control plane
Your editor becomes a Rylvo operator. Create bots, tune prompts, configure guardrails, and wire up MCP servers by describing what you want — no context-switching to the dashboard.
OAuth 2.1 + PKCE, by default
MCP-native clients trigger the browser flow automatically. Access tokens are short-lived RS256 JWTs bound to a single org. Refresh tokens rotate on every exchange.
Org-scoped on every call
Every tool invocation re-verifies the token's org_id against the target resource. A leaked token can never reach another tenant — the 403 lands before the query runs.
One command to 30 tools
From install to first natural-language build in under a minute. No tokens to paste, no API keys to rotate.
Run install
one command in your editor
OAuth opens
browser redirects to Rylvo
Token issued
RS256 JWT · 1 hr TTL
30 tools ready
scoped to your org
Build in NL
bots, prompts, skills…
MCP-native install, one command
OAuth is handled automatically. Pick your editor, copy the line, and your browser does the rest.
Claude Code
RecommendedOne command — browser opens for OAuth automatically.
claude mcp add rylvo https://api.rylvo.com/mcp
30 tools your AI can call, scoped to your org
Read, write, and delete across every Rylvo primitive — plus three macro tools that compose common multi-step operations.
| Resource | Read | Write | Delete |
|---|---|---|---|
| Bots | bots.list, bots.get | bots.create, bots.update | bots.delete |
| Prompts | prompts.list, prompts.get | prompts.create, prompts.update | prompts.delete |
| Guardrails | guardrails.list, guardrails.get | guardrails.create, guardrails.update | guardrails.delete |
| MCP Servers | mcp_servers.list | mcp_servers.register | mcp_servers.delete |
| Workflows | workflows.list | workflows.create | workflows.delete |
| Skills | skills.list | skills.create | skills.delete |
| Knowledge Base | kb.list_connections | kb.create_connection, kb.add_source | — |
scaffold_bot_from_descriptionOne call: bot + system prompt + starter guardrail from a natural-language brief.
clone_botDuplicates a bot; deep_copy_resources=true also copies linked prompts and guardrails.
attach_mcp_serverRegisters an external MCP server, writes its tool list, and links it to bots in one call.
Not using MCP? Use function-calling
OpenAI Responses, Google Gemini, Moonshot Kimi, and any tool-using LLM can ingest the spec at /openapi.json and gain typed tools for every Rylvo endpoint.
Same auth, same org-scoping, same 30-plus capabilities — just served in the shape your model already speaks.
import httpx, openai
spec = httpx.get("https://api.rylvo.com/openapi.json").json()
# map operations → function tools, pass to
# client.responses.create(tools=[...])Manual OAuth 2.1 + PKCE, for CLI agents
Build your own MCP or API client? Here's the full flow — PKCE S256 is required in production.
Register your client (one-time)
curl -X POST https://api.rylvo.com/oauth/register \
-H 'Content-Type: application/json' \
-d '{"client_name":"my-cli","redirect_uris":["http://localhost:8765/callback"],"token_endpoint_auth_method":"none"}'Response includes client_id — no secret needed for PKCE public clients.
Open authorize URL in the browser
https://api.rylvo.com/oauth/authorize ?response_type=code &client_id=<your-client-id> &redirect_uri=http://localhost:8765/callback &scope=rylvo:read+rylvo:write &code_challenge=<S256 of verifier> &code_challenge_method=S256
After consent, the user is redirected to your redirect_uri with ?code=…
Exchange code for tokens
curl -X POST https://api.rylvo.com/oauth/token \ -d grant_type=authorization_code \ -d client_id=<id> \ -d code=<code> \ -d redirect_uri=http://localhost:8765/callback \ -d code_verifier=<verifier>
Returns access_token (1 hr) + refresh_token. Use as Authorization: Bearer {token}.
Refresh (tokens rotate)
curl -X POST https://api.rylvo.com/oauth/token \ -d grant_type=refresh_token \ -d client_id=<id> \ -d refresh_token=<rfr-token> \ -d org_id=<your-org-id>
Refresh tokens rotate on every exchange — always store the new one.
Short-lived, org-scoped, auditable
Every access token is a narrowly-scoped JWT. Every call is logged. Every refresh rotates.
RS256 JWT
Asymmetric signing. Public JWKS for verification without sharing secrets.
1-hour TTL
Access tokens expire quickly. Leaked tokens become useless within the hour.
PKCE S256
Public clients — no embedded secrets. Plain challenges rejected in production.
Org-scoped
Every tool call re-verifies the token's org_id against the resource being touched.
Questions about Build Intelligence
Everything you need to know before your AI editor makes its first Rylvo call.
Which AI editors are supported?
Claude Code, Cursor, Windsurf, Zed, and Codex CLI are first-class MCP clients with OAuth handled automatically. Any other function-calling model — OpenAI Responses, Google Gemini, Moonshot Kimi, or open-source tool-using LLMs — can connect via the OpenAPI 3.1 spec.
How is authentication handled?
OAuth 2.1 with PKCE (S256 only in production). MCP-native clients open the browser flow automatically on first install. Access tokens are RS256 JWTs with a one-hour TTL, bound to exactly one org. Refresh tokens rotate on every exchange.
Is every call scoped to my org?
Yes. Every JWT carries an org_id claim that is re-verified on each request against the resource being touched. A token that leaks cannot reach another tenant — the middleware returns 403 before the handler even runs.
Can I connect without MCP?
Yes. The OpenAPI 3.1 spec at /openapi.json documents every endpoint. Point your model's tool loader at it and you get typed function-calling across the entire Rylvo API.
What do the 3 macro tools do?
They compose frequent multi-step operations. scaffold_bot_from_description creates a bot plus system prompt plus starter guardrail from a brief. clone_bot duplicates a bot and optionally its linked resources. attach_mcp_server registers an external server, writes its tool list, and links it to bots — all in one call.
Ready to hand your editor the keys to Rylvo?
Install once. OAuth handles itself. Your AI gets 30 tools scoped to your org, with every call signed, auditable, and short-lived.
