devops-infra MCP Server
MacVis — open-source local-first AI agent for macOS. Multi-provider (Claude, GPT, Gemini, Ollama). Full Mac access via MCP. BYOK, no backend, no telemetry. Download free.
Discovered via github-topic:mcp and last synced 2mo ago.
Install instructions not detected yet
Check the source repository for the latest setup steps.
electron-vite 5 + Vite 8
React 18 + TypeScript
Zustand
Ollama → Anthropic Haiku → OpenRouter
Electron 41
Models
Tailwind v4 + OKLCH design tokens
Geist Sans + Geist Mono
Choice
## Architecture ``` ~/.macvis/ ← user data (BYOK home) ├── sessions/ ← persisted chat history (JSON per session) │ └── <session-id>.json ├── workspace/projects/ ← code projects the agent creates │ └── <project-name>/ └── skills/ ← installable skill packs (Phase 6) macvis/ ← this repo ├── electron/ ← Node.js main process │ ├── core/ │ │ ├── agent/ │ │ │ ├── providers/ ← Provider abstraction │ │ │ │ ├── AnthropicProvider.ts │ │ │ │ ├── OpenAIProvider.ts (OpenAI, OpenRouter, Groq, Ollama) │ │ │ │ └── GeminiProvider.ts │ │ │ ├── AgentLoop.ts ← Streaming loop + fallback router │ │ │ ├── ToolBuilder.ts │ │ │ └── ProviderValidator.ts │ │ ├── tools/ ← bash, filesystem, web search │ │ ├── sessions/ ← persistent chat history │ │ ├── projects/ ← project scanner + runner │ │ ├── config/ ← conf wrapper │ │ ├── mcp/ ← MCP client manager (Phase 4) │ │ ├── skills/ ← skill loader (Phase 6) │ │ └── telegram/ ← Telegraf bot (Phase 7) │ ├── ipc/ ← One IPC handler module per domain │ ├── main.ts ← BrowserWindow + app boot │ └── preload.ts ← contextBridge → window.macvis.* └── src/ ← React renderer ├── pages/ ← Chat, Settings, Projects, MCPs ├── components/ ← layout, chat, settings, ui ├── stores/ ← Zustand state └── App.tsx ← root + routing ``` The main process owns all I/O, AI calls, and tool execution. The renderer is pure UI and talks to the main process exclusively over a typed IPC bridge (`window.macvis.*`). ## Roadmap