Chatcli MCP Server

by diillson• 94•• Scanned•Claim this listing•Request removal
Coding Agentsagentaiai agentsai toolsaiops

ChatCLI is a command-line application that utilizes LLMs—such as those from Anthropic, OpenAI, and others—to facilitate interactive conversations within the terminal. At its core, it features a specialized agent and tools that provide unique expertise.

Chatcli is an open-source mcp server by diillson, written mainly in Go, with 94 GitHub stars and the Apache-2.0 license. Its code was last updated Nov 1, 2026.

<p align="center"> <a href="https://chatcli.edilsonfreitas.com"> <img src="https://raw.githubusercontent.com/diillson/chatcli/main/assets/chatcli.png" alt="ChatCLI" width="280"> </a> </p> <h1 align="center">ChatCLI</h1> <p align="center"> <strong>One binary for AI everywhere you work:<br> the terminal, your editor, your chat apps and webhooks, a gRPC server and Kubernetes.</strong> </p> <p align="center"> <sub>14 LLM providers · an autonomous coder agent · a seven-pattern quality harness<br> Mixture-of-Agents with cross-review · a live APM-style dashboard</sub> </p> <p align="center"> <a href="https://chatcli.edilsonfreitas.com"><img src="https://img.shields.io/static/v1?label=%F0%9F%93%96%20Read%20the%20docs&message=https%3A%2F%2Fchatcli.edilsonfreitas.com&color=0d9488&style=for-the-badge" alt="Read the documentation at https://chatcli.edilsonfreitas.com"></a><br> <a href="https://chatcli.edilsonfreitas.com"><strong>https://chatcli.edilsonfreitas.com</strong></a><br> <sub>The official website: guides, cookbooks, configuration and the full reference for every feature, in English and Portuguese.</sub> </p> <p align="center"> <a href="https://github.com/diillson/chatcli/actions/workflows/1-ci.yml"><img src="https://img.shields.io/github/actions/workflow/status/diillson/chatcli/1-ci.yml?label=CI&logo=github" alt="CI"></a> <a href="https://github.com/diillson/chatcli/actions/workflows/quality-gate.yml"><img src="https://img.shields.io/github/actions/workflow/status/diillson/chatcli/quality-gate.yml?label=quality%20gate&logo=github" alt="Quality gate"></a> <a href="https://github.com/diillson/chatcli/actions/workflows/security-scan.yml"><img src="https://img.shields.io/github/actions/workflow/status/diillson/chatcli/security-scan.yml?label=security%20scan&logo=github" alt="Security scan"></a> <a href="https://github.com/diillson/chatcli/releases/latest"><img src="https://img.shields.io/github/v/release/diillson/chatcli" alt="Latest release"></a> <br> <img src="https://img.shields.io/github/go-mod/go-version/diillson/chatcli?logo=go&label=Go" alt="Go version"> <a href="https://pkg.go.dev/github.com/diillson/chatcli"><img src="https://img.shields.io/badge/Go-reference-007d9c?logo=go&logoColor=white" alt="Go Reference"></a> <a href="LICENSE"><img src="https://img.shields.io/badge/license-Apache--2.0-blue" alt="License: Apache-2.0"></a> <a href="https://artifacthub.io/packages/search?ts_query_web=chatcli"><img src="https://img.shields.io/endpoint?url=https://artifacthub.io/badge/repository/chatcli" alt="Artifact Hub"></a> <br> <a href="SECURITY.md#verifying-what-you-install"><img src="https://img.shields.io/badge/releases-Ed25519%20signed-1f6feb" alt="Signed releases"></a> <a href="SECURITY.md#verifying-what-you-install"><img src="https://img.shields.io/badge/images-cosign%20signed-4B32C3?logo=sigstore&logoColor=white" alt="Cosign-signed images"></a> <img src="https://img.shields.io/badge/SBOM-included-3fb950" alt="SBOM"> <img src="https://img.shields.io/badge/scanned-Trivy%20%C2%B7%20CodeQL%20%C2%B7%20gosec-00C9A7" alt="Security scans"> <br> <img src="https://img.shields.io/badge/platforms-Linux%20%C2%B7%20macOS%20%C2%B7%20Windows-informational" alt="Platforms"> <img src="https://img.shields.io/badge/i18n-English%20%C2%B7%20Portugu%C3%AAs-informational" alt="Languages"> <a href="https://github.com/diillson/chatcli/stargazers"><img src="https://img.shields.io/github/stars/diillson/chatcli?style=flat&logo=github&label=stars" alt="Stars"></a> </p> <p align="center"> <a href="https://chatcli.edilsonfreitas.com"><strong>Documentation</strong></a> · <a href="#quick-start"><strong>Quick start</strong></a> · <a href="#highlights"><strong>Highlights</strong></a> · <a href="#security"><strong>Security</strong></a> · <a href="CONTRIBUTING.md"><strong>Contributing</strong></a> · <a href="README_PT.md"><strong>Português</strong></a> </p> <p align="center"> <img src="https://raw.githubusercontent.com/diillson/chatcli/main/assets/chatcli-demo.gif" alt="ChatCLI in action" width="820"> </p>

