The open-source AI agent operating system.
Build, run, and extend AI agents that actually get things done.
Website Β· Documentation Β· Contributing Β· Discord
curl -fsSL https://get.teros.ai | bashRequires Docker. Takes ~2 minutes.
Teros is an open-source platform for building and running AI agents with real tool capabilities. Think of it as an operating system for AI β agents live inside it, have access to tools (MCAs), connect to your services, and work for you across tasks.
Unlike chat wrappers, Teros agents are persistent, multi-tool, and autonomous. They can browse the web, write and run code, manage your calendar, send emails, interact with GitHub, deploy to Railway, and much more β all through a clean, extensible architecture.
You talk to an agent β The agent uses tools β Things actually happen
AI personas with a personality, memory, and access to tools. Each agent has its own system prompt, preferred LLM provider, and set of installed apps. You can have multiple agents for different purposes β a coding assistant, a project manager, a research agent.
The tool system. An MCA is a self-contained package that gives agents new capabilities β file system access, email, calendar, databases, APIs. Teros ships with 43 MCAs out of the box and makes it easy to build your own.
Shared environments where agents and apps are organized together. A workspace can have multiple agents collaborating on the same project, with shared context and board-based task management.
LLM backends. Teros supports Anthropic, OpenAI, OpenRouter, Ollama (local), Zhipu, and OAuth-based providers like Claude Max and ChatGPT Pro/Plus (Codex). Each agent can use a different model.
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Teros β
β β
β ββββββββββββββββ WebSocket ββββββββββββββββββββ β
β β Frontend β βββββββββββββ β Backend β β
β β React Nativeβ ββββββββββββ βΊβ Node.js β β
β β (Expo Web) β β WsRouter β β
β ββββββββββββββββ βββββββββ¬βββββββββββ β
β β β
β ββββββββββββββΌββββββββββββββ β
β β β β β
β ββββββΌβββββ ββββββΌβββββ βββββββΌββββββ β
β β MongoDB β β MCAs β β LLM β β
β β β β (tools) β β Providers β β
β βββββββββββ βββββββββββ βββββββββββββ β
β β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
teros/
βββ packages/
β βββ app/ # React Native / Expo frontend
β βββ backend/ # Node.js WebSocket server
β βββ core/ # LLM adapters, conversation engine
β βββ shared/ # Protocol types, Zod schemas
β βββ mca-sdk/ # SDK for building MCAs
β
βββ mcas/ # 43 ready-to-use tool packages
β βββ mca.teros.bash
β βββ mca.teros.filesystem
β βββ mca.teros.memory
β βββ mca.google.gmail
β βββ mca.google.calendar
β βββ mca.github
β βββ mca.notion
β βββ mca.linear
β βββ ... (43 total)
β
βββ docs/ # Architecture, RFCs, runbooks
βββ scripts/ # Build and sync utilities
Teros ships with 43 MCAs across several categories:
Productivity
gmail Β· google-calendar Β· google-drive Β· google-contacts Β· microsoft-outlook Β· notion Β· todoist Β· trello Β· monday Β· linear
Development
github Β· railway Β· sentry Β· docker-env Β· bash Β· filesystem Β· playwright
AI & Media
replicate Β· higgsfield Β· elevenlabs Β· perplexity Β· file-processor
Platform
memory Β· scheduler Β· conversations Β· board-manager Β· board-runner Β· messaging Β· webfetch Β· datetime
Integrations
canva Β· figma Β· intercom Β· homey Β· minio Β· kelify
| Provider | Models |
|---|---|
| Anthropic | Claude 3.5, Claude 3.7, Claude 4 |
| OpenAI | GPT-4o, GPT-5, o3, o4-mini |
| OpenAI Codex | gpt-5.4, gpt-5.3-codex, gpt-5.2-codex, gpt-5.1-codex... |
| OpenRouter | 400+ models |
| Ollama | Any locally installed model |
| Zhipu AI | GLM-4 |
| Gemini 2.5 Pro/Flash | |
| xAI | Grok 3, Grok 3 Mini |
- Docker and Docker Compose
git clone https://github.com/teros-hq/teros.git
cd teros
cp .env.example .env
bash scripts/setup-secrets.sh
docker compose upOpen http://localhost:10002.
# Install dependencies
yarn install
# Build all packages
yarn build
# Start MongoDB
docker compose up -d mongodb
# Terminal 1 β backend (with hot reload)
yarn dev:backend
# Terminal 2 β frontend
yarn dev:appAn MCA is a directory with a manifest.json, a tools.json (auto-generated), and a src/ folder. Each tool lives in its own file. The MCA SDK handles the HTTP transport and connection to the backend automatically.
mcas/mca.my-tool/
βββ manifest.json # Metadata, secrets, availability, runtime config
βββ tools.json # Tool schemas (auto-generated by sync script)
βββ package.json
βββ tsconfig.json
βββ src/
βββ index.ts # McaServer setup, tool registration, server.start()
βββ lib/ # API client, auth helpers, shared utilities
βββ tools/
βββ index.ts # Re-exports all tools
βββ my-tool.ts # One file per tool
βββ other-tool.ts
// src/tools/my-tool.ts
import type { HttpToolConfig as ToolConfig } from '@teros/mca-sdk';
export const myTool: ToolConfig = {
description: 'Does something useful',
parameters: {
type: 'object',
properties: {
query: { type: 'string', description: 'The query to process' },
},
required: ['query'],
},
handler: async (args, context) => {
const { query } = args as { query: string };
// context.getUserSecrets() β fetch API keys configured by the user
return { result: `You asked: ${query}` };
},
};// src/index.ts
import { McaServer } from '@teros/mca-sdk';
import { myTool } from './tools';
const server = new McaServer({ id: 'mca.my-tool', name: 'My Tool', version: '1.0.0' });
server.tool('my-tool', myTool);
server.start();See CONTRIBUTING.md for the full MCA development guide.
| Layer | Technology |
|---|---|
| Frontend | React Native (Expo), Tamagui, Zustand, Expo Router |
| Backend | Node.js, TypeScript, ws, Zod |
| Database | MongoDB 7.0 |
| LLM Core | Custom adapters per provider |
| Infrastructure | Docker, Docker Compose |
| Monorepo | Yarn Workspaces |
Teros is open source and contributions are welcome.
# Fork, clone, create a branch
git checkout -b feat/my-feature
# Make changes, test locally
yarn dev:backend
# Submit a PRSee CONTRIBUTING.md for guidelines, code style, and how to build and submit new MCAs.
FSL-1.1-Apache-2.0 β free for personal and non-commercial use. Converts to Apache 2.0 on the second anniversary of each release.