# archsteer

archsteer derives a project architecture model from source code, checks files, and gives agents target patterns. Use it to track rule drift.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 5
- Author: einvoice-dev1
- License: MIT · policy=link-only · description only; the file stays with the author
- Source: https://github.com/einvoice-dev1/archsteer
- Updated: 2026-07-30
- HTML: https://affpapa.org/en/nevibecode/mcp/archsteer

## What it does

archsteer creates a code-derived project model at `.archsteer/model.json`. Its MCP server exposes `current_architecture`, `get_target_pattern`, and `check_file`, so an agent can inspect the current structure, ask for the intended pattern, or validate one file. Repository analysis runs locally, and the first scan requires no account, API key, or configuration.

The CLI can scaffold `.archsteer/`, build the model, regenerate architecture docs and ADR drafts, score rule conformance, set a baseline, and run checks for CI or pre-commit use. Supported languages include JavaScript / TypeScript, Python, Java, and Salesforce Apex, with signals for Next.js App Router, Spring, and Apex conventions. The MCP setup depends on `uvx` being available, since the server is launched through that command.

archsteer can connect to Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, and Gemini CLI. In Claude Code, add it with `claude mcp add archsteer -- uvx archsteer`; the standalone CLI is installed with `pip install archsteer`.

## Requirements
- Needs: Python and uv (commands run via uvx)

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add archsteer -- uvx archsteer
```
uvx runs the command named after the package; if the README names another one, use uvx --from archsteer <command>

### Codex

**Platform CLI**
```bash
codex mcp add archsteer -- uvx archsteer
```
uvx runs the command named after the package; if the README names another one, use uvx --from archsteer <command>

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "archsteer": {
            "command": "uvx",
            "args": [
                "archsteer"
            ]
        }
    }
}
```
uvx runs the command named after the package; if the README names another one, use uvx --from archsteer <command>

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "archsteer": {
            "type": "stdio",
            "command": "uvx",
            "args": [
                "archsteer"
            ]
        }
    }
}
```
uvx runs the command named after the package; if the README names another one, use uvx --from archsteer <command>

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add archsteer uvx archsteer
```
uvx runs the command named after the package; if the README names another one, use uvx --from archsteer <command>

## When to use it
- derive a dependency map from an existing codebase
- check a file against declared architecture rules
- regenerate living architecture documentation and ADR drafts
- set a baseline and reject new rule violations
- give an agent the intended pattern for a code change

## Example prompts
- Show the current architecture and its main layer boundaries.
- Check `src/controllers/payment.js` against the project rules and explain the violations.
- Tell me which target pattern to use for adding a service here.

## Similar
- [REA](https://affpapa.org/en/nevibecode/mcp/rea.md) — MCP server · ★ 392262
- [GitHub](https://affpapa.org/en/nevibecode/mcp/github.md) — MCP server · ★ 33989
- [Netdata](https://affpapa.org/en/nevibecode/mcp/netdata.md) — MCP server · ★ 81163
- [browser-use](https://affpapa.org/en/nevibecode/mcp/browser-use.md) — MCP server · ★ 119231
- [Codebase Memory](https://affpapa.org/en/nevibecode/mcp/codebase-memory.md) — MCP server · ★ 47577
- [mcp-server](https://affpapa.org/en/nevibecode/mcp/mcp-server.md) — MCP server · ★ 43902

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
