Meridian Quickstart

Meridian is a TypeScript agent runtime for Cloudflare Workers. It handles tool calling, conversation state, and security so you can focus on what your agent does.

Create a new agent

bunx @aiconnai/create-meridian my-agent
cd my-agent
bun install

Your first agent

Replace src/index.ts with:

import { MeridianAgent } from "@aiconnai/meridian";

const agent = new MeridianAgent({
  model: "claude-3-5-haiku-20241022",
  systemPrompt: "You are a helpful assistant. Answer concisely.",
  tools: [
    {
      name: "get_time",
      description: "Returns the current UTC time",
      parameters: { type: "object", properties: {}, required: [] },
      execute: async () => ({ time: new Date().toISOString() }),
    },
  ],
});

export default agent.handler();

Run locally

bun run dev

The agent starts on http://localhost:8787.

Send a message

curl -X POST http://localhost:8787/chat 
  -H "Content-Type: application/json" 
  -d '{"message": "What time is it?"}'

Response:

{
  "response": "The current UTC time is 2025-01-15T14:32:00.000Z.",
  "conversation_id": "conv_abc123"
}

Continue the conversation

curl -X POST http://localhost:8787/chat 
  -H "Content-Type: application/json" 
  -d '{"message": "What did I just ask?", "conversation_id": "conv_abc123"}'

Meridian maintains conversation state automatically via Cloudflare Durable Objects.

Deploy to Cloudflare

wrangler deploy

Your agent is now live at https://my-agent.<your-subdomain>.workers.dev.

Next Steps