A Claude Code plugin with 5 expert personas, 16 dev specialist agents, and 14 business domain agents that give AI responses unique character and domain expertise. Includes a web chat UI with local Claude Code integration — no API keys needed.
Question: "What is MCP?"
MCP stands for Model Context Protocol. It's a protocol that allows AI models to communicate with external tools.
MCP (Model Context Protocol) is an open standard that defines how AI assistants communicate with external tools and data sources. Think of it as a universal language that lets AI systems "speak" to the outside world.
AI models, no matter how intelligent, are inherently isolated. They can only work with what's in their training data or immediate context. MCP solves this by creating a standardized bridge.
Imagine a genius trapped inside a house. They know everything, but have no windows to see outside, no phone to talk to others. MCP provides those windows and phones.
MCP operates through three core components:
- Host: The application where the AI assistant runs (e.g., Claude Desktop)
- Server: External programs that provide specific capabilities (e.g., file system access, database queries)
- Protocol: The communication rules between them (based on JSON-RPC 2.0)
Just as USB is a standard that connects various devices to computers, MCP is a standard that connects various tools to AI. Before USB, each device needed a different port. Before MCP, each AI tool needed a different integration method.
- Developers: Build an MCP server once, it works with all MCP-compatible AIs
- Users: AI can safely read files, search the web, access databases
- Ecosystem: AI capabilities become extensible like plugins
See the difference? Einstein doesn't just list information—it builds understanding from first principles.
Question: "What should be the next feature for my todo app?"
You could add categories, due dates, notifications, or a calendar view.
Your todo app does what every other todo app does. It's fine. But "fine" doesn't change anyone's life.
People don't need another way to list tasks. They need a way to actually complete them. The anxiety isn't from forgetting tasks—it's from having too many and not knowing where to start.
Kill the list. Show ONE task.
When users open your app, don't show 47 items screaming for attention. Show them the single most important thing they should do right now. Everything else disappears until that's done.
- The "add task" button on the home screen (hide it)
- Categories (they create more anxiety)
- Badge counts (nobody needs to see "127 tasks remaining")
Imagine opening your todo app and feeling calm instead of overwhelmed. That's not a feature. That's a revolution.
See the difference? Steve Jobs doesn't add features—he finds the breakthrough that changes everything.
Question: "NullPointerException at UserService.java:42"
You have a NullPointerException. Add a null check before line 42:
if (user != null).
The stack trace shows
NullPointerExceptionatUserService.java:42. But this is merely where the error surfaced, not where it was born.
- Where did
usercome from? Traced to line 38:userRepository.findById(userId)- When can
findById()return null? When the ID doesn't exist in the database- Why wasn't this handled? The code assumes the user always exists
// Line 38: The assumption begins User user = userRepository.findById(userId); // Can return null! // Line 42: The assumption fails return user.getDisplayName(); // NPE when user is nullThe method assumes users always exist. This fails when:
- User was deleted between validation and retrieval
- Race condition in concurrent requests
- Invalid userId passed from upstream
Scenario Why It Fails Likelihood Deleted user No existence check Medium Cache inconsistency Cached ID, deleted from DB Medium User user = userRepository.findById(userId) .orElseThrow(() -> new UserNotFoundException(userId));Transforms a mysterious NPE into a clear business exception with context.
See the difference? Socrates doesn't patch symptoms—he traces errors to their root cause.
# Install the plugin (setup wizard runs automatically)
/plugin install claude-code-savant
# Launch the web chat UI
/savant-chat
# → Opens http://localhost:3456 with your project contextThat's it. No API key needed — the default provider uses your local Claude Code.
# npx (no install needed)
npx claude-code-savant
# Or install globally
npm install -g claude-code-savant
savant-chat
# Or clone manually
git clone https://github.com/rlaope/claude-code-savant.git
cd claude-code-savant
claude --plugin-dir .After installation, the setup wizard runs automatically! (Or run manually: /savant-setup)
Configure your preferences:
- Language: English, 한국어, 日本語, or 中文
- Default Mode: Enable/disable auto-routing
Change language anytime:
/savant-lang # Interactive selection
/savant-lang en # English
/savant-lang kr # 한국어
/savant-lang jp # 日本語
/savant-lang ch # 中文Want Savant to automatically analyze ALL your questions? Enable default mode:
/savant-default # Enable - all questions auto-routed
/savant-default-off # Disable - return to normal ClaudeWhen enabled, just ask questions naturally - no commands needed!
Enjoying Claude Code Savant? If this plugin helps you, consider giving it a ⭐ on GitHub!
Don't know which persona to use? Just use /savant and let the AI analyze your question!
/savant [your question here]The Smart Router will:
- Analyze your question using Opus model
- Recommend the best persona with reasoning
- Ask for your confirmation before proceeding
- Execute with your chosen persona
| Command | Persona | Best For |
|---|---|---|
/savant-setup |
Setup Wizard | First-time configuration (language, default mode) |
/savant-lang |
Language | Change response language (en/kr/jp/ch) |
/savant-default |
Enable Default | Auto-route ALL questions (always-on mode) |
/savant-default-off |
Disable Default | Return to normal Claude behavior |
/savant |
Smart Router | Auto-detects and recommends the best persona |
/savant-question |
Einstein | General questions, deep explanations |
/savant-code |
Shakespeare | Code analysis with flowcharts |
/savant-new |
Steve Jobs | Project vision and next-step ideas |
/savant-fix |
Socrates | Error analysis, root cause debugging |
/savant-biz |
SayNo | Business strategy, monetization, P&L analysis |
/savant-jvm |
JVM Developer | JVM performance optimization (GC, JIT, memory) |
/savant-python |
Python Developer | Python performance optimization (GIL, asyncio, vectorization) |
/savant-go |
Go Developer | Go performance optimization (goroutines, escape analysis) |
/savant-rust |
Rust Developer | Rust performance optimization (ownership, zero-cost abstractions) |
/savant-node |
Node.js Developer | Node.js performance optimization (event loop, V8) |
/savant-swift |
Swift Developer | Swift performance optimization (ARC, value types) |
/savant-cpp |
C/C++ Developer | C/C++ performance optimization (cache, SIMD, memory) |
/savant-aws |
AWS Architect | AWS cloud architecture and cost optimization |
/savant-k8s |
K8s Developer | Kubernetes orchestration and troubleshooting |
/savant-iac |
IaC Developer | Terraform/Pulumi infrastructure as code |
/savant-observability |
Observability Engineer | Monitoring, tracing, SLO-based alerting |
/savant-cicd |
CI/CD Engineer | Pipeline design, GitOps, deployment strategies |
/savant-docker |
Docker Developer | Container optimization and security |
/savant-system-design |
System Designer | Large-scale distributed system design |
/savant-perf-detect |
Performance Detective | Slow query and latency spike investigation |
/savant-sre |
SRE Engineer | Reliability, HA, zero-downtime deployments |
/savant-update |
Update | Check for updates and upgrade |
claude-code-savant:router # Smart question analyzer (uses Opus)
claude-code-savant:einstein # First principles explanations
claude-code-savant:shakespeare # Narrative with diagrams
claude-code-savant:stevejobs # Visionary direction and ideas
claude-code-savant:socrates # Error debugging and root cause analysis
claude-code-savant:sayno # Business strategy and monetization
claude-code-savant:jvm-developer # JVM performance optimization
claude-code-savant:python-developer # Python performance optimization
claude-code-savant:go-developer # Go performance optimization
claude-code-savant:rust-developer # Rust performance optimization
claude-code-savant:node-developer # Node.js performance optimization
claude-code-savant:swift-developer # Swift performance optimization
claude-code-savant:cpp-developer # C/C++ performance optimization
claude-code-savant:aws-architect # AWS cloud architecture
claude-code-savant:k8s-developer # Kubernetes orchestration
claude-code-savant:iac-developer # Infrastructure as Code
claude-code-savant:observability-developer # Observability & monitoring
claude-code-savant:cicd-developer # CI/CD pipeline design
claude-code-savant:docker-developer # Container optimization
claude-code-savant:system-designer # Large-scale system design
claude-code-savant:performance-detective # Performance detection
claude-code-savant:sre-engineer # Site reliability engineering
# Let AI choose the best persona (Smart Router)
/savant What is dependency injection and why do we need it?
# Ask a question (Einstein)
/savant-question What is MCP?
# Analyze code (Shakespeare)
/savant-code Analyze this code
function fibonacci(n) {
if (n <= 1) return n;
return fibonacci(n-1) + fibonacci(n-2);
}
# Get project direction (Steve Jobs)
/savant-new What should be the next feature for this project?
# Debug an error (Socrates)
/savant-fix NullPointerException at UserService.java:42- Style: First principles thinking, scientific precision
- Strength: Deep understanding, thorough explanations
- Output: Structured analysis with analogies and practical implications
- Use when: You want to truly understand something, not just know about it
- Style: Narrative storytelling, dramatic structure
- Strength: Making complex flows understandable through story
- Output: Rich narratives with Mermaid flowcharts
- Use when: Analyzing code structure and flow visually
- Style: Bold, direct, user-obsessed thinking
- Strength: Seeing the next evolution and breakthrough opportunities
- Output: Clear vision with actionable ideas and what to kill
- Use when: You need direction on where to take your project next
- Style: Socratic questioning, systematic investigation
- Strength: Tracing errors to root causes, finding edge cases
- Output: Thorough error analysis with fixes and prevention strategies
- Use when: You have an error, stack trace, or bug to investigate
- Style: Data-driven, numbers-first analysis
- Strength: Revenue modeling, P&L projections, market sizing
- Output: Financial tables, unit economics, break-even analysis
- Use when: You need monetization strategy, business planning, or financial projections
- Gateway: SayNo also serves as the entry point to all business domain agents
7 language-specific performance optimization agents that provide runtime-level insights, profiling analysis, and benchmark-backed recommendations.
| Agent | Focus | Key Expertise |
|---|---|---|
| JVM Developer | Java/Kotlin/Scala | GC tuning, JIT compilation, virtual threads, memory layout |
| Python Developer | Python | GIL management, asyncio, vectorization, Cython, profiling |
| Go Developer | Go | Goroutines, escape analysis, pprof, GOGC/GOMEMLIMIT |
| Rust Developer | Rust | Ownership patterns, zero-cost abstractions, LLVM, unsafe |
| Node.js Developer | Node.js/TypeScript | Event loop, V8 internals, Worker threads, streaming |
| Swift Developer | Swift | ARC optimization, value types, Instruments, Swift concurrency |
| C/C++ Developer | C/C++ | Cache optimization, SIMD, RAII, memory pools, compiler flags |
Each agent follows the same pattern: profile first, measure before and after, explain at the runtime level, prioritize by impact.
6 infrastructure agents for cloud architecture, orchestration, and deployment automation.
| Agent | Focus | Key Expertise |
|---|---|---|
| AWS Architect | AWS Cloud | Service selection, cost optimization, Well-Architected Framework |
| K8s Developer | Kubernetes | Orchestration, scaling, networking, troubleshooting |
| IaC Developer | Terraform/Pulumi | Module design, state management, CI/CD integration |
| Observability Engineer | Monitoring | Prometheus, Grafana, OpenTelemetry, SLO-based alerting |
| CI/CD Engineer | Pipelines | GitHub Actions, ArgoCD, GitOps, deployment strategies |
| Docker Developer | Containers | Image optimization, multi-stage builds, security hardening |
3 SRE-level agents for large-scale architecture, performance investigation, and reliability engineering.
| Agent | Focus | Key Expertise |
|---|---|---|
| System Designer | Large-Scale Design | Distributed architecture, CAP, sharding, capacity planning |
| Performance Detective | Performance Detection | Slow queries, latency spikes, APM, root cause analysis |
| SRE Engineer | Reliability | Zero-downtime deploy, HA, error budgets, incident response |
SayNo is the gateway to 14 specialized business domain agents covering Finance, Growth, Legal, Fashion, Logistics, F&B, SaaS, E-commerce, Real Estate, Healthcare, Content, HR, Education, and Travel.
Each agent provides data-driven analysis with Korean market expertise (한국 시장). Activate only the ones you need in the Savant Chat sidebar.
Dynamic Benchmarks: When specific numbers are needed (KPIs, market size, growth rates), agents automatically search the web for the latest data with source citations — no more stale benchmarks.
Full Business Agents Documentation → — commands, examples, and detailed descriptions for all 14 domain agents.
A local messenger-style chat interface to talk with AI personas about your project. Each persona understands your project's codebase, architecture, and conventions.
# From the plugin directory
npm run chat
# Or install globally
npm install -g claude-code-savant
savant-chat
# Or use npx (no install needed)
npx claude-code-savant# Navigate to your project, then:
savant-chat
# Or specify a port
savant-chat --port 4000The chat server automatically scans your project directory (package.json, README, source files, git history) and gives all personas full context.
/savant-chat| Feature | Description |
|---|---|
| Claude Code (Local) | Chat using local Claude Code CLI — no API key needed (default) |
| Multi-Provider | Switch between Claude Code, Anthropic API, OpenAI, or Gemini |
| 1:1 Chat | Chat with Einstein, Shakespeare, Socrates, Steve Jobs, or SayNo individually |
| Biz Agents | 14 business domain agents with Korean market expertise |
| Team Chat | All personas discuss your question together (단톡방) |
| Language Toggle | Switch between English and Korean (EN/KO) |
| Token Usage | Display input/output token counts per response |
| Chat History | Conversations persist across page refresh (localStorage) |
| Agent Editing | Double-click agent names in sidebar to rename |
| Project Context | Click the project badge to see what the AI knows |
| Streaming | Real-time streaming responses (API providers) |
Open http://localhost:3456 after launching:
- Left sidebar: Dev/Biz persona selection + Team Chat + Language toggle
- Main area: Messenger-style chat with markdown rendering
- Top bar: Provider selection (Claude Code / Claude / GPT / Gemini)
- Project badge: Click to see full project context the AI understands
| Variable | Description | Default |
|---|---|---|
ANTHROPIC_API_KEY |
Anthropic API key (optional if using Claude Code) | — |
OPENAI_API_KEY |
OpenAI API key (optional) | — |
GEMINI_API_KEY |
Gemini API key (optional) | — |
PROJECT_DIR |
Project directory to scan | Current directory |
PORT |
Server port | 3456 |
claude-code-savant/
├── .claude-plugin/
│ └── plugin.json # Plugin manifest
├── agents/
│ ├── router.md # Smart Router (question analyzer)
│ ├── dev/ # Dev personas (21 agents)
│ │ ├── einstein/
│ │ │ ├── persona.md # Identity, How You Think, Language Style
│ │ │ ├── templates.md # Response structure templates
│ │ │ └── examples.md # Before/after response examples
│ │ ├── shakespeare/ # (same structure)
│ │ ├── socrates/ # (same structure)
│ │ ├── stevejobs/ # (same structure)
│ │ ├── sayno/ # (same structure)
│ │ ├── jvm-developer/ # JVM Performance Expert
│ │ ├── python-developer/ # Python Performance Expert
│ │ ├── go-developer/ # Go Performance Expert
│ │ ├── rust-developer/ # Rust Performance Expert
│ │ ├── node-developer/ # Node.js Performance Expert
│ │ ├── swift-developer/ # Swift Performance Expert
│ │ ├── cpp-developer/ # C/C++ Performance Expert
│ │ ├── aws-architect/ # AWS Cloud Expert
│ │ ├── k8s-developer/ # Kubernetes Expert
│ │ ├── iac-developer/ # Infrastructure as Code Expert
│ │ ├── observability-developer/ # Observability Expert
│ │ ├── cicd-developer/ # CI/CD Pipeline Expert
│ │ ├── docker-developer/ # Container Expert
│ │ ├── system-designer/ # System Design Expert
│ │ ├── performance-detective/ # Performance Detection Expert
│ │ └── sre-engineer/ # Site Reliability Expert
│ └── biz/ # Business domain agents (14 agents)
│ ├── finance/
│ │ ├── persona.md # Domain expertise + Korean market
│ │ ├── benchmarks.md # Industry KPIs and benchmarks
│ │ └── templates.md # Response framework templates
│ ├── saas/ # (same structure)
│ ├── growth/ # (same structure)
│ ├── ecommerce/ # (same structure)
│ ├── legal/ # (same structure)
│ ├── fashion/ # (same structure)
│ ├── logistics/ # (same structure)
│ ├── fnb/ # (same structure)
│ ├── realestate/ # (same structure)
│ ├── healthcare/ # (same structure)
│ ├── content/ # (same structure)
│ ├── hr/ # (same structure)
│ ├── education/ # (same structure)
│ └── travel/ # (same structure)
├── web/
│ ├── server.ts # Chat server (Express + SSE, multi-provider)
│ ├── cli.ts # CLI entry point (savant-chat command)
│ └── public/
│ └── index.html # Messenger-style chat UI (SPA)
├── docs/
│ └── business-agents.md # Full business agents documentation
├── commands/
│ ├── install.md # Auto-runs on first install
│ ├── setup.md # /savant-setup (manual setup wizard)
│ ├── lang.md # /savant-lang (language settings)
│ ├── default.md # /savant-default (enable always-on mode)
│ ├── default-off.md # /savant-default-off (disable default mode)
│ ├── savant.md # /savant (smart router command)
│ ├── savant-question.md # /savant-question command
│ ├── savant-code.md # /savant-code command
│ ├── savant-new.md # /savant-new command
│ ├── savant-fix.md # /savant-fix command
│ └── update.md # /savant-update command
└── src/ # MCP server (alternative)
# Clone and test locally
git clone https://github.com/rlaope/claude-code-savant.git
cd claude-code-savant
claude --plugin-dir .
# Run tests
npm testCheck for updates and upgrade:
/savant-updateOr manually:
/plugin update claude-code-savantMIT



