Open Source · MIT License · Local-first

Build Vertical AI Agents
Without the Bloat.

A lean agent core you fork, specialize, and ship. Add domain tools, set a role — get a purpose-built agent in days, not months. Works with Anthropic, OpenAI, OpenRouter, and Ollama.

01 / Install
$ curl -fsSL https://raw.githubusercontent.com/ysz7/majestic-agent/main/scripts/install.sh | bash
02 / Setup
$ majestic setup
Majestic Agent
core — any task, any model
majestic ❯ Parse the PDF and write a summary ◆ claude-sonnet-4-6 · 8 tools ready   file_parser · report_q3.pdf · 42 pages python_exec · extracting text... files · summary.md written · 1,240 chars   ✓ Done · 3 tool calls · $0.002 · 4.1s majestic ❯
vertical — finance_bot
pain_hunter ❯ Scan HN for SaaS pain points this week ◆ Role: Market Research Analyst · skills loaded   web_search · site:news.ycombinator.com pain 2026 web_fetch · extracting 14 pain signals... python_exec · clustered into 3 themes   ✓ Done · 4 tool calls · $0.003 · 5.2s pain_hunter ❯

8 Built-in Tools + MCP
Local-first — Ollama ready
Profile-based — isolated agents
One-command install

The Core.
Nothing More.

Every capability you need for a production agent. Nothing you don't. Fork it, add your domain tools, ship a vertical.

01
Universal Execution

Give it any task in plain language. The agent picks the right tools and executes — no command menus, no boilerplate.

agentic-loop
02
Persistent Memory

Remembers preferences, past sessions, and learned patterns across every conversation and platform.

cross-session
03
Universal Search

One query across indexed docs, news, and all past conversations. Hybrid FTS5 + vector search.

sqlite-vecfts5
04
MCP Integration

Any MCP server becomes agent tools instantly. One config line — no Python code required.

mcpstdiosse
05
Cron Automations

"Every Monday at 9am, brief me on AI news" — plain language scheduling, delivered to any platform.

apscheduler
06
REST API

POST /task, GET /status/{id}, POST /message/{id} — run agents in background, delegate between agents, connect any service.

fastapibackground-mode
07
4 LLM Providers

Anthropic, OpenAI, OpenRouter, Ollama. Per-step routing — reason model, code model, reflection model — configured in persona.yaml.

anthropicopenaiopenrouterollama
08
Profile System

Each agent is a profile — isolated persona.yaml, skills, workspace, and data. Create unlimited agents, each with their own identity and port.

profiles/persona.yaml
09
8 Built-in Tools

web_search, web_fetch, http, files, python_exec, node_exec, file_parser, agent_client — plus any MCP server. Add domain tools with one file in tools/.

built-inmcp
10
Setup & Config CLI

majestic setup — arrow-key wizard with live model list. majestic config <name> — edit any agent interactively.

questionarywizard
11
Self-Improving Agent

Creates skills and scripts from experience, reuses them in future sessions. Gets smarter — zero effort.

skillsscriptsadaptive
+
Your capability
coming soon

8 Built-in Tools.
Plus Any MCP.

Core tools cover the essential 80%. Add MCP servers or drop a file in tools/ — auto-registered, zero config.

web_search Search the web via OpenRouter / Tavily web
web_fetch Fetch and extract content from any URL web
http Generic HTTP requests to any REST API web
files Read, write, list workspace files files
python_exec Execute Python in isolated .venv sandbox exec
node_exec Execute Node.js in isolated sandbox exec
file_parser Parse PDF, DOCX, CSV, XLSX, images files
agent_client Delegate tasks to other background agents core
mcp_{server}_{tool} Any MCP server, auto-wired via registry mcp
majestic/tools/my_tool.py
# drop any file in majestic/tools/   from majestic.tools.registry import tool   @tool def my_tool(query: str) -> str: """Your tool description.""" # your logic here return result   # agent picks it up automatically # no wiring · no config changes needed
Live invocation
majestic ❯ Run my_integration with query="test"
my_integration · running...
└ ✓ returned result in 0.3s

6-Layer Memory.
All SQLite.

No ChromaDB. No separate processes. Six purpose-built SQLite databases per agent — trivial to backup, trivial to move.

Episodic — task history with FTS5 full-text search
Semantic — sqlite-vec vectors + FTS5 fallback RAG
Lessons — extracted principles, FTS5 ranked retrieval
Checkpoints — step-by-step crash recovery per task
profiles/<name>/data/
episodic.db
semantic.db
lessons.db
user_profile.db
checkpoints.db
6 SQLite DBs
episodic · lessonsFTS5
semantic vectorssqlite-vec
user_profileKV
checkpointsrecovery

Two Modes.
One Codebase.

Run interactively in the terminal or as a background HTTP server — same agent, same memory, different channel.

CLI Foreground
Rich terminal UI, reads stdin, prints with live formatting
Background Daemon
Spawned subprocess, runs as an isolated agent process
REST API
POST /task · GET /status/{id} · POST /message/{id}
Multi-Agent
Agents delegate tasks to each other via agent_client
stdin → CLIChannel────────┐
POST /task → ServerChannel─────┤── majestic → LLM
agent_client → Agent────────┘

Built on Majestic.

Included example profiles. Each is a self-contained persona.yaml — swap role, tone, restrictions, and tools.

Research
pain_hunter

Hunts market pain points. Searches the web, fetches pages, runs analysis scripts, produces structured reports.

web_search web_fetch python_exec
Content
writer

Long-form content writer. Researches topics, drafts articles, saves structured output to the workspace.

web_search files file_parser
Intelligence
world_intel

World intelligence monitor. Tracks geopolitics, economics, and tech — synthesises daily briefings from live sources.

web_search web_fetch http
Sales
sales_agent

B2B sales manager "Alex". Qualifies leads, handles objections, steers prospects toward demos and proposals.

web_search http files

Get Started

Start Running
Majestic.

One command. Everything configured. 60 seconds to your first task.