Why ChatCLI

  • Every major model, one interface. Switch provider or model mid-conversation; fail over automatically; keep cost, tokens and prompt-cache use in view.
  • An agent that does the work. /coder reads, edits, runs and tests code under a security policy you control, with checkpoints you can rewind.
  • Answers you can trust more. Self-Refine, Chain-of-Verification, Reflexion, RAG with HyDE and Mixture-of-Agents with cross-review cross-check what models say.
  • The same brain everywhere. The terminal, a browser UI, editors over ACP, any MCP client, Telegram, Slack, Discord, WhatsApp, webhooks, a gRPC server and a Kubernetes operator share sessions, memory and tools.
  • Built to run where it matters. Signed releases, fail-closed defaults, workspace trust, audit logs and a published security process.

Quick start

# Homebrew (macOS, Linux)
brew tap diillson/chatcli && brew install chatcli

# or Go
go install github.com/diillson/chatcli@latest

# or a signed binary from the releases page
# https://github.com/diillson/chatcli/releases/latest

Point it at a model, with an API key or an OAuth login:

export LLM_PROVIDER=OPENAI OPENAI_API_KEY=sk-...   # or CLAUDEAI, GOOGLEAI, BEDROCK, XAI, OLLAMA, …
chatcli                                            # then /auth login <provider> for OAuth

Then:

chatcli -p "Explain this repository"               # one-shot, pipeable
git diff | chatcli -p "Write the commit message"
chatcli                                            # interactive
  > /coder add tests for the utils package         # the autonomous coder
  > /moa --layers 2 Should we migrate to Karpenter? # several models, cross-reviewed
  > /dash                                          # watch everything live

ChatCLI keeps itself current with /update (Homebrew, go install or a signature-verified self-replace), and /restart reopens it on the new version without losing the conversation. Installation guide →

Highlights

<table> <tr> <td width="50%" valign="top">

🤖 Coder agent

A ReAct loop with 50 builtin tools: files, search, shell, git, tests, LSP navigation and rename, JSON/YAML and diffs, secrets and archives, a real browser, Git forges, background processes. Every call goes through an allow/ask/deny policy; edits are checkpointed in a shadow repository; an optional OS sandbox confines commands. Coder mode →

</td> <td width="50%" valign="top">

🧠 Mixture-of-Agents with cross-review

/moa asks several models at once. With --layers 2, each model reads the others' answers and revises its own, and the synthesis keeps a section on where they still disagree. The AI can call it too, as @moa. MoA →

</td> </tr> <tr> <td valign="top">

✅ Quality harness

