DEV Community

Cover image for aimock: Deterministic Mock Infra for AI Apps
Anmol Baranwal Subscriber for CopilotKit

Posted on Originally published at copilotkit.ai

aimock: Deterministic Mock Infra for AI Apps

aimock crossed 2.5M weekly installs!

Here's what it does and what's new

If you've been building AI apps, you've probably hit the same wall: your test suite runs against real LLM endpoints, so every CI run burns tokens, every provider hiccup breaks your build, and every dev on your team needs API keys just to run npm test.

aimock is our fix for that.

It's an open-source mock server for every AI service your app talks to - LLMs, MCP tools, agentic protocols, vector databases, image models, TTS. You write a JSON fixture, point your API URL at localhost, and your tests run offline in milliseconds. Zero tokens, zero flake, deterministic every run.

It just crossed 2.5M weekly installs with 900+ GitHub stars, and it's quietly powering the test suites at OpenClaw, TanStack, Mastra, Composio, the AG-UI protocol and others.

The 3-line setup

1. fixture.json
   { "match":    { "userMessage": "Hello" },
     "response": { "content": "Hi!" } }

2. $ npx aimock -f fixture.json

3. $ export OPENAI_BASE_URL=http://localhost:4010
Enter fullscreen mode Exit fullscreen mode

What you can mock

Out of the box, aimock ships fixtures for:

  • LLMs : OpenAI, Claude, Gemini, Bedrock, Azure, Vertex AI, Ollama, Cohere, OpenRouter

  • Protocols : MCP, A2A, AG-UI

  • Vector DBs : Pinecone, Qdrant, ChromaDB

  • Multimedia : image generation, TTS, transcription, video generation

  • Services : Tavily search, Cohere rerank, OpenAI moderation, ElevenLabs

What's new

Recent releases have focused on making aimock behave less like a stub and more like a real test harness:

  • Record & Replay : capture live API traffic once in development, replay it forever in CI. Your test suite becomes a bit-exact snapshot of what production actually returns.

  • Drift Detection : LLM providers silently change response shapes. aimock catches those changes within 24 hours, so your CI fails before your users do.

  • Chaos Testing : inject latency, timeouts, and error responses on demand. Prove your app handles the messy paths real providers actually produce.

  • First-class MCP + A2A support : mock agentic protocols with the same fixture syntax you'd use for a chat completion.

Getting started

MIT-licensed, open source, from the team at CopilotKit. If you're testing anything that talks to an LLM, aimock belongs in your CI.

Thanks for reading!!

Top comments (0)