Compare
Copilotz vs LangChain.js
LangChain.js is a mature agent framework with hundreds of integrations. Copilotz is a young runtime that puts the app first. Here's where each fits, with a source for every claim.
Checked on 12 November 2026.
In short
LangChain.js is the JavaScript side of LangChain: an agent framework (createAgent, tools, middleware) built on LangGraph.js, a runtime for stateful graphs, with hundreds of integrations. Both reached 1.0 in October 2025 and are MIT-licensed. LangSmith, the company's commercial service, adds tracing, evals and hosted deployment.
Copilotz starts from the app rather than the agent. You write the app's data and Actions once, with who may call them and rules at the data. People use it on the web, the app's agents call the same Actions through tools, and outside assistants call them over MCP. Every write lands on one record of who did what, for whom and where.
Pick LangChain.js for retrieval-heavy agents, wide integrations or LangSmith. Pick Copilotz when your agent is one caller of an app that people also use, and you want access and the record kept by the runtime.
Choose LangChain.js if…
- You need many integrations: hundreds of model providers, tools, vector stores and document loaders behind common interfaces.
- Retrieval is central to what you build, and you want vector stores, retrievers and loaders that are already there.
- You want explicit, stateful workflows as graphs, with checkpoints you can resume.
- You want a stable 1.x API, wide adoption (about 4 million weekly npm downloads of langchain) and LangSmith for tracing, evals and hosted deployment.
- Your team also works in Python, where LangChain has the same concepts.
Choose Copilotz if…
- People use the app as well as agents, and every change should be one Action that the page, your agent and MCP all call.
- You want per-user access rules in the open-source runtime, checked at the data for every caller.
- You want one record of who did what, for whom and where, for every write.
- You want WhatsApp, voice, MCP with widgets and a chat on your site as plugins, not integrations you assemble.
- You want offline tests of the whole app with a scripted model, and a release candidate is fine for you.
Side by side
Each claim links to its source. Numbers move: these were read on 12 November 2026.
| Dimension | Copilotz | LangChain.js |
|---|---|---|
| What it is | Copilotz:A runtime for apps that people and AI use alike. You write the app once, as plugins: its data, its Actions, who may call them, and how it shows.[1] | LangChain.js:An agent framework: createAgent runs a model, tools and middleware on LangGraph.js, a low-level runtime for stateful graphs. Integrations ship as separate packages.[2][3] |
| Runs on | Copilotz:Node 24 or later, Deno and Bun. Built on web standards, for Cloudflare Workers and the browser too.[1][4] | LangChain.js:Node.js (20, 22 and 24, in ESM and CommonJS), Cloudflare Workers, Vercel and Next.js, Supabase Edge Functions, the browser, Deno and Bun.[5] |
| Agents, tools and workflows | Copilotz:Agents are settings: instructions, a model and tools. A tool is a thin caller of an Action, the same one the web page and MCP call. Processors react to events; schedules and routines run work on a timer.[1][4] | LangChain.js:createAgent, the tool() helper with Zod schemas, and middleware around model and tool calls. Workflows are LangGraph graphs of state, nodes and edges.[3][6][7] |
| Memory | Copilotz:The history plugin summarizes long chats; the memory plugin remembers across them, by meaning with an embeddings model, or by words without one.[4][8] | LangChain.js:Short-term memory per thread, kept by a checkpointer; long-term memory in a store.[9] |
| MCP (client and server) | Copilotz:Server: the mcp plugin offers the app's tools to ChatGPT, Claude and any MCP client, and draws its web Views inside them as widgets. No MCP sign-in yet: each conversation comes in as a contact. Client: not offered; the docs don't use outside MCP servers as tools.[4][10][11] | LangChain.js:Client: MCPAdapter (@langchain/mcp-adapters) turns an MCP server's tools into LangChain tools. Server: not in the open-source libraries; LangSmith Agent Server, a paid product, can expose deployed LangGraph agents as MCP tools.[12][13] |
| Auth and access rules | Copilotz:Built in, under MIT. Every call names who acts, for whom and where. Each Action says who may call it (allow), asked of an agent and of whom it works for. Rules at the data filter every read and check every write, whatever the way in.[1][4] | LangChain.js:Human approval of tool calls, through middleware. Per-user authorization is your code (for example, filtering tools by role in middleware); custom auth is part of the paid Agent Server, not the open-source library.[14][15][16] |
| Persistence | Copilotz:One store for everything: in memory, SQLite or PostgreSQL, held to one conformance suite. Moving between them changes one line.[17] | LangChain.js:Checkpointers for SQLite, PostgreSQL, MongoDB and Redis, and stores such as PostgresStore, MongoDBStore and RedisStore, each a separate package.[18][19] |
| Observability | Copilotz:Every write and Action call is an event naming who acted, for whom and where. Metrics follow OpenTelemetry's model, exported over OTLP or as Prometheus text.[4][20] | LangChain.js:LangSmith tracing, turned on with environment variables; LangSmith also takes OpenTelemetry traces. LangSmith is a commercial service with a free tier.[21][22][23] |
| Testing | Copilotz:The whole app, tested offline with a scripted model and a manual clock, and no API key. copilotz/testing is one test API for Node, Deno and Bun.[1][4] | LangChain.js:fakeModel scripts exact responses (text, tool calls, errors) for unit tests; agentevals and LangSmith for evaluations.[24][25] |
| Deployment | Copilotz:You host it: a Node web host and a store from the environment, SQLite or PostgreSQL, with a lease so a deploy hands over without two writers.[26] | LangChain.js:Anywhere JavaScript runs (Next.js, SvelteKit, Cloudflare Workers, Deno Deploy…), or LangSmith Agent Server: cloud, hybrid or self-hosted, on paid plans.[23][27][28] |
| Channels | Copilotz:A web page, a terminal, a REST API and client, MCP with widgets, WhatsApp (Meta's Cloud API), voice calls (Twilio) and a chat on your site.[4] | LangChain.js:None built in. Voice is a documented pattern (speech to text, an agent, text to speech); Slack, Teams and Gmail channels are part of LangSmith Fleet, a commercial product.[29][30] |
| License | Copilotz:MIT.[4] | LangChain.js:MIT, for both LangChain.js and LangGraph.js. LangSmith is commercial.[5][23][31] |
| Maturity | Copilotz:A release candidate: 1.0.0-rc.45, on 12 November 2026. 1.0 isn't out yet. A young project with a small community.[32] | LangChain.js:Stable 1.x since October 2025, with a semver policy; langchain 1.6.5 and @langchain/langgraph 1.7.4 in November 2026. About 18,300 GitHub stars (and 3,400 for LangGraph.js), and 4 million npm downloads a week for langchain.[5][31][33][34][35] |
| Ecosystem | Copilotz:Model providers through four protocols (OpenAI, OpenAI-compatible, Anthropic and Gemini). Its own plugins for sign-in, spaces, memory, skills, routines, boards, documents and billing. Few outside integrations so far.[4][36] | LangChain.js:Hundreds of integrations across model providers, tools, vector stores and document loaders; LangChain for Python with the same concepts; built by LangChain Inc.[31][37][38] |
A tool, in each
LangChain defines a tool as a function with a schema and hands it to createAgent. In Copilotz, the tool calls an Action, the same one the web page and MCP call, under the same rules.
import { createAgent, tool } from "langchain";import * as z from "zod"; const getWeather = tool( (input) => `It's always sunny in ${input.city}!`, { name: "get_weather", description: "Get the weather for a given city", schema: z.object({ city: z.string().describe("The city to get the weather for"), }), }); const agent = createAgent({ model: "claude-sonnet-4-6", tools: [getWeather],}); console.log( await agent.invoke({ messages: [{ role: "user", content: "What's the weather in San Francisco?" }], }));
// From the README's salon.ts: one Action, three callers (excerpt).actions: { "booking.make": defineAction({ input: booking, // Asked of every caller, tools included: people, agents working for them, and contacts. allow: peopleOrContacts, run: (ctx, input) => ctx.db.collection("booking").insertOne(input), }),},views: { // What a model reads after it books, the app's own or one over MCP. "tool:book": (_, ctx) => ctx.show("bookings", {}),},resources: { // The rules: a booking lives in a space, and belongs to the chat it was made in. shared: { booking: { part: "thread" } }, tools: { book: tool({ description: "Books a slot, like 'Wed 15:00'.", input: { type: "object", properties: { slot: { type: "string" } }, required: ["slot"] }, run: ({ slot }, ctx) => ctx.call("booking.make", { slot, in: ctx.in, thread: ctx.thread }), }), }, agents: { concierge: { instructions: "Book slots.", model: "openai/gpt-5.4-mini", tools: ["book"] }, }, // An MCP server at /mcp/salon. No sign-in: each conversation is a contact, in its own chat. mcp: { salon: { in: "desk", tools: { book: {} } } },},
Sources
What we say about LangChain.js comes from its own docs, repository, npm and announcements; what we say about Copilotz, from its docs and repository. Something wrong or out of date? Write to hello@copilotz.com and we'll fix it.
- [1]copilotz.com: AGENTS.md
- [2]docs.langchain.com: LangChain overview (JS)
- [3]docs.langchain.com: LangGraph overview (JS)
- [4]GitHub: copilotzhq/copilotz (README)
- [5]GitHub: langchain-ai/langchainjs
- [6]docs.langchain.com: Tools
- [7]docs.langchain.com: Middleware
- [8]copilotz.com: the memory plugin
- [9]docs.langchain.com: Persistence
- [10]copilotz.com: the mcp plugin
- [11]copilotz.com: Getting Started
- [12]docs.langchain.com: MCP
- [13]docs.langchain.com: MCP endpoint in Agent Server
- [14]docs.langchain.com: Human in the loop
- [15]docs.langchain.com: Context engineering
- [16]docs.langchain.com: Custom auth
- [17]copilotz.com: Stores
- [18]docs.langchain.com: Checkpointers
- [19]docs.langchain.com: Stores
- [20]copilotz.com: Metrics
- [21]docs.langchain.com: Observability
- [22]docs.langchain.com: Trace with OpenTelemetry
- [23]langchain.com: Pricing
- [24]docs.langchain.com: Unit testing
- [25]docs.langchain.com: Evals
- [26]copilotz.com: Shipping the salon
- [27]docs.langchain.com: Deploy
- [28]docs.langchain.com: LangSmith deployment
- [29]docs.langchain.com: Voice agent
- [30]docs.langchain.com: Fleet channels
- [31]GitHub: langchain-ai/langgraphjs
- [32]GitHub: Copilotz releases
- [33]docs.langchain.com: Versioning
- [34]npm: langchain
- [35]npm: langchain downloads, 5–11 Nov 2026
- [36]copilotz.com: the models plugin
- [37]docs.langchain.com: Integrations
- [38]docs.langchain.com: LangChain for Python
See it for yourself.
The guide builds one app, for people and for AI, in ten chapters, and its tests run offline.
Read the guide