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; the TypeScript SDK is not published yet.

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 & Go SDKs are 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.