mcp-architector MCP server
io.github.theSharque/mcp-architector·v1.11.1MCP server for architecture and system design. Store and manage project architecture locally.
0 stars49 downloads/wk
Reviews
Write oneNobody has reviewed mcp-architector yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
mcp-architector tools (29, 9 write)
write = sends, deletes, buys or postsRead from the package source without running it. The installed server may list more.
delete-entrieswrite actionBulk delete entries matching kind/moduleName/tags filter. Requires confirm=true. Use before full re-import or to clear a module slice. Prefer replace-entries with deleteOrphans for idempotent sync.
delete-entrywrite actionRemoves one entry and updates the index. Use when a fact is obsolete. Do not use to delete modules—use delete-module. Cannot delete slice definitions—use delete-slice.
delete-modulewrite actionDeletes one module from architecture and its module detail file. Does not delete entries—remove those with delete-entry if needed. Does not delete custom slices.
delete-slicewrite actionDeletes a custom slice definition only. Built-in slices (api, domain, …) cannot be deleted. Does not delete entries—use delete-entry.
fix-datawrite actionRun when catalog JSON is corrupt (list-modules, get-module-details, or validate fail with extra data after JSON). Rewrites the first valid JSON object in architecture, modules, entries, and slices; removes leftover .tmp files; rebuilds the entry index. Does not delete facts. Optional dryRun previews without writing.
get-entryReturns one full entry by id. Use after list-entries or search-entries when you need payload and refs. Do not use for a full API list—use get-slice sliceId=api. Do not use for module structure—use get-module-details.
get-import-statsReturns entry counts grouped by kind, module, and tag. Use after replace-entries/import to verify catalog size.
get-module-detailsReturns one module's full detail (files, dependencies, examples). Use when you know the module name from get-project-architecture or list-modules. If module has files but get-slice is empty, add entries with refs.moduleName=this module. For cross-cutting API/domain lists use get-slice. moduleName must match architecture exactly.
get-project-architectureReturns vertical structure: project description, module list, dataFlow. Use for refactoring boundaries between components. For all HTTP endpoints or domain terms use get-slice—not this tool. For one module's files and examples use get-module-details. projectId is required—call list-projects first.
get-sliceReturns a horizontal project view: filtered entries transformed for agents. Empty slice = no entries with matching kind. Call list-slices first to pick sliceId. format=compact default; table for api/ui slice. Use offset/limit for pagination. Filter further by moduleName or tags.
import-entries… Alias for replace-entries (mode=replace). Pass filter as scope; send up to … entries per call.
list-entriesReturns the entry catalog (id, kind, title, tags, moduleName)—no payload. Supports kind/moduleName/tags filters and pagination (limit max 200). Unlinked entries lack moduleName; run validate after edits. For typed horizontal views use get-slice.
list-modulesLists module summaries from architecture (name, description)—vertical structure only. For horizontal facts (endpoints, tables, terms) use list-slices then get-slice. After edits run validate. Use module names in set-entry refs.moduleName.
list-projectsCall first. Lists projects in ~/.mcp-architector with projectId, description, moduleCount, updatedAt, isCurrent, forbidden. Match this workspace by folder name (query). Pass that projectId to every other tool—never omit, never use default-project. isCurrent is only a hint from MCP_PROJECT_ID. If none matches, create with set-project-architecture using a stable id from the workspace path.
list-slicesLists built-in and custom slice views (filters over entries—not separate stored data). Empty slice = no entries with matching kind, not a missing slice definition. Use before get-slice to pick sliceId (api, domain, persistence, …).
rebuild-data-flowRebuilds dataFlow for all modules from module file dependencies or existing dependsOn edges. Recomputes providesTo and optionally syncs module files. Use instead of editing architecture.json directly.
rebuild-entry-indexRebuilds entries/index.json from entry files on disk. Use when list-entries or get-slice miss entries that exist as files (index drift). Does not modify entry bodies.
refactor-architecturePreview or apply in-repo refactor sync to architector data (no workspace access). Default dryRun=true. Workflow: (1) scan with file/text to list hits, (2) build 1-3 mutation ops, (3) dryRun preview, (4) apply with dryRun=false and confirm=true. Mutations: move-file, replace-path-prefix, rename-text, patch-entry, merge-files, remove-file-ref. Orphan entries with empty refs.files and no entryIds are
replace-entries… Idempotent sync for up to … entries in scope; optionally delete orphans not in this batch. Match by upsertBy (default kind+title). For large catalogs use deleteOrphans=false on intermediate batches, true only on the last batch.
search-entriesCompact navigation search over entries by title, summary, kind, and tags. Returns snippet, matchedIn, slices, and moduleName per hit—use get-entry for full payload. Prefer get-slice when you know the category (api, domain). Filters (moduleName, kind, tags) narrow agent context. Default limit 10.
set-entries… … Set refs.moduleName per entry, or pass top-level moduleName as default. Prefer set-entries in 50-entry chunks over one huge replace-entries payload.
set-entry… Creates or updates one canonical project fact (entry). Use when you discovered a concrete fact while working. Do not use for module structure—use set-module-details. Do not copy module.description into summary; link via refs.moduleName only. Upsert: pass id to update, or omit id to match by kind+title or create new. Example: kind=http-endpoint, title='POST /orders', summary='Creates order', refs
set-module-data-flowwrite actionPatches dataFlow for one module (dependsOn is canonical; providesTo is recomputed). Syncs module file dependencies. Prefer over set-project-architecture for single-module graph edits.
set-module-detailswrite actionCreates or updates one vertical module (files, dependencies, dataFlow sync). IMPORTANT: Slices (api, domain, persistence) are built from entries, not from module text. When adding or updating a module, also add entries this module owns: pass facts[] (http-endpoint, entity, glossary, …) in this call (max 50 per call), or call set-entry / set-entries in 50-entry batches with refs.moduleName=<module
set-project-architecturewrite actionCreates or updates vertical module structure (components and dataFlow)—not horizontal facts. By default merges modules and dataFlow by name; omit dataFlow to keep existing flow. Use replaceModules or replaceDataFlow for full replace. For one module use set-module-details or set-module-data-flow. For bulk flow rebuild use rebuild-data-flow. Each new module still needs entries—use set-module-details
set-sliceSaves a custom slice definition (filter only—no items). Items always live in entries. Use when built-in slices (api, domain, …) are not enough, e.g. filter kinds godot-scene + tag gameplay. Do not store duplicate entry text here. get-slice reads entries through this filter.
validatewrite actionRun after set-project-architecture, set-module-details, set-entry, or set-entries. Returns a compact report (summary, stats, issues by kind)—no need to load the full project in the agent. Checks only known rules: dataFlow consistency, module↔entry links, module detail files, entry index drift, empty api/domain/persistence slices, entry slice coverage, optional module-too-few-entries when moduleEnt
validate-architectureAlias for validate with the same checks. Prefer validate after edits. Legacy name kept for compatibility.
validate-importDry-run validation for a proposed import batch (max … entries). … Checks duplicate upsert keys and unknown moduleName refs without writing.
Public scan report
scanner v0.1.10 · 2026-10-29 · same rubric, same numbers if you re-run it
- Code scan78 source files scanned25/25
- –Live reliabilityno gateway calls yet and no remote to proben/a
- –Tool poisoningtools not inspected (local package is not executed); not countedn/a
- Auth qualitylocal package, no credentials required12/15
- Maintenancelast push 31 days ago12/15
- Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
How mcp-architector compares
Against every graded E-commerce MCP server, from our own scans and uptime checks. Updated after each scan run.
- Safety score
- 88/100
- higher than 85% of 2,170 E-commerce servers
- Tools
- 29
- the typical E-commerce server has 6
- Tools that change things
- 31%
- typical: 0%. Fewer write tools means less an agent can break
- Downloads a week
- 49
- more than 45% of 412 E-commerce servers with a package
What its tools let an agent do: 15 read · 1 create · 9 change · 4 delete
Release history: 2 versions in the registry since 2026-09-01, latest 2026-09-27, typically one every 26 days.
Install mcp-architector in Claude Code, Cursor or VS Code
Runs npx -y mcp-architector on your machine. Read the scan report first; the gateway never runs local packages.
claude mcp add mcp-architector -- npx -y mcp-architector
What the publisher says
From the mcp-architector repository's README, as published. We do not edit it. Read it on GitHub
MCP Architector
Model Context Protocol (MCP) server for architecture and system design
Local-first MCP server that stores and manages project architecture information. All data is stored locally in ~/.mcp-architector for maximum privacy and confidentiality.
📦 Install: npm install -g mcp-architector or use via npx 🌐 npm: https://www.npmjs.com/package/mcp-architector 🔗 GitHub: https://github.com/theSharque/mcp-architect
How to connect to Claude Desktop / IDE
Add the server to your MCP config. Example for claudedesktopconfig.json:
macOS: ~/Library/Application Support/Claude/claudedesktopconfig.json Windows: %APPDATA%\Claude\claudedesktopconfig.json Linux: ~/.config/Claude/claudedesktopconfig.json
{
"mcpServers": {
"architector": {
"command": "npx",
"args": ["-y", "mcp-architector"],
"env": {
"MCP_PROJECT_ID": "${workspaceFolder}"
}
}
}
}For Cursor IDE: Settings → Features → Model Context Protocol → Edit Config, then add the same block inside mcpServers. See the Integration section for more options.
Cursor rule (recommended)
For Cursor IDE and Cursor Cloud Agents, use a phased onboarding rule so the agent does not dump the whole repo into context in one shot.
- Copy .cursor/rules/architector-onboarding.mdc into your project (the repo you are documenting):
mkdir -p /path/to/your-app/.cursor/rules
cp /path/to/mcp-architector/.cursor/rules/architector-onboarding.mdc /path/to/your-app/.cursor/rules/- Ensure MCP Architector is connected. The agent must call list-projects and pass projectId on every write — do not rely on omitting it.
- Ask in chat, for example: "Onboard this repo into architector — phase 0 plan first" or "Import architecture module by module".
The rule is alwaysApply: false — Cursor attaches it when the task matches architecture import/onboarding. It enforces: structure → one module per step → validate after each step → compact tools only.
If you develop this server repo, keep the same file here so contributors and Cloud Agents follow the same workflow when updating ~/.mcp-architector/qsmcp-architector/.
Overview
Store and manage project architecture, modules, scripts, data flow, and usage examples - all locally with complete privacy.
Features
- Local Storage: All data stored in ~/.mcp-architector (privacy-first)
- Project Architecture: Store and retrieve overall project architecture
- Module Details: Detailed information about each module
- Resources: Access architecture data via resources
Storage Structure
~/.mcp-architector/
└── {projectId}/
├── architecture.json # Modules + dataFlow (vertical structure)
├── modules/
│ ├── {moduleId}.json
│ └── ...
├── entries/
│ ├── index.json # Catalog (no duplicate bodies)
│ └── {entryId}.json # Canonical facts (API, domain, flows, …)
├── slices/
│ └── {sliceId}.json # Custom filters only (no items)Data model
Shortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
mcp-architector: common questions
- Is mcp-architector MCP server safe?
- Yes, by our scan: it is graded A (88/100). Read the mcp-architector safety report
- How do I install mcp-architector?
- It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
- Does mcp-architector need an API key?
- Not as far as the registry entry and our scan can tell: no credentials are declared or required.
- Is mcp-architector maintained?
- The last commit was 39 days ago (2026-09-27). The latest release is v1.11.1.
- What can I use instead of mcp-architector?
- Servers from other publishers that do the same job: ApparelHub MCP server, Store Builder MCP server and Apify MCP server.
- How does mcp-architector compare with other E-commerce MCP servers?
- safety score 88/100 (higher than 85% of 2,170 E-commerce servers); tools 29 (the typical E-commerce server has 6); tools that change things 31% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.
Alternatives to mcp-architector
Same job from other publishers: the closest match first, then the best rated.
- ApparelHubRun a custom-merch store from an agent: design, build products, list on every channel, fulfill.not reviewedGrowingA
- Store BuilderDesign, fill with real store data, render and publish Store Builder pages from an AI agent.not reviewedGrowingB
- ApifyExtract data from any website with thousands of scrapers, crawlers, and automations on Apify Store ⚡not reviewedEstablishedA
- Mneme MemoryCross-session memory for AI coding agents via six tools; local-first SQLite store.not reviewedEstablishedA
- HeimdallEvery App Store Connect + StoreKit 2 endpoint. 929 tools in 13 profiles, narrow to 27.not reviewedEstablishedB