Skip to main content

Topos MCP server — structural code-quality tools (SIMPLE/COMPOSABLE/SECURE) for AI coding agents.

Project description

Topos

A structural quality gate for coding agents.

Topos measures complexity, coupling, and risky data flows, then gives your agent a concrete target—from SLOP to GOLD.

Install Topos MCP in VS Code PyPI License Topos MCP server ClawHub

Install · What it checks · Under the hood · Docs · Issues


Why Topos

Coding agents produce working code quickly. The harder question is whether the result is still easy to understand, safe to change, and well-fitted to the rest of the repository. Quality is the new currency.

Topos computes that signal from program structure—not from an LLM review or a style opinion—and returns concrete failure locations and next actions. It is fast enough to sit inside the agent loop: measure, edit, verify, repeat.

Tests check behavior. Topos checks whether the implementation is built to keep changing.

Grounded in category theory, powered by a native-Rust engine.

Under the hood

Topos is a self-contained Rust CLI and MCP server. Analysis runs locally; your source code is not sent to an external model or hosted analysis service.

Component Role
tree-sitter Parses six languages and powers the native AST, CFG, CPG, PDG, and UAST representations.
GitNexus Supplies the repository dependency graph scored by COMPOSABLE (topos depgraph generate). Requires npm install -g gitnexus@1.6.8.
Sighthound Embedded in the MCP server for supplementary security findings; native CPG probes remain the SECURE scoring source.
Graphify Optional advisory orphan and fragile-edge detection via topos graphify / topos_refactor(target="graphify"); does not affect the medal. Requires pip install graphifyy.

The result is one agent-facing contract over several structural lenses: one score to optimize, explicit evidence for each failure, and a verification loop that can tell a real improvement from cosmetic churn.

Install and Quick Start

VS Code MCP Extension

Open the Extensions view, search @mcp topos, select Topos, and choose Install. Or view here: Topos: GitHub's MCP Registry.

Then ask agent mode:

Use Topos to find this repository's worst structural problem, make one focused improvement, and verify the result.

See the agent setup guide for tool permissions and troubleshooting.

Other MCP clients [Claude Code]

Run the self-contained MCP server on demand—no persistent Topos or Python installation required:

claude mcp add --transport stdio topos -- uvx topos-mcp

Setup for Codex, Gemini CLI, Cursor, Windsurf, Antigravity, and manual JSON lives in the agent setup guide.

Standalone CLI

curl -fsSL https://docs.krv.ai/topos/install.sh | bash

Prefer Homebrew?

brew install krv-labs/tap/topos

On Homebrew 6+, that one-liner auto-taps and trusts only this formula. If you brew tap krv-labs/tap first, run brew trust --formula krv-labs/tap/topos before brew install topos.

Then run:

topos evaluate . -r

[!TIP] Want GOLD? Run topos depgraph generate if your agent hasn't already (+ run again after big structural edits), then evaluate with the added CLI flag --gitnexus-dir .gitnexus.

Topos supports Python, Rust, JavaScript, TypeScript, C++, and Go. The CLI defaults to Python; use --language rust|go|javascript|typescript|cpp for another language. See Installation for platform support and alternative install paths.

More ways to use Topos

What Topos checks

Every file gets three independent verdicts:

  • SIMPLE — avoids unnecessary complexity using AST entropy and control-flow complexity.
  • COMPOSABLE — stays decoupled from the repository using module-dependency structure and Martin instability.
  • SECURE — avoids dangerous API reachability and taint paths in the code property graph.

Those verdicts roll up into one memorable quality medal without hiding which pillar failed:

Medal Criteria
🥇 GOLD Passes all 3
🥈 SILVER Passes 2 of 3
🥉 BRONZE Passes 1 of 3
SLOP Passes 0, or fails to parse

Topos also returns ranked refactor guidance: failing metric locations, control-flow cycles, load-bearing dependency edges, process bottlenecks, and optional Graphify knowledge-graph findings. Advisory findings never silently change the scored medal.

How the medal system is derived

The three pillars are pairwise incomparable and form an eight-element evaluation lattice; GOLD is their intersection.

---
config:
  layout: dagre
  theme: neutral