Seven patterns, composable and observable: ReAct, Plan-and-Solve, Reflexion with a durable queue, RAG + HyDE, Self-Refine with semantic convergence, Chain-of-Verification and a cross-provider reasoning backbone. Harness →

</td> <td valign="top">

📈 Live dashboard, like an APM

/dash draws the whole runtime as a service map, across every ChatCLI process on the machine: who called whom, from the turn to the agent, the tool, the model and the host, with cost, latency, errors, policy decisions and fallbacks. Metadata only. Live dashboard →

</td> </tr> <tr> <td valign="top">

👥 Squads and task graphs

Specialist workers run in parallel under a dispatcher; @taskgraph turns an approved plan into a verified DAG where the engine runs each task's checks and a fresh reviewer gives the verdict. Task graph →

</td> <td valign="top">

🔌 MCP, ACP and plugins

An MCP client (stdio, SSE, HTTP with OAuth) and an MCP server that re-exports everything; an ACP server for editors; signed plugins; provider plugins that add a whole LLM provider; skills from several registries; slash commands compatible with nine other CLIs. Extensions →

</td> </tr> <tr> <td valign="top">

💬 Chat gateway

Telegram, Slack, Discord, WhatsApp and webhooks run the same agent, with voice notes transcribed offline and answered in voice, sender allowlists that fail closed and one conversation across channels. Gateway →

</td> <td valign="top">

☸️ Kubernetes and AIOps

A gRPC server with TLS 1.3, JWT and roles, and an operator with 17 CRDs that watches workloads, opens incidents, proposes and applies remediations behind approvals, and writes post-mortems. Kubernetes →

</td> </tr> <tr> <td valign="top">

📄 Documents and media, on every provider

PDFs and images reach every model, natively where it can read them and as text where it cannot; image generation, offline speech-to-text and text-to-speech, diagrams and an interactive knowledge graph. PDF input →

</td> <td valign="top">

🗂️ Memory and context

Long-term memory with a profile and facts, a knowledge base with keyless BM25 retrieval, reversible compression where nothing is lost (@recall pages long originals), and sessions that continue across surfaces. Everything it remembers — facts, topics, projects, episodes, journal notes, sessions, skills and every document of every context — is one linked graph of notes, kept in sync as an Obsidian vault you can open. Context → · Knowledge graph →

Measured, not claimed: on LongMemEval-S (500 questions over about 115k tokens of past conversations each), chatcli answered 95.0% of the 260 questions that were not read while tuning it, and 95.8% of all 500 (90.8% in the first round), through its own session recall. Method, data and every answer →

</td> </tr> <tr> <td valign="top">

⏱️ Scheduler

Durable jobs with cron, wait-until conditions and dependencies; a daemon keeps them running with the terminal closed; agents can park themselves and wake on a condition. Scheduler →

</td> <td valign="top">

🧪 Evals

chatcli eval runs YAML suites against the real binary in a sandbox, graded by deterministic checks and an LLM judge, with pass@k, baselines and CI-friendly exit codes. Evals →

</td> </tr> </table>

Where it runs

SurfaceStart it with
Interactive terminalchatclichat, /coder, /agent, /moa, every slash command
One-shot and pipeschatcli -p "…"scripts, CI, git diff | chatcli -p …
Browser UI/web or chatcli webthe same session as the terminal
Editors (ACP)chatcli acpZed and other ACP clients
Any MCP clientchatcli mcp-serverevery tool, the agent loops, skills as prompts
Chat apps/gateway startTelegram, Slack, Discord, WhatsApp, webhooks
Shared backendchatcli servergRPC with TLS 1.3, JWT and roles
KubernetesHelm chart chatcli-operatorAIOps operator
Live dashboard/dash or chatcli dashevery ChatCLI process on the machine

Providers

14 built-in providers behind one interface, with a fallback chain, cross-provider reasoning control (/thinking) and prompt caching where the provider offers it. Provider plugins add more without rebuilding ChatCLI.

