JSR

Build your own
Cursor
with Zypher

A few lines of code to create powerful AI agents. Connect any MCP server, choose your LLM provider, and start building.

deno add jsr:@corespeed/zypher
main.ts
import { AnthropicModelProvider, createZypherAgent } from "@corespeed/zypher";import { createFileSystemTools } from "@corespeed/zypher/tools";import { eachValueFrom } from "rxjs-for-await";const agent = await createZypherAgent({  modelProvider: new AnthropicModelProvider({    apiKey: Deno.env.get("ANTHROPIC_API_KEY")!,  }),  tools: [...createFileSystemTools()],  mcpServers: ["@modelcontextprotocol/sequentialthinking-server"],});// Run task with streamingconst taskEvents = agent.runTask(  "Implement authentication middleware",  "claude-sonnet-4-20250514",);for await (const event of eachValueFrom(taskEvents)) {  console.log(event);}

Everything you need to build AI agents

A minimal yet powerful framework for creating AI agents with full control over tools, providers, and execution flow.

True Agent, Not Workflow

A reactive execution loop where the agent decides each next step via LLM reasoning — no predefined workflow paths required.

Extensible Interceptor Pipeline

A post-reasoning pipeline with built-in tool execution, error handling, and token controls, plus support for custom interceptors.

Rich Tools + MCP Protocol

A comprehensive tool system for file ops, execution, vision, and documents, with MCP protocol support for unlimited extensibility.

Model & Provider Agnostic

Works with Anthropic Claude, OpenAI GPT, and more models through a unified interface — with native support for each provider's unique features.

Multi-Agent Architecture

Break complex tasks into subtasks handled by specialized sub-agents — with automatic context sharing and coordinated handoffs.

Token-Efficient by Design

Load only what's needed into context. On-demand skill loading, programmatic tool use that keeps intermediate results out of context, and prompt caching — minimal tokens, maximum efficiency.

Ready to build your first agent?

Read the documentation