Getting Started
This guide walks through local setup, environment configuration, MCP setup, and how to run each interface.
Prerequisites
- Python 3.10+
- uv
- Docker (optional, for container runs)
Install dependencies
User installation (core only)
uv sync
Optional components (from project root)
- CLI:
uv sync --extra cli - API:
uv sync --extra api - Chat UI:
uv sync --extra chat - Home Assistant integration:
uv sync --extra ha - Tools bundle:
uv sync --extra tools - Everything optional:
uv sync --all-extras
Developer installation (all components + dev/test/docs)
uv sync --all-extras --all-groups
Git hooks (recommended)
Use the repo hook set to enforce commit message format and block pushes that fail linting/tests.
Install the repo-managed hooks:
git config core.hooksPath scripts/githooks
Optional: enable pre-commit hooks if you use pre-commit locally:
make precommit-install
Commit message format:
<emoji> <verb>(<scope>): <message>
Pre-push runs:
scripts/ci/check.sh(ruff format/check, mypy, pytest)
Configuration setup
- If configs are missing, run
/config init,/mcp init, or/initfrom the CLI to scaffold examples. - Use only JSON configs under
configs/:configs/app.json(runtime + LLM + integrations)configs/mcp.json(MCP servers)configs/*.example.jsonare templates for new installs
- Update
configs/app.jsonwith your runtime settings:llm.api_keyandllm.api_base(required)llm.default_modeland/orllm.action_plan_model- Optional:
llm.tool_modelfor tool execution (falls back toaction_plan_model, thendefault_model) runtime.session_dir(optional, for transcript storage)
- If you use an OpenAI-compatible base URL and your model name has no provider
prefix, Meeseeks will call
openai/<model>automatically.
MCP setup (auto-discovery)
MCP tools are auto-discovered from configs/mcp.json.
- Set each MCP server
urland anyheadersneeded for auth. - Start any interface once; a tool manifest is auto-generated and cached under
~/.meeseeks/.
Optional components
- Langfuse: set
langfuse.enabled+ keys inconfigs/app.json. - Home Assistant: set
home_assistant.enabled+ credentials inconfigs/app.json.
CLI approval UI
- Default approval prompts render as a Rich panel with padded, dotted borders.
- Use
/automaticor--auto-approveto bypass prompts when appropriate.
Run interfaces (local)
- CLI:
uv run meeseeks - API:
uv run meeseeks-api(oruv run python -m meeseeks_api.backend) - Chat UI:
uv run meeseeks-chat - Home Assistant integration: install
meeseeks_ha_conversation/as a custom component and point it at the API.
Docker (optional)
- Build images using
docker/Dockerfile.apianddocker/Dockerfile.chat. - Mount
configs/app.json(andconfigs/mcp.jsonif you use MCP). - Persist
data/sessionsif you want transcripts across restarts.
Docs (optional)
If you want to build the docs locally:
uv sync --all-extras --group docs
uv run mkdocs serve