Skip to main content
Glama

MAGI is a high-performance, task-based AI orchestrator designed to bring structure, persistence, and specialized intelligence to autonomous development. It operates as a bridge between your preferred AI models and your local environment, functioning simultaneously as a powerful interactive CLI and a background Model Context Protocol (MCP) server.

🌟 Why MAGI? (Key Benefits)

  • Professional Interactive UI: Inspired by Claude Code, featuring dimmed reasoning for better focus, real-time action spinners, and clean result boxes.

  • Hybrid Power: Use it directly in your terminal for dedicated focus, or annex it to your favorite AI client (Gemini CLI, Claude Desktop) via MCP.

  • Persistent Orchestration: Unlike standard chat interfaces, MAGI manages its own state in a local .magi directory, including progress logs, activity history, and strict Guardrails (Signs) to prevent AI loops.

  • Native SDK Integration: Fast and secure connections to official Google Gemini, Anthropic Claude, and OpenAI SDKs. No middleman proxies.

  • Zero-Touch Automation: Registration and skill installation happen automatically. Just install and start orquestrating.


Related MCP server: Agentic Control Framework (ACF)

📦 Installation

Install MAGI Orchestrator globally via npm to get the magi command:

# Official installation
npm install -g magi-orchestrator

Note: The automatic registration script (postinstall) will detect your Gemini CLI and Claude Desktop configurations and inject the MAGI server/skill automatically.


🚀 How it Operates (Quick Start)

Run tasks directly from your terminal with rich, stylized feedback.

# Execute a task iteration interactively
magi run "build-auth-layer"

Option 2: The "Annexed" Mode (Skill Injection)

Open your Gemini CLI and use the native skill:

/magi fix-login-bug MAGI will run in the background and report progress directly in your chat session.


⚙️ Configuration

MAGI looks for a magi-config.json file in your project directory. If not found, it uses sensible defaults.

{
  "agents": [
    {
      "name": "gemini-flash",
      "type": "gemini",
      "model": "gemini-2.0-flash"
    },
    {
      "name": "claude-sonnet",
      "type": "claude",
      "model": "claude-3-5-sonnet-20241022"
    }
  ],
  "defaultAgent": "gemini-flash",
  "stateDirectory": ".magi"
}

🔑 Authentication

Set your API keys as environment variables:

  • GEMINI_API_KEY, ANTHROPIC_API_KEY, OPENAI_API_KEY.


🛠 Operation Mechanics: The .magi Directory

MAGI keeps your project context clean by orchestrating everything inside the .magi folder:

  • progress.md: Tracking success criteria and current status.

  • guardrails.md: Active "Signs" learned from previous failures to guide the AI.

  • activity.log: Detailed history of every decision and action.


🛠 Available CLI Commands

Command

Description

magi run <task>

Start/Continue a task iteration interactively.

magi setup

Manually trigger auto-registration in AI clients.

magi serve

Start the MCP server (STDIO).

magi --version

Report the current version (v1.2.1).


Available Tools

2 tools
get_magi_statusA

Retrieve MAGI runtime status, default agent, available agent adapters, and resolved state directory.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided. Description defines what is retrieved but does not disclose side effects, authentication needs, or rate limits. It implies a read-only operation but doesn't state it explicitly.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence listing items concisely with no redundancy. Every word adds information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a parameterless status tool with no output schema, the description adequately explains what will be returned. Could be improved by noting it's a read-only operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

No parameters exist, so schema coverage is complete. The description adds value by enumerating the specific information retrieved (runtime status, default agent, adapters, state directory), which is not in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states the tool retrieves MAGI runtime status, default agent, available adapters, and state directory. It clearly distinguishes from the sibling 'run_magi_iteration' which executes iterations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit when-to-use or alternatives, but the sibling name 'run_magi_iteration' implies this is for inspection while that is for action. Lacks guidance on prerequisites or context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

run_magi_iterationA

Execute one MAGI iteration for a task using agentName when provided, otherwise the configured default agent.

ParametersJSON Schema
NameRequiredDescriptionDefault
taskNameYesName of the task to run
agentNameNoOptional agent adapter name (gemini-cli, claude, openai, ollama)

TDQS

A4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided. Description only says 'execute' without specifying side effects, return value, or whether it blocks. Lacks behavioral depth.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, no fluff. Front-loaded with action and resource.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Simple tool with no output schema. Covers purpose and param semantics well, but could mention result or side effects for full completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers both params with descriptions. Description adds value by explaining fallback behavior for agentName (uses default if omitted).

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states it executes one MAGI iteration for a task, with optional agent override. Sibling get_magi_status is for status, so this tool is distinct.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Implied usage: use to run an iteration, not to check status. No explicit when-not or alternatives, but context with sibling tool makes it clear enough.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 2 tool updatesv1.2.4
    • First observedget_magi_status
    • First observedrun_magi_iteration

TDQS

A3.9/5.0
Disambiguation5/5

get_magi_status and run_magi_iteration have clearly distinct purposes: one retrieves runtime status, the other executes an iteration. No overlap or ambiguity.

Naming Consistency5/5

Both tools follow a consistent verb_noun pattern: get_magi_status and run_magi_iteration, using snake_case throughout.

Tool Count3/5

With only 2 tools, the server feels thin for an 'Orchestrator' concept. However, the tools cover basic status and execution, so it is borderline appropriate.

Completeness2/5

The tool surface lacks many expected operations for an orchestrator, such as agent management, task listing, or configuration. Significant gaps exist.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    A
    maintenance
    Autonomous spec-to-product coding-agent CLI. Its MCP server exposes 34 tools over stdio: project state and task-queue ops, memory retrieve/store, code search, quality and verification reports, repo hotspots/co-changes, and structured findings/learnings.
    1,737
    1,054
    Business Source 1.1
  • A
    license
    Not graded
    quality
    B
    maintenance
    Orchestrates and controls multiple AI agent CLIs (Claude-Code, Gemini-cli, etc.) via a unified MCP server, enabling complex multi-agent missions with shared memory and HTTP singleton architecture.
    521
    2
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/reaper1067MSX/MAGI'

If you have feedback or need assistance with the MCP directory API, please join our Discord server