---
graph BT
    SLOP["❌ SLOP<br/>No Medal"]
    SIMPLE["🥉 BRONZE<br/>Simple"]
    COMPOSABLE["🥉 BRONZE<br/>Composable"]
    SECURE["🥉 BRONZE<br/>Secure"]
    SC["🥈 SILVER<br/>S ∧ C"]
    SSc["🥈 SILVER<br/>S ∧ Sc"]
    CSc["🥈 SILVER<br/>C ∧ Sc"]
    IDEAL["🥇 GOLD<br/>Quality Code"]

    SLOP --> SIMPLE
    SLOP --> COMPOSABLE
    SLOP --> SECURE
    SIMPLE --> SC
    SIMPLE --> SSc
    COMPOSABLE --> SC
    COMPOSABLE --> CSc
    SECURE --> SSc
    SECURE --> CSc
    SC --> IDEAL
    SSc --> IDEAL
    CSc --> IDEAL

    style SLOP       fill:#f8d7da,stroke:#842029,color:#000
    style SIMPLE     fill:#cd7f32,stroke:#5c3a1e,color:#fff
    style COMPOSABLE fill:#cd7f32,stroke:#5c3a1e,color:#fff
    style SECURE     fill:#cd7f32,stroke:#5c3a1e,color:#fff
    style SC         fill:#c0c0c0,stroke:#4a4a4a,color:#000
    style SSc        fill:#c0c0c0,stroke:#4a4a4a,color:#000
    style CSc        fill:#c0c0c0,stroke:#4a4a4a,color:#000
    style IDEAL      fill:#ffd700,stroke:#856404,color:#000

Measures · Category-theory foundations

Distribution

Topos ships four ways:

  • GitHub Releases — the topos CLI binary (macOS/Linux), via install.sh or a direct release download.
  • PyPItopos-mcp, a thin bin-wheel bundling the MCP server binary (pip install topos-mcp / uvx topos-mcp), zero Python runtime.
  • VS Code Marketplace — the Topos extension, bundling platform binaries.
  • Docker — a container image for Glama and other MCP-registry hosting.

Crate layout and adapter details: docs.krv.ai/topos/architecture.

Contributing

Topos is used internally at Krv Labs to manage AI-agent code output. We welcome bugs, ideas, and contributions.


Full documentation · Measures and metrics · Engineering notes

Made by Krv Labs

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

topos_mcp-0.4.2-py3-none-manylinux_2_34_x86_64.whl (13.6 MB view details)

Uploaded Python 3manylinux: glibc 2.34+ x86-64

topos_mcp-0.4.2-py3-none-manylinux_2_34_aarch64.whl (13.2 MB view details)

Uploaded Python 3manylinux: glibc 2.34+ ARM64

topos_mcp-0.4.2-py3-none-macosx_13_0_arm64.whl (9.9 MB view details)

Uploaded Python 3macOS 13.0+ ARM64

File details

Details for the file topos_mcp-0.4.2-py3-none-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for topos_mcp-0.4.2-py3-none-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 5d5c1527e4b330b4982bf6c592cc3997292d430695bcc1e0826a05d9015e413d
MD5 ec25e9d42f28100f828d06cc2dab31ac
BLAKE2b-256 ff51b09ff3c3c0252a93aa2f671b6c03fc83828c9e0bbe6fc872204999fa65fb

See more details on using hashes here.

Provenance

The following attestation bundles were made for topos_mcp-0.4.2-py3-none-manylinux_2_34_x86_64.whl:

Publisher: release.yml on Krv-Labs/topos

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file topos_mcp-0.4.2-py3-none-manylinux_2_34_aarch64.whl.

File metadata

File hashes

Hashes for topos_mcp-0.4.2-py3-none-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 a51081dfc0aa7c96ad665cb783c184aefcb83440053df39ff29f1c471cbae188
MD5 a13225b3ca69a4aab5d2cf703138515c
BLAKE2b-256 bc55edb6c6b864d2219e81bee6a85ebcf3bc4d2a7a70c364e075714f4caaec1b

See more details on using hashes here.

Provenance

The following attestation bundles were made for topos_mcp-0.4.2-py3-none-manylinux_2_34_aarch64.whl:

Publisher: release.yml on Krv-Labs/topos

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file topos_mcp-0.4.2-py3-none-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for topos_mcp-0.4.2-py3-none-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 1f5cc7ecc9441491a31fd664420231a923ac74bd955cea35cf0aa0ba005f60fa
MD5 0e2803a5ac614688a45bb3720b7f507b
BLAKE2b-256 a67e118c0558e750888657abbc98cbfd64344c9aace55201c929c45b5adf4774

See more details on using hashes here.

Provenance

The following attestation bundles were made for topos_mcp-0.4.2-py3-none-macosx_13_0_arm64.whl:

Publisher: release.yml on Krv-Labs/topos

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page