Eve is a next-generation Kubernetes operations agent built in Go. It functions as an intelligent MCP (Model Context Protocol) Proxy that connects your Slack workspace to a local LLM and a modular ecosystem of MCP servers.
Instead of hardcoding tools, Eve acts as a Supervisor Agent that dynamically discovers capabilities from external providers (Kubernetes, GitHub, Argo, etc.) and orchestrates them through natural language.
Eve sits at the intersection of your communication (Slack), your "brain" (Local LLM), and your tools (MCP Servers).
Eve acts as a secure gateway between your Slack workspace and technical tools.
graph TD
User([User in Slack]) <-->|Socket Mode| Eve[Eve Bot/Proxy]
Eve <-->|Tool Calls| LLM[LLM: Qwen3-Coder]
subgraph "MCP Ecosystem"
Eve <-->|JSON-RPC| K8s[K8s MCP Server]
Eve <-->|JSON-RPC| GH[GitHub MCP Server]
Eve <-->|JSON-RPC| Argo[Argo MCP Server]
Eve <-->|JSON-RPC| AWS[AWS MCP Servers]
end
K8s <-->|API Server| Cluster[...]
GH <-->|GitHub API| GitHub[...]
AWS <-->|Cloud API| Cloud[...]
Eve maintains both short-term conversational context and long-term technical experience.
graph TD
Agent[Eve Agent] --> Store[Memory Store]
Store --> SQLite[(SQLite: Short-term Memory)]
Store --> Qdrant[(Qdrant: Long-term Memory)]
Store --> Embedder[Embedder: Ollama/OpenAI]
SQLite ---|Conversation History| Agent
Qdrant ---|Semantic Retrieval| Agent
Eve operates in two distinct modes, automatically detecting which mode to use based on your message:
When you ask about pods, deployments, logs, or any infrastructure topic, Eve immediately calls the appropriate MCP tools to fetch real data. No hallucination, no fake outputs.
"fft-os 네임스페이스 pod 상태 확인해줘" → Calls
pods_list_in_namespacetool
For greetings, general questions, or casual chat, Eve responds naturally without calling any tools. It matches your language (Korean/English) automatically.
"안녕! 오늘 기분 어때?, grpc가 뭐야?" → Friendly conversation, no tools
- Philosophy: "Don't Reinvent the Wheel": Eve doesn't contain domain-specific logic. It focuses on the orchestration gateway, while domain logic is outsourced to standardized MCP servers.
- Agentic Supervisor: Uses a ReAct-style loop to handle complex multi-step operations (e.g., "Find the failing pod, check its logs, and create a GitHub issue if it's an OOMKill").
- Agentic Delegation: Minimizes direct command execution using slash commands in favor of delegating complex tasks to the agent via MCP and dynamic toolsets, allowing Eve to orchestrate actions autonomously.
- Dynamic Tool Discovery: At startup, Eve performs a handshake with all configured MCP servers to list and register their tools.
- Memory: Maintains both short-term conversational context and long-term technical experience.
- Zero-Ingress Security: Uses Slack Socket Mode for outbound-only connections.
- Local-First AI: Optimized for local LLM execution. Default-configured for Qwen3-Coder via
llama-cpporOllama. - Sidecar Optimized: Designed to run in Kubernetes with MCP servers as sidecars for low latency and shared RBAC.
Eve can be configured via environment variables or a standard mcp.json file.
.env Configuration:
# Slack
SLACK_APP_TOKEN=xapp-...
SLACK_BOT_TOKEN=xoxb-...
# LLM (OpenAI-Compatible endpoint)
LLM_PROVIDER=openai
LLM_BASE_URL=http://qwen.home.lab:8003
LLM_MODEL=qwen3-coder
# MCP Servers (Comma-separated URLs)
MCP_SERVERS=http://localhost:8080,http://localhost:8081mcp.json Configuration:
{
"mcpServers": {
"kubernetes": { "url": "http://localhost:8080" },
"github": { "url": "http://localhost:8081" },
"aws-billing": { "url": "http://aws-billing:8083" }
}
}The recommended way to deploy Eve is with the official kubernetes-mcp-server as a sidecar:
# manifests/base/deployment.yaml
containers:
- name: eve
image: harbor.home.lab/restack/eve:latest
env:
- name: MCP_SERVERS
value: "http://localhost:8080"
- name: mcp-kubernetes
image: quay.io/podman/kubernetes-mcp-server:latest
args: ["--port=8080"]Eve is designed to work with models that have strong Tool Calling (Functional Calling) capabilities.
- Recommended:
qwen3-coder(Excellent at precise tool selection and SRE tasks). - Alternative:
qwen2.5:14borllama3.1:8bvia Ollama.
Eve includes a production-ready GitHub Actions workflow (.github/workflows/build-image.yml) that:
- Builds a minimal Go binary into a scratch-based Docker image.
- Pushes to your private registry (Harbor).
- Automatically updates your GitOps manifests in your homelab repository.
Adding a new capability to Eve is as simple as adding a new URL to your MCP_SERVERS list. Whether it's a Jira agent, a database explorer, or a custom internal tool, as long as it speaks MCP, Eve can use it.
# Example: Adding a Jira MCP server
export MCP_SERVERS="http://k8s-mcp:8080,http://jira-mcp:8080"MIT © 2026 Restack / Eve Team