ProviderLLM_PROVIDERAuth
OpenAIOPENAIOPENAI_API_KEY, or OAuth with /auth login openai-codex (Responses API)
OpenAI AssistantsOPENAI_ASSISTANTOPENAI_API_KEY
Anthropic ClaudeCLAUDEAIANTHROPIC_API_KEY, or OAuth with /auth login anthropic
AWS BedrockBEDROCKAWS profile, SSO, aws login or the credentials chain
Google GeminiGOOGLEAIGOOGLEAI_API_KEY
xAI GrokXAIXAI_API_KEY
Z.AI (GLM)ZAIZAI_API_KEY, including the GLM Coding Plan
Moonshot KimiMOONSHOTMOONSHOT_API_KEY
MiniMaxMINIMAXMINIMAX_API_KEY
OpenRouterOPENROUTEROPENROUTER_API_KEY
GitHub CopilotCOPILOT/auth login github-copilot (device flow) or GITHUB_COPILOT_TOKEN
OllamaOLLAMAlocal, no key
StackSpot AISTACKSPOTCLIENT_ID and CLIENT_KEY
Devin (Cognition)DEVINthe local Devin CLI

Models, prices and context windows come from a live catalog: /switch --model lists what each account really serves. Supported models → · All settings →

Security

ChatCLI runs commands and holds credentials, so security is the default, not an option:

  • Policy-gated tools: every agent action is allowed, asked or denied by a policy you control; unattended surfaces refuse instead of approving.
  • Workspace trust: a project's .env, hooks and policy load only after chatcli trust.
  • Fail-closed integrations: chat channels refuse to start without a sender allowlist; signed webhooks are verified with HMAC.
  • Encrypted at rest by default: conversations, memory, contexts, attachments and credentials are sealed with AES-256-GCM, with the key in the OS keychain (macOS, Linux, Windows) or, in Kubernetes, in a Secret; OAuth uses PKCE. Save a recovery key with /config security recovery-key: without it, a lost keychain means the data cannot be opened. The one plaintext exception is the memory vault (~/.chatcli/vault), which exists to be opened in an editor; sensitive profile fields and secrets are masked there and CHATCLI_MEMORY_VAULT=false turns it off.
  • No telemetry: your data goes only to the providers and tools you configure; metrics leave the machine only if you point OTLP at your own collector.
  • Signed supply chain: Ed25519-signed release checksums verified by chatcli update, Cosign-signed images, an SBOM, and Trivy, CodeQL, gosec and govulncheck on every change.

Report vulnerabilities privately: see SECURITY.md. What happens to your data → · Security overview →

Documentation

Get startedInstallation · Quickstart · Basic usage
AgentsCoder mode · Squads · Task graph · Mixture-of-Agents · Harness
ContextMemory · LongMemEval results · Knowledge base · Compression · Sessions
ExtendPlugins · Provider plugins · MCP · Skills · Hooks · Slash commands
Run itServer mode · Gateway · Kubernetes operator · Docker
ReferenceCommands · Environment variables · Architecture · Releases

Community

If ChatCLI is useful to you, a ⭐ helps others find it.

License

Apache License 2.0 © Edilson Freitas

Chatcli alternatives

View more →

Similar mcp servers in Coding Agents, ranked by GitHub stars. Compare licence, recent activity and scan status before you choose.

NameStarsLicenceLast updatedScan
Chatcli (this page)
diillson
94Apache-2.0Nov 1, 2026Scanned, no flagged issues
Context Mode
mksglu
33kNone foundNov 1, 2026Not scanned yet
Serena
oraios
31kNone foundOct 28, 2026Not scanned yet
Fastmcp
PrefectHQ
28kApache-2.0Nov 1, 2026Scanned, no flagged issues
Nuclear
nukeop
19kAGPL-3.0Nov 1, 2026Scanned, no flagged issues
MCP For Beginners
microsoft
18kMITOct 30, 2026Scanned, no flagged issues