# ricardoshuree/mcp-local architecture

> Architecture diagram of the GitHub repository ricardoshuree/mcp-local, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-26). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/ricardoshuree/mcp-local
- Repository: https://github.com/ricardoshuree/mcp-local

## Overview

mcp-local-erp is a local MCP server that gives Claude Desktop scoped read, directory-listing, and controlled write access to a configured project. The main workflow is: Claude requests project reads or proposes a change; a human reviews and approves or rejects the plan; an approved, in-scope write is validated, annotated, persisted, and audited. The harness keeps plan state and its audit log in the server folder, separate from the managed project. The map follows the README and sampled server and harness code; registration-script internals are not mapped.

Main entry points: [`server.py`](https://github.com/ricardoshuree/mcp-local/blob/main/server.py) (MCP server), [`change_control.py`](https://github.com/ricardoshuree/mcp-local/blob/main/change_control.py) (Change-control logic), [`config.yaml`](https://github.com/ricardoshuree/mcp-local/blob/main/config.yaml) (Project config)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_access["Project access"]
  node_server["MCP server<br/>[server.py]"]
  node_config["Project config<br/>[config.yaml]"]
  node_project["Managed project files"]
end

subgraph group_control["Change control"]
  node_cc["Change-control logic<br/>[change_control.py]"]
end

subgraph group_records["Harness records"]
  node_plans[("Plan state<br/>[change_control.py]")]
  node_audit[("Audit log<br/>[change_control.py]")]
end

node_human(("Human reviewer"))
node_claude(("Claude Desktop"))

node_claude -->|"calls MCP tools"| node_server
node_server -->|"loads settings"| node_config
node_server -->|"reads and lists"| node_project
node_server -->|"delegates harness tools"| node_cc
node_server -->|"checks write authorization"| node_cc
node_cc -->|"loads and saves plans"| node_plans
node_cc -->|"appends events"| node_audit
node_human -->|"reviews plan"| node_claude
node_server -->|"writes approved file"| node_project

click node_server "https://github.com/ricardoshuree/mcp-local/blob/main/server.py"
click node_config "https://github.com/ricardoshuree/mcp-local/blob/main/config.yaml"
click node_cc "https://github.com/ricardoshuree/mcp-local/blob/main/change_control.py"
click node_plans "https://github.com/ricardoshuree/mcp-local/blob/main/change_control.py"
click node_audit "https://github.com/ricardoshuree/mcp-local/blob/main/change_control.py"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_server,node_config,node_project,node_human toneBlue
class node_cc toneAmber
class node_plans,node_audit toneMint
class node_claude toneIndigo
```

## Components

### Project access

- [MCP server](https://github.com/ricardoshuree/mcp-local/blob/main/server.py): `server.py`
- [Project config](https://github.com/ricardoshuree/mcp-local/blob/main/config.yaml): `config.yaml`
- **Managed project files**

### Change control

- [Change-control logic](https://github.com/ricardoshuree/mcp-local/blob/main/change_control.py): `change_control.py`

### Harness records

- [Plan state](https://github.com/ricardoshuree/mcp-local/blob/main/change_control.py): `change_control.py`
- [Audit log](https://github.com/ricardoshuree/mcp-local/blob/main/change_control.py): `change_control.py`

### Other components

- **Human reviewer**
- **Claude Desktop**

## Connections

- Claude Desktop → MCP server: calls MCP tools
- MCP server → Project config: loads settings
- MCP server → Managed project files: reads and lists
- MCP server → Change-control logic: delegates harness tools
- MCP server → Change-control logic: checks write authorization
- Change-control logic → Plan state: loads and saves plans
- Change-control logic → Audit log: appends events
- Human reviewer → Claude Desktop: reviews plan
- MCP server → Managed project files: writes approved file
