Skip to content
Conduit

mcp server

DelendAI

Extensible MCP server core and CLI plugin tooling.

CartagoGit/DelendAIcommunitylistedunreviewed

Set up

Runs on your computer. Pick your agent and operating system.

This project does not publish an install method we can turn into a config. Follow the README instead.

README

synced Oct 27, 2026

DelendAI

A project-agnostic core for building MCP servers, and the plugin loader that feeds them.

AI delenda est — AI dismantled into named tools, a hermetic runtime, public errors and private data.

License npm org Bun


What this is

An MCP server you point at a project, and a loader that gives it exactly the capabilities that project needs — no more, so the model's context is not spent on tools nobody will call.

  • Agnostic. Nothing here knows your stack. Capabilities arrive as plugins; the core only knows how to load, isolate and describe them.
  • Cheap by default. Presets and lazy loading decide what reaches the model. A tool that is not published costs nothing to ignore.
  • Hermetic. Plugins read through a contained reader, write atomically, and declare the effects they are allowed to have. What leaves the machine is a decision, never an accident.

It is dogfooded: this repository is developed by agents using the server it builds.

Quickstart

@delendai/cli has not been released to npm yet, so you run it from a checkout:

# 1. Link the CLI once: writes a `delendai` launcher into your global bin
git clone https://github.com/CartagoGit/delendai && cd delendai
bun install && bun run cli:link
# 2. Drive it from the terminal, no client involved
delendai overview
// 3. Or add the server to your MCP client (.vscode/mcp.json)
{
  "servers": {
    "delendai": {
      "command": "bun",
      "args": ["/absolute/path/to/delendai/packages/cli/src/index.ts", "__serve",
               "--workspace", "${workspaceFolder}", "--preset", "standard"]
    }
  }
}

Claude Code reads ~/.claude.json and Codex reads ~/.codex/config.toml; the launch arguments are identical in all of them — only the wrapping changes. Every client's exact snippet →

Choosing what gets loaded

--preset picks a curated set; delendai.config.json overrides it per project.

PresetFor
minimalThe built-ins and little else.
lean · standardEveryday work, growing surface.
swarmSeveral agents on one repository: proposals, locks, coordination.
full · dogfoodEverything, including host-only plugins.
web-app · backend-api · cli-toolStack packs — a tuned set per project shape.

Presets, plugin options and precedence →

Documentation

The pages worth opening first are below. The full set — every guide, what it covers, and the reading order for whichever road you are on — lives in the documentation index.

Start here

Using DelendAIInstall, register, CLI arguments, built-in tools, configuration.
Writing a pluginThe plugin contract, tools, permissions, scaffolding.
ArchitectureLayers, contracts, request flow, the invariants — with diagrams.

Going deeper

Vision and operating modelNorth star, the growth rule, the two speeds, the dogfooding loop.
Configuration CenterEvery setting the runtime reads, and where it comes from.
CI gatesWhat each gate asserts and why it exists.
PublishingHow a release is cut. It is asked for, never automatic.
Branddelendai for tools, DelendAI for prose — and the AI delenda est origin.

Contributing

CONTRIBUTINGHow to propose and land a change.
AGENTSThe rules agents follow in this repository.
SECURITYHow to report a vulnerability.
PRIVACYWhat is collected, what never leaves, and the attribution policy.

Layout

The monorepo keeps the reusable runtime in packages/core, ships first-party capabilities as plugins under plugins/*, and uses apps, extensions, tools and docs as the delivery and verification surfaces around that core.

The table below is generated from the live first-party registry, the workspace package.json files, and the migrated manifests where they exist; do not edit it by hand.

PathPackageWhat
plugins/adaptive-optimizer@delendai/adaptive-optimizerAdaptive optimizer: cheaply rank model, plugin-set and prompt candidates with explicit budget and consent guards.
plugins/agent-orchestrator@delendai/agent-orchestratorWorkflow policy plugin: single / linear / swarm / auto modes with token budgets, iteration caps, and mid-task subagent rotation.
plugins/api@delendai/apiREST/GraphQL API surface for delendai plugins.
plugins/audit@delendai/auditMulti-model audit planning + consolidation; f00139 adds self_audit dogfood loop.
plugins/audit-orchestrator@delendai/audit-orchestratorOrchestrates implementation work generated by project-agnostic audit plan proposals.
plugins/auto-agent-selector@delendai/auto-agent-selectorZero-config multi-agent routing (cost↔quality dial, auto_recommend, escalation).
plugins/auto-plugin-selector@delendai/auto-plugin-selectorRecommends the best plugin set for this project from its signals (manifest, files, git, task).
plugins/browser@delendai/browserHeadless browser automation tools.
plugins/cache@delendai/cacheCache-eviction rules and lifecycle for plugin scratch dirs.
plugins/changelog@delendai/changelogConventional-commits changelog + release plan generator.
plugins/commit-policy@delendai/commit-policyCommit-authority plugin: configurable identity, cadence and audit-trail policy wrapping the git plugin primitives. Off by default — opt in via plugins.commit-policy.options.
plugins/completion@delendai/completionTask-completion notifier: records an agent declaring its original task done + reviewed and pushes a notification.
plugins/container@delendai/containerContainer inspection + lint (docker ps/images, k8s, Dockerfile rules).
plugins/context-for-change@delendai/context-for-changeCompact task-oriented change context orchestration across diff, symbols, tests, docs and conventions.
plugins/conventions@delendai/conventionsRepo file-convention enforcement (interface, constant, service, tool …).
plugins/database@delendai/databaseDatabase schema/introspection tools (read-only, offline).
plugins/deps@delendai/depsDependency inventory + offline health (deps_list, deps_check, deps_audit, deps_licenses, deps_tree).
plugins/diagram@delendai/diagramDiagram generator (mermaid, dot) from code structure.
plugins/docs@delendai/docsDoc generation, search, and rendered catalog.
plugins/env@delendai/envEnvironment config validation (.env check + schema + env_explains).
plugins/error-reporting@delendai/error-reportingAutomatic delendai error reporting, on by default and announced at every start: opens de-duplicated GitHub issues for delendai-internal failures only; one config line turns it off.
plugins/execution-env@delendai/execution-envExecution environments: one contract and registry for running commands locally, in Docker, Docker Compose, over SSH or inside an existing container.
plugins/external-mcps@delendai/external-mcpsCompose third-party MCP servers through the catalog + human ack.
plugins/forge@delendai/forgeForge (GitHub/GitLab) wrappers — PRs, CI, issues.
plugins/framework-knowledge@delendai/framework-knowledgeResolves what the project’s installed framework version allows, recommends and forbids, before an agent writes code.
plugins/git@delendai/gitGit wrappers (PR list/view, diff, changelog, extended).
plugins/github@delendai/githubGitHub read-only provider context, HTTP client and remote resource tools.
plugins/gitlab@delendai/gitlabGitLab read-only provider context, HTTP client and resource tools.
plugins/i18n@delendai/i18ni18n key/interpolation validation across locale JSON files.
plugins/impact-analysis@delendai/impact-analysisBounded impact analysis and test selection across changed symbols, dependents and related specs.
plugins/issues@delendai/issuesIssue tracker (GitHub) integration — list/fetch/analyze/ingest/resolve.
plugins/issues-triage@delendai/issues-triageINTERNAL-ONLY issue triage bot for the delendai repository: reads GitHub issues, classifies them mechanically, drafts fix proposals and replies automatically with a machine-disclosure notice. Never published to npm.
plugins/link-check@delendai/link-checkMarkdown link checker.
plugins/logs@delendai/logsStructured logs reader (tail, query, redact).
plugins/memory@delendai/memoryPersistent memory store (BM25 + recall, save, search).
plugins/notification@delendai/notificationNotification + lock-await primitives.
plugins/observability@delendai/observabilityObservability surface (metrics, errors, telemetry).
plugins/orchestrator-runner@delendai/orchestrator-runnerOrchestrator-runner runtime utilities.
plugins/perf@delendai/perfPerformance bench/bundle/profile tools.
plugins/project-health@delendai/project-healthCompact project-health aggregator: cheap summary first, lazy domain details on demand.
plugins/project-kpis@delendai/project-kpisVersioned project KPI snapshots and observability views across health, usage, economics and delivery.
plugins/prompt-eval@delendai/prompt-evalPrompt-eval harness (golden prompts, scoring).
plugins/prompts-pack@delendai/prompts-packProject-aware MCP prompts (explain-this-code, write-tests-for, review-this-diff, etc.).
plugins/proposals@delendai/proposalsProposals workflow + multi-agent (swarm) orchestration.
plugins/quality@delendai/qualityQuality gates: coverage, complexity, lint, type-check orchestration.
plugins/quality-policy@delendai/quality-policyUnified quality-policy surface: cheap tests, conventions, lint, types and coverage guidance without running heavy quality commands.
plugins/refactor@delendai/refactorRefactor primitives (symbols, definition, references, rename, codemod).
plugins/remote-provider-core@delendai/remote-provider-coreShared remote-provider foundation: validated config, injectable HTTP, normalized errors.
plugins/roadmap@delendai/roadmapVersioned roadmap: what each target version promises, what is delivered, whether it can be promoted, and the bump its promises imply.
plugins/rules@delendai/rulesLint/type rules engine (frameworks, dogmas, presets).
plugins/search@delendai/searchCode search (semantic + symbol + references).
plugins/security@delendai/securitySecurity audit (CVEs, SAST, secrets, env).
plugins/self-learning@delendai/self-learningPer-project learning store: accumulates observations the runtime already writes and answers what this project has taught us.
plugins/skills-pack@delendai/skills-packCurated skill pack (debugging, perf, pr-review, security, incident, migration).
plugins/status-marker@delendai/status-markerStatus marker + closure canonical line.
plugins/style-convention@delendai/style-conventionThe style surface: who may define a selector, what a change to it reaches, and whether a hard-coded value already has a design token.
plugins/tech-debt@delendai/tech-debtTech-debt scanner (TODO/FIXME/HACK inventory).
plugins/test-convention@delendai/test-conventionTest-file convention enforcement (spec path, mock style, forbidden patterns).
plugins/test-policy@delendai/test-policyTest policy mode (TDD, tests-after, free, none).
plugins/usage-tracking@delendai/usage-trackingPer-token/per-call usage tracking (spend, budget).
plugins/web-fetch@delendai/web-fetchWeb fetch (allow-listed URLs only).

Typed tool outputs

Every tool that declares a Zod outputSchema ships a generated TypeScript type for its structuredContent, so MCP clients consume responses type-safely:

import type { GitToolOutputs } from '@delendai/git/public';

const status: GitToolOutputs['git_status'] = result.structuredContent;

Each package exposes a <Pkg>ToolOutputs map (MCP tool name → output type) from its public surface. The types are generated from the live schemas — never edited by hand — and a drift guard in the test suite fails if they go stale:

bun run types:generate   # regenerate src/generated/tool-outputs.ts per package

Develop

bun install
bun run validate    # typecheck + every gate + the full suite
bun run test        # the suite alone
bun run cli -- overview --json

The checked-in .vscode/mcp.json is this repository's canonical launch shape, and the quickest parity check is to ask the server what it loaded:

bun run cli -- overview --json   # pluginDiagnostic.loaded == requested - missing

The full development loop, gates and conventions →


BSD-3-Clause © Cartago

↑↓ navigate openesc close