Convilyn developers

Author SDK

Extend Convilyn with your own tools.

Build tool servers the platform runs — the gateway calls back into your tools over HMAC-signed requests. Workflow authoring lives in the chat Builder. Python is the supported SDK today; TypeScript is in pre-release.

The Author SDK is for code that extends Convilyn. Just calling the API? That's the Consumer SDK. The two are separate packages so the consumer SDK stays lightweight — authors pull in server-side dependencies that API callers don't need.

Pick your language

What you build with it

SurfaceWhat it does
Tool serverWrap any code as a Convilyn tool — a typed schema is the single source of truth for the manifest, handler args, and runtime validation
RuntimeA JSON-RPC /mcp server (/health, /manifest, HMAC-verified POST /mcp) — the same wire contract in every language, interchangeable behind the same gateway
Developer Portal clientRegister + publish your own tool servers via the Developer Portal (cvl_ key) — workflows are authored in the chat Builder
Confirmation tokensSign / verify human-confirmation handshakes, byte-compatible across languages

The shape of a tool

A tool returns { ref_id, summary } so the agent's context stays small and fetches the full payload by reference later. Declaring one tool and serving it looks like:

from convilyn_author import ToolServer, ToolResult
 
server = ToolServer(name="echo-server", description="demo")
 
@server.tool(description="Echo the input text back.")
async def echo(text: str) -> ToolResult:
    return ToolResult.ok({"echoed": text}, f"Echoed {len(text)} chars")
 
if __name__ == "__main__":
    server.run()

TypeScript SDK is in pre-release — see its reference section. Go SDK is coming soon.

Reference

Ship it

Once your tool server is built, host it anywhere HTTPS-reachable. The Deployment guide walks through the three supported targets — containerized Lambda, Fargate, and any VM — plus the HMAC contract the gateway uses to call you.