Matthew Khouzam
Ericsson
| Chatbot | Agent | |
|---|---|---|
| Output | Text | Text + Actions |
| Tools | None | File I/O, shell, APIs, MCP… |
| Loop | Single turn | Multi-step reasoning |
| Autonomy | Answers questions | Solves problems |
MONCEF: Monitoring OWASP Non-Compliance & Exploit Flaws
{
"name": "moncef",
"description": "Security guard — OWASP Top 10",
"prompt": "You are a security-focused code reviewer
specializing in OWASP Top 10 vulnerabilities...",
"mcpServers": {},
"tools": ["*"],
"allowedTools": [
"execute_bash", "fs_read", "grep", "code"
],
"includeMcpJson": true
}
No MCP needed — uses only built-in tools.
This same config works with Gemini CLI, Kiro CLI & Goose.
from mcp.server.fastmcp import FastMCP
mcp = FastMCP("my-tools")
@mcp.tool()
def greet(name: str) -> str:
"""Say hello to someone."""
return f"Hello, {name}!"
@mcp.tool()
def add(a: int, b: int) -> int:
"""Add two numbers."""
return a + b
if __name__ == "__main__":
mcp.run()
Install: pip install mcp
import subprocess
from mcp.server.fastmcp import FastMCP
mcp = FastMCP("git-tools")
@mcp.tool()
def git_log(n: int = 5) -> str:
"""Show recent git commits."""
return subprocess.run(
["git", "log", f"-{n}", "--oneline"],
capture_output=True, text=True
).stdout
if __name__ == "__main__":
mcp.run()
Any CLI program → MCP tool in 5 lines.
Google's open-source AI agent in your terminal
# Install
npm install -g @google/gemini-cli
# or
npx @google/gemini-cli
# Authenticate (uses Google account)
gemini
Create GEMINI.md in your project root:
# Agent Instructions
You are a code review assistant.
## Rules
- Always check for security issues first
- Suggest fixes, don't just point out problems
- Be concise
## Tools Available
- You can read and write files
- You can run shell commands
- You can use git
GEMINI.md = the system prompt for your agent
Add the prompt to GEMINI.md and configure in .gemini/settings.json:
{
"customAgents": [{
"name": "moncef",
"configPath": "moncef.json"
}]
}
Then invoke it:
gemini --agent moncef
Create .gemini/settings.json:
{
"mcpServers": {
"my-tools": {
"command": "python3",
"args": ["mcp_server.py"]
}
}
}
Now the agent can call greet and add from our MCP server.
# Run with sandbox
gemini --sandbox
# Use a specific model
gemini --model gemini-2.5-flash
Amazon's AI agent for the terminal
# Install
npm install -g kiro-cli
# Start
kiro-cli chat
Create .kiro/settings/agent.md:
# Agent Instructions
You are a code review assistant.
## Rules
- Always check for security issues first
- Suggest fixes, don't just point out problems
- Be concise
Same idea as GEMINI.md — a markdown file defines the agent's behavior.
Drop the config into .kiro/agents/:
cp moncef.json .kiro/agents/moncef.json
Then invoke it:
kiro-cli chat --agent moncef
allowedTools restricts which built-in tools the agent can access.
Create .kiro/settings/mcp.json:
{
"mcpServers": {
"my-tools": {
"command": "python3",
"args": ["mcp_server.py"]
}
}
}
Same MCP server, different config location. That's the beauty of MCP.
Shift+Tab to switch to read-only planningBlock's open-source AI agent — MCP-native
# Install
brew install block/goose/goose
# or
curl -fsSL https://github.com/block/goose/releases/latest/download/install.sh | sh
# Start
goose session
Drop the config into .goose/recipes/:
cp moncef.json .goose/recipes/moncef.json
Then invoke it:
goose session --recipe .goose/recipes/moncef.json
Same JSON format as Kiro and Gemini — just a different path.
Create .goose/recipes/mcp.json:
{
"mcpServers": {
"my-tools": {
"command": "python3",
"args": ["mcp_server.py"]
}
}
}
Same MCP server, same JSON format — Goose treats it as just another extension.
| Gemini CLI | Kiro CLI | Goose | |
|---|---|---|---|
| LLM | Gemini 2.5 | Claude | Any (pluggable) |
| Agent config | AGENTS.md, GEMINI.md | AGENTS.md, .kiro/agents/ | AGENTS.md, .goose/recipes/ |
| MCP config | .gemini/settings.json | .kiro/settings/mcp.json | .goose/recipes/mcp.json |
| Code intel | Basic | LSP-powered | Via extensions |
| Parallelism | — | Subagents | Subagents |
| Cloud | Google Cloud | AWS | Agnostic |
| License | Apache 2.0 | Proprietary | Apache 2.0 |
This pattern works for any MCP-compatible agent.
User says:
"Load /tmp/kernel-trace and find CPU anomalies"
Agent does:
ensure_server → starts Trace Compasscreate_experiment → loads the tracedetect_anomalies → runs isolation forestLet's build an agent together.
Gemini CLI · Kiro CLI · Goose · MCP Spec