Metis documentation

Get from zero to a working AI development environment.

Metis is a CLI for scaffolding and evolving local AI development environments for RAG, Agents and MCP.

Think of Metis this way:

Recipes create environments. Capabilities extend them. Dry-run previews them. Inspect explains them. Doctor validates them.

Install

For local development from the Metis repository:

python3.12 -m venv .venv
source .venv/bin/activate
python -m pip install -e .

Once Metis is published to PyPI or Homebrew, replace this with the public installation command.

Quick start

Preview a RAG project before creating anything:

metis init rag --name demo --dry-run

When the plan looks right, create an Agent environment:

metis init agent

Start the generated project:

cd my-agent
cp .env.example .env
docker compose up --build

Understand and validate it:

metis inspect
metis doctor

Create a RAG environment

metis init rag

Choose a vector DB, LLM, embedding provider and FastAPI framework. Metis scaffolds the environment and starter wiring; you own chunking, retrieval strategy, prompts and domain logic.

Create an Agent environment

metis init agent

Choose LLM provider, runtime, state and framework. Current state options include none or Redis.

Create an MCP server

metis init mcp-server

Generate a minimal Python MCP server using stdio or streamable HTTP, plus a safe example tool.

Core commands

metis init --dry-run

Preview exactly what Metis plans to generate before any filesystem changes are made.

metis init rag --name demo --dry-run

The plan includes the recipe, project name, destination, resolved selections, capabilities and files that would be created.

Metis generation plan

Recipe: rag
Project: demo
Destination: ./demo

Selections:
  vector_db: qdrant
  llm: openai
  embedding: openai
  framework: fastapi

Files:
  CREATE .env.example
  CREATE Dockerfile
  CREATE docker-compose.yml
  CREATE .metis/project.yaml

Dry run only. No files were written.
Read-only by design.

Dry-run does not create the project directory, write generated files, or create .metis/project.yaml.

metis add

Add a capability to an existing Metis-generated project.

metis add rag

Metis inspects what already exists, preserves compatible pieces, adds what is missing, validates the result and updates metadata.

metis inspect

metis inspect

Show the current recipe, selections, capabilities and detected infrastructure.

metis doctor

metis doctor

Check Docker, Compose validity, app health, Qdrant/Chroma, Redis and required provider environment variables when relevant.

Mental model

RecipeComplete environment blueprint

Example: Agent, RAG, MCP.

CapabilityReusable building block

Example: FastAPI, Redis, vector DB.

Dry runPreview before apply

Build and display the generation plan without filesystem mutation.

InspectUnderstand current state

Compare metadata with project evidence.

DoctorValidate local readiness

Check tooling, config and reachable services.

Metis v0.1 scope

  • metis init rag
  • metis init agent
  • metis init mcp-server
  • metis init <recipe> --dry-run
  • metis add rag
  • metis inspect
  • metis doctor
The first release is focused on reliable local scaffolding, planning, composition and diagnostics. Production deployment, enterprise auth and observability are intentionally outside v0.1.