MIDAS

MIDAS

Local-first AI agent for approval-gated automation and verifiable LLM workflows.

Category
访问服务器

README

MIDAS

MIDAS logo

CI Cross-platform CodeQL Lighthouse A11y License Python Tests Type-checked

Demo (15 s): coming — see tools/record_demo.md to record it locally and drop the file at docs/assets/midas-demo.gif.

Local-first AI agent for approval-gated automation and verifiable LLM workflows.

MIDAS is a self-hosted AI agent with a local dashboard, CLI, signed receipts, budget controls, Ollama support, and MCP tooling. It helps you draft, review, and verify agent actions before they change files, call services, publish content, or use external tools.

For non-developers: download the repo, open the folder, then double-click Launch MIDAS.bat on Windows. On macOS, use Launch MIDAS.command. On Linux, run ./launch-midas.sh. See docs/INSTALL_FOR_EVERYONE.md.

Read DISCLAIMER.md before using MIDAS with external accounts, generated content, automation, or third-party tools.

Who It Is For

  • Users who want a local-first AI agent with a dashboard instead of terminal-only setup.
  • Developers building LLM workflows that need approvals, receipts, and budget controls.
  • Operators who want an audit trail before connecting email, files, MCP tools, or external APIs.
  • Teams testing Ollama, cloud model providers, and self-hosted agent workflows.

What It Does

  • Plans and drafts work through a bounded LLM agent loop.
  • Stores every step as an Ed25519-signed receipt in a hash chain.
  • Routes file writes, code execution, spreadsheet writes, outbound sends, Stripe intents, media files, and external MCP calls through the approval queue.
  • Preserves untrusted taint across agent steps so fetched pages, PDFs, emails, and third-party tool output cannot become instructions.
  • Uses a lightweight skill index and loads SKILL.md only when needed.
  • Links receipts to operator-recorded outcomes so runs can be reviewed later.

Screenshots

Chat Approvals Proof Ledger
Chat Approvals Proofs

Status

  • Code gates — 718 tests, mypy strict (157 files), ruff, import-linter contract core ↛ flagship, bandit medium+, ShipVitals READY p0=0 p1=0.
  • Secret scan — clean.
  • Human UAT — see docs/UAT_CHECKLIST.md, unsigned at first release.
  • Lighthouse + axe-core (WCAG 2.2 AA) — workflows wired, first results pending after v0.1.0.
  • Cross-platform — Linux/macOS/Windows × Python 3.11/3.12 matrix runs via the Cross-platform workflow.
  • Independent third-party security review — not yet performed. Until that lands, MIDAS is local-first, approval-gated, with security defaults. It is not described as "secure", "certified", or "production-ready".

Use Cases

  • Run a self-hosted LLM agent from a local dashboard or CLI.
  • Draft files, media plans, and code changes behind approval cards.
  • Use Ollama locally, or connect a cloud provider with your own API key.
  • Route MCP tools through an approval workflow and receipt ledger.
  • Verify agent activity with signed receipts and an independent verifier.
  • Check local capabilities before installing or enabling extra tools.

Quickstart

No-terminal start

Windows:

Double-click: Launch MIDAS.bat

macOS:

Double-click: Launch MIDAS.command

Linux:

chmod +x launch-midas.sh
./launch-midas.sh

The launcher creates a private .venv, installs MIDAS, prepares local state, opens the dashboard, and prints a rescue login link if the browser does not open.

Developer start

git clone https://github.com/omarkhandji-commits/midas.git
cd midas
python -m venv .venv
.venv\Scripts\pip install -e ".[llm,web,dev]"
midas init
midas dashboard

Open the local dashboard, connect a model, then run one mission. The dashboard is loopback-only and uses a one-time login token.

midas init detects local Ollama, or accepts one cloud API key:

midas init                      # running Ollama, no key needed
midas init --key sk-...         # OpenAI
midas init --key sk-ant-...     # Anthropic
midas init --key sk-or-...      # OpenRouter

CLI

midas earn "<niche>"               # scan, prepare, queue
midas capabilities scan            # detect local tools, no install
midas capabilities plan "make a video with voice"
midas approvals list
midas approvals approve <id>
midas execute <id>
midas roi
midas outcome record <run_id> "<note>" -m value=<amount>
midas proof export out.html --run-id <run_id>
midas repo-map src/
midas blog-lint path/to/post.md
midas course "topic" --modules 5
midas drain                        # queue due scheduled posts

Run as an MCP server:

midas mcp serve

Media

MIDAS never downloads tools silently. midas capabilities scan checks for ffmpeg, Node/Remotion, Edge TTS, Kokoro, Piper, XTTS/Coqui, NeuTTS, Ollama, Docker/Podman, Git, and MCP adapters. midas capabilities plan "<goal>" returns the local/free path, setup gaps, approval needs, privacy notes, cost notes, and fallback.

Current media tools:

  • image.draft: offline PNG placeholder or opt-in provider.
  • voice.synthesize: deterministic offline WAV and opt-in provider hooks.
  • video.script and video.storyboard: pure planning tools.
  • remotion.project.draft: approval-gated ZIP with a minimal Remotion project.

Security Defaults

  • Default-deny Sentinel policy.
  • Approval metadata: risk, estimated cost, expiry, hash preview when available.
  • Drift checks for approved file writes and code.run.
  • Per-task, daily, monthly, per-skill, and per-persona budget gates.
  • Remote skills are queued for review; they are not installed automatically.
  • Secrets stay out of receipts, logs, prompts, fixtures, and screenshots.
  • Kill switch blocks tool execution.

See SECURITY.md, docs/SECURITY.md, docs/THREAT_MODEL.md, and docs/SECURITY_RELEASE_NOTES.md.

Verify Receipts

pip install ./tools/verify
midas keys export-public
python -m midas_verify .midas/receipts.jsonl --public-key <hex>

Flip one byte in the ledger and rerun. Verification reports the corrupted sequence index.

Testing

ruff check .
mypy src
lint-imports
bandit -r src -ll
pytest
midas eval
cd web && npm run lint && npm test && npm run build
python -m build
twine check dist/*

ShipVitals is used as a final release-readiness evidence pack. It does not replace tests, security review, Playwright checks, or human review.

Project Layout

src/midas/core/        sentinel, budget fuse, receipts, memory, router
src/midas/flagship/    CLI, dashboard, agent loop, tools, eval suites, MCP
config/                policy and provider templates
docs/                  architecture, security, recipes, receipt spec
tests/                 unit, security, eval, fixtures
tools/verify/          standalone receipt verifier
web/                   React dashboard

License

MIT. See LICENSE.

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选