Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

mcp-architector

NPM · MCP-ARCHITECTOR

MCP server for architecture and system design. Store and manage project architecture locally.

Available components

0 this week 87 Trust /100

Last scanned (10 hours ago)

Scores higher than 91% of npm servers

Category Developer Tools

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →

Supply Chain Security81
  • No malware found by supply-chain analysis.Pass
  • CVE check failed: a known high-severity CVE affects zod 3.25.76, a direct dependency. A fixed version is available. View diagnostics → Fail
  • No install/post-install scripts declared.Pass
  • 30 of 94 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency97
  • Source repository is publicly reachable at the declared URL. View diagnostics → Pass
  • Cryptographically verified build provenance (signed, bound to theSharque/mcp-architect). View diagnostics → Pass
  • Clear OSI-approved license (MIT).Pass
  • Actively maintained (last published 38 days ago).Pass
  • Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability70
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 5252 tokens (~181/item across 29 items; 29 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management100
  • No destabilizing schema changes in the last 30 days.Pass
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 99% of tool parameters carry a description.Partial
  • Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety75
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • 0 of 4 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "delete-module" implies "delete" and declares no destructiveHint at all, which the MCP spec reads as destructive by default. See how to fix → Fail
  • An AI judge read all 30 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
What we tested

Checks we ran (16)

  • Malware scan
  • Known CVEs
  • Install scripts
  • Dependency health
  • Source repository
  • Provenance
  • License
  • Maintenance
  • Security disclosure
  • Schema quality
  • Stability
  • Tool coverage
  • Injection markers
  • Destructive annotations
  • Judged manipulation
  • MCP protocol

Does not apply to this package (2)

  • Endpoint SecurityScored on hosted endpoints only. A package has no live endpoint of its own for us to probe.
  • Transport & ReachabilityScored on hosted endpoints only. A package has no live endpoint of its own for us to probe.

The score does not measure everything. What the score does not measure →

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 5 Nov 26 0
    • Security disclosure: unverified → fail ▼ functional
  • 4 Nov 26 +1
    • Stability: 0.97 → pass security
  • 3 Nov 26 0
    • Security disclosure: fail → unverified ▼ functional
  • 2 Nov 26 −1
    • Stability: pass → 0.93 functional
  • 24 Oct 26 −5
    • CVE-2023-54404 affects this package: high ▼ security
    • Known CVEs: pass → fail ▼ security
    • Package version: 1.9.0 → 1.11.1 functional
  • 22 Oct 26 +1
    • Stability: 0.97 → pass security
  • 21 Oct 26 −1
    • Stability: pass → 0.97 functional
  • 17 Oct 26 +3
    • Stability: 0.80 → pass security
Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 5 Nov 2026 · Analysed npm/mcp-architector@1.11.1

Provenance Verified

A signed build attestation was found and verified, binding this exact artifact to the source repository it claims to come from.

Result Verified
Ecosystem npm
Reason Verified
Discovered via Registry attestation endpoint
Source repo theSharque/mcp-architect
Certificate issuer https://token.actions.githubusercontent.com
Certificate SAN https://github.com/theSharque/mcp-architect/.github/workflows/publish.yml@refs/heads/main
Rekor log index 2978468585
Predicate type SLSA build provenance https://slsa.dev/provenance/v1
Subject digest sha512:5ecddee64207594acd7f84682340bb291e77a95743679d665c87acc3171559b7b7b7dff216208111c45484f7cc6770488980dba57fca9381bc60ecdbc

Background: How many MCP packages publish verified provenance →

Vulnerabilities 1 finding
ID CVE Severity Vector Fix available
GHSA-mrhx-c7xc-m3w5 CVE-2023-54404 high CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H yes

Background: What a vulnerability scan can and cannot prove →

Dependencies 94 packages
Packages resolved 94
Stale 30
Tree resolution Complete

Background: SBOMs and build attestations, explained →

MCP tools · 29 exposed · ~5,216 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
delete-entries ~151

Bulk 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.

NameTypeReqDescription
confirmbooleanyesMust be true to delete; safety guard against accidental bulk delete
kindstring–Exact entry kind
kindsarray–Entry kinds
moduleNamestring–Only entries linked to this module
projectIdstringyesRequired. Call list-projects first (query by workspace folder name) and pass the matching projectId. Never omit. default-project is forbidden.
tagsarray–Entries having any of these tags
NameTypeReqDescription
deletednumberyes–
messagestringyes–

No examples provided.

delete-entry ~91

Removes 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.

NameTypeReqDescription
idstringyesEntry id to delete
projectIdstringyesRequired. Call list-projects first (query by workspace folder name) and pass the matching projectId. Never omit. default-project is forbidden.
NameTypeReqDescription
messagestringyes–

No examples provided.

delete-module ~88

Deletes 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.

NameTypeReqDescription
moduleNamestringyesName of the module to delete
projectIdstringyesRequired. Call list-projects first (query by workspace folder name) and pass the matching projectId. Never omit. default-project is forbidden.
NameTypeReqDescription
messagestringyes–

No examples provided.

delete-slice ~90

Deletes a custom slice definition only. Built-in slices (api, domain, …) cannot be deleted. Does not delete entries—use delete-entry.

NameTypeReqDescription
projectIdstringyesRequired. Call list-projects first (query by workspace folder name) and pass the matching projectId. Never omit. default-project is forbidden.
sliceIdstringyesCustom slice id from list-slices
NameTypeReqDescription
messagestringyes–

No examples provided.

fix-data ~124

Run 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.

NameTypeReqDescription
dryRunboolean–Preview repairs without writing (default false)
projectIdstringyesRequired. Call list-projects first (query by workspace folder name) and pass the matching projectId. Never omit. default-project is forbidden.
NameTypeReqDescription
dryRunbooleanyes–
filesarrayyes–
indexItemCountnumberyes–
projectIdstringyes–
repairednumberyes–
scannednumberyes–
summarystringyes–
tmpRemovednumberyes–
unreadablenumberyes–

No examples provided.

get-entry ~114

Returns 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.

NameTypeReqDescription
idstringyesEntry id from list-entries or search-entries
projectIdstringyesRequired. Call list-projects first (query by workspace folder name) and pass the matching projectId. Never omit. default-project is forbidden.
NameTypeReqDescription
entry–––

No examples provided.

get-import-stats ~69

Returns entry counts grouped by kind, module, and tag. Use after replace-entries/import to verify catalog size.

NameTypeReqDescription
projectIdstringyesRequired. Call list-projects first (query by workspace folder name) and pass the matching projectId. Never omit. default-project is forbidden.
NameTypeReqDescription
byKindobjectyes–
byModuleobjectyes–
byTagobjectyes–
totalnumberyes–

No examples provided.

get-module-details ~128

Returns 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.

NameTypeReqDescription
moduleNamestringyesName of the module to retrieve
projectIdstringyesRequired. Call list-projects first (query by workspace folder name) and pass the matching projectId. Never omit. default-project is forbidden.
NameTypeReqDescription
module–––

No examples provided.

get-project-architecture ~105

Returns 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.

NameTypeReqDescription
projectIdstringyesRequired. Call list-projects first (query by workspace folder name) and pass the matching projectId. Never omit. default-project is forbidden.
NameTypeReqDescription
architecture–––

No examples provided.

get-slice ~264

Returns 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.

NameTypeReqDescription
formatstring–compact=minimal list; detail=full entries; table=rows for API-like kinds (method/path columns)
includeModuleContextboolean–If true, attach module name+description from architecture when refs.moduleName is set
limitnumber–Max items (default 50, max 200)
moduleNamestring–Filter by refs.moduleName
offsetnumber–Skip first N items after sort (default 0)
projectIdstringyesRequired. Call list-projects first (query by workspace folder name) and pass the matching projectId. Never omit. default-project is forbidden.
querystring–Further filter by substring in title, summary, kind, tags
sliceIdstringyesBuilt-in id (api, ui, domain, persistence, …) or custom id from list-slices
tagsarray–Filter entries having any of these tags
NameTypeReqDescription
slice–––

No examples provided.

import-entries ~237

Max 50 entries per bulk call—split large catalogs into batches of ~50 to avoid oversized tool payloads. For full re-import: delete-entries once, then set-entries in 50-entry chunks; or replace-entries with deleteOrphans=false until the final batch (deleteOrphans=true). Alias for replace-entries (mode=replace). Pass filter as scope; send up to 50 entries per call.

NameTypeReqDescription
deleteOrphansboolean–Delete scope entries missing from this batch (default true; set false until final batch)
entriesarrayyesImport batch (max 50 per call)
filterobjectyesScope filter (kind, moduleName, tags)
modestringyesOnly replace mode is supported (full slice sync)
moduleNamestring–Default refs.moduleName for entries without refs.moduleName
projectIdstringyesRequired. Call list-projects first (query by workspace folder name) and pass the matching projectId. Never omit. default-project is forbidden.
upsertByarray–Match keys (default kind+title)
NameTypeReqDescription
creatednumberyes–
deletednumberyes–
entryIdsarrayyes–
messagestringyes–
updatednumberyes–

No examples provided.

list-entries ~195

Returns 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.

NameTypeReqDescription
kindstring–Filter by exact kind, e.g. http-endpoint
limitnumber–Max items (default 50, max 200)
moduleNamestring–Filter by refs.moduleName
offsetnumber–Skip first N matches (default 0)
projectIdstringyesRequired. Call list-projects first (query by workspace folder name) and pass the matching projectId. Never omit. default-project is forbidden.
querystring–Case-insensitive substring in title, kind, or tags
tagsarray–Filter entries having any of these tags
NameTypeReqDescription
entriesarrayyes–
hasMorebooleanyes–
offsetnumberyes–
returnednumberyes–
totalnumberyes–

No examples provided.

list-modules ~94

Lists 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.

NameTypeReqDescription
projectIdstringyesRequired. Call list-projects first (query by workspace folder name) and pass the matching projectId. Never omit. default-project is forbidden.
NameTypeReqDescription
modulesarrayyes–

No examples provided.

list-projects ~110

Call 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.

NameTypeReqDescription
querystring–Filter by substring in projectId or description
NameTypeReqDescription
projectsarrayyes–
reminderstringyes–
suggestedProjectIdstring|nullyes–

No examples provided.

list-slices ~94

Lists 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, …).

NameTypeReqDescription
projectIdstringyesRequired. Call list-projects first (query by workspace folder name) and pass the matching projectId. Never omit. default-project is forbidden.
NameTypeReqDescription
slicesarrayyes–

No examples provided.

rebuild-data-flow ~131

Rebuilds 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.

NameTypeReqDescription
projectIdstringyesRequired. Call list-projects first (query by workspace folder name) and pass the matching projectId. Never omit. default-project is forbidden.
pruneOrphansboolean–Remove invalid module references (default true)
sourcestring–Source for dependsOn edges (default module-dependencies)
syncInverseboolean–Recompute providesTo (default true)
NameTypeReqDescription
edgesAddednumberyes–
edgesRemovednumberyes–
messagestringyes–
modulesUpdatednumberyes–

No examples provided.

rebuild-entry-index ~82

Rebuilds 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.

NameTypeReqDescription
projectIdstringyesRequired. Call list-projects first (query by workspace folder name) and pass the matching projectId. Never omit. default-project is forbidden.
NameTypeReqDescription
itemCountnumberyes–
messagestringyes–

No examples provided.

refactor-architecture ~259

Preview 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 deleted. Does not change module names or dataFlow.

NameTypeReqDescription
confirmboolean–Required true when dryRun=false
dryRunboolean–Preview only (default true). Set false with confirm=true to apply
limitnumber–Max changes/hits per page (default 15, max 50)
offsetnumber–Pagination offset (default 0)
operationsarrayyesRefactor operations (max 10 per call)
projectIdstringyesRequired. Call list-projects first (query by workspace folder name) and pass the matching projectId. Never omit. default-project is forbidden.
scopeobject–Optional filter: moduleName, kinds, tags
NameTypeReqDescription
changesarrayyes–
dryRunbooleanyes–
hasMorebooleanyes–
hitsarray––
offsetnumberyes–
statsobjectyes–
summarystringyes–
warningsarrayyes–

No examples provided.

replace-entries ~258

Max 50 entries per bulk call—split large catalogs into batches of ~50 to avoid oversized tool payloads. For full re-import: delete-entries once, then set-entries in 50-entry chunks; or replace-entries with deleteOrphans=false until the final batch (deleteOrphans=true). Idempotent sync for up to 50 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.

NameTypeReqDescription
deleteOrphansboolean–Delete scope entries missing from this batch (default true; set false until final batch)
entriesarrayyesBatch slice for this scope (max 50; repeat calls for larger catalogs)
moduleNamestring–Default refs.moduleName for entries without refs.moduleName
projectIdstringyesRequired. Call list-projects first (query by workspace folder name) and pass the matching projectId. Never omit. default-project is forbidden.
scopeobjectyesWhich existing entries participate in orphan deletion
upsertByarray–Fields used to match existing entries (default kind+title)
NameTypeReqDescription
creatednumberyes–
deletednumberyes–
entryIdsarrayyes–
messagestringyes–
updatednumberyes–

No examples provided.

search-entries ~196

Compact 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.

NameTypeReqDescription
kindstring–Exact filter on entry kind
limitnumber–Max results per page (default 10, max 50)
moduleNamestring–Exact filter on refs.moduleName
offsetnumber–Skip first N matches (default 0)
projectIdstringyesRequired. Call list-projects first (query by workspace folder name) and pass the matching projectId. Never omit. default-project is forbidden.
querystringyesSearch text
tagsarray–Filter entries having any of these tags
NameTypeReqDescription
hasMorebooleanyes–
offsetnumberyes–
resultsarrayyes–
returnednumberyes–
summarystringyes–
totalnumberyes–

No examples provided.

set-entries ~239

Entries need vertical structure: create modules via set-project-architecture / set-module-details before or when adding entries. Set refs.moduleName to an existing module name from list-modules. Run validate after edits to find entries-without-modules, entry-unlinked, or empty slices. Max 50 entries per bulk call—split large catalogs into batches of ~50 to avoid oversized tool payloads. For full re-import: delete-entries once, then set-entries in 50-entry chunks; or replace-entries with deleteOrphans=false until the final batch (deleteOrphans=true). 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.

NameTypeReqDescription
entriesarrayyesFacts to upsert (max 50 per call; use multiple calls for larger catalogs)
moduleNamestring–Default refs.moduleName for entries that omit refs.moduleName
projectIdstringyesRequired. Call list-projects first (query by workspace folder name) and pass the matching projectId. Never omit. default-project is forbidden.
NameTypeReqDescription
entriesCreatednumberyes–
entriesUpdatednumberyes–
entryIdsarrayyes–
messagestringyes–
reminderstring––
suggestedModuleNamesarray––
warningstring––

No examples provided.

set-entry ~356

Entries need vertical structure: create modules via set-project-architecture / set-module-details before or when adding entries. Set refs.moduleName to an existing module name from list-modules. Run validate after edits to find entries-without-modules, entry-unlinked, or empty slices. 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.moduleName='orders', refs.files=['src/OrderController.java'].

NameTypeReqDescription
idstring–Entry uuid; omit to upsert by kind+title or create new
kindstringyesFree-form type: http-endpoint, glossary, entity, flow, script, godot-scene, etc. Builtin slice list-slices shows recommended kinds per sliceId
payloadobject–Kind-specific extra fields only, e.g. method/path for APIs, steps for flow
projectIdstringyesRequired. Call list-projects first (query by workspace folder name) and pass the matching projectId. Never omit. default-project is forbidden.
refsobject––
summarystringyes1-2 sentences; not a module essay—only this fact
tagsarray–Optional labels for get-slice query filtering
titlestringyesShort unique label for search, e.g. 'POST /orders' or 'Order'
NameTypeReqDescription
entryIdstringyes–
messagestringyes–
reminderstring––
suggestedModuleNamesarray––
warningstring––

No examples provided.

set-module-data-flow ~138

Patches dataFlow for one module (dependsOn is canonical; providesTo is recomputed). Syncs module file dependencies. Prefer over set-project-architecture for single-module graph edits.

NameTypeReqDescription
dataTransformationstring–How data is transformed between modules
dependsOnarray–Modules this module depends on
moduleNamestringyesModule name
projectIdstringyesRequired. Call list-projects first (query by workspace folder name) and pass the matching projectId. Never omit. default-project is forbidden.
syncInverseboolean–Recompute providesTo from dependsOn (default true)
NameTypeReqDescription
messagestringyes–
moduleNamestringyes–

No examples provided.

set-module-details ~386

Creates 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 name>. Max 50 entries per bulk call—split large catalogs into batches of ~50 to avoid oversized tool payloads. For full re-import: delete-entries once, then set-entries in 50-entry chunks; or replace-entries with deleteOrphans=false until the final batch (deleteOrphans=true). Without entries, get-slice will be empty for this module. After edits call validate to verify links. Does not replace other modules. Prefer over set-project-architecture for single-module edits.

NameTypeReqDescription
dependenciesarray–List of module dependencies
descriptionstringyesDetailed description of the module
factsarray–Horizontal facts for this module (APIs, entities, terms). Max 50 per call; use set-entries for more. Each becomes an entry with refs.moduleName set automatically.
filesarray–Files belonging to this module; add matching entry kinds per Controller/Repository
inputsstringyesWhat the module accepts as input
namestringyesModule name
notesstring–Additional notes or comments
outputsstringyesWhat the module produces as output
projectIdstringyesRequired. Call list-projects first (query by workspace folder name) and pass the matching projectId. Never omit. default-project is forbidden.
usageExamplesarray–Usage examples for this module
NameTypeReqDescription
entriesCreatednumber––
entriesUpdatednumber––
entryIdsarray––
messagestringyes–
moduleIdstringyes–
reminderstring––
suggestedKindsarray––

No examples provided.

set-project-architecture ~258

Creates 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 with facts[] or set-entries after bulk structure. For APIs, domain terms, scripts use set-entry + get-slice—not this tool. projectId is required—call list-projects first. Never use default-project. Do not duplicate entry text in module descriptions.

NameTypeReqDescription
dataFlowobject–Data flow between modules; omit to preserve existing
descriptionstringyesOverall project description
modulesarrayyesList of modules in the project
projectIdstringyesRequired. Call list-projects first (query by workspace folder name) and pass the matching projectId. Never omit. default-project is forbidden.
replaceDataFlowboolean–Replace entire dataFlow (default false = merge by module name)
replaceModulesboolean–Replace entire modules list (default false = merge by name)
NameTypeReqDescription
messagestringyes–
projectIdstringyes–

No examples provided.

set-slice ~188

Saves 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.

NameTypeReqDescription
descriptionstring–When an agent should use this slice
idstringyesCustom slice id (avoid colliding with built-in: api, domain, persistence, …)
kindsarray–Include entries with any of these kind values
projectIdstringyesRequired. Call list-projects first (query by workspace folder name) and pass the matching projectId. Never omit. default-project is forbidden.
tagsarray–Include entries having any of these tags
titlestringyesHuman-readable slice name
NameTypeReqDescription
messagestringyes–
sliceIdstringyes–

No examples provided.

validate ~331

Run 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 moduleEntryMin is set. If catalog JSON is corrupt, run fix-data first. Fix issues[] then call validate again.

NameTypeReqDescription
checkEmptySlicesboolean–Warn when api/domain/persistence slices have zero entries but modules exist (default true)
checkEntryCoverageboolean–Check modules vs entries linkage (default true)
checkInverseboolean–Check providesTo vs dependsOn inverse (default true)
checkModuleDepsboolean–Check module.dependencies vs dataFlow.dependsOn (default true)
checkModuleEntryCountsboolean–Check module-too-few-entries when moduleEntryMin is set (default true)
checkSliceCoverageboolean–Check entries match at least one built-in or custom slice (default true)
checkStorageboolean–Check module files on disk and entry index drift (default true)
moduleEntryMinnumber–Min entries per module when count > 0; omit to disable module-too-few-entries
projectIdstringyesRequired. Call list-projects first (query by workspace folder name) and pass the matching projectId. Never omit. default-project is forbidden.
NameTypeReqDescription
checksRunarrayyes–
coverageobject––
issueCountnumberyes–
issuesarrayyes–
issuesByKindobjectyes–
projectIdstringyes–
statsobjectyes–
summarystringyes–
validbooleanyes–

No examples provided.

validate-architecture ~242

Alias for validate with the same checks. Prefer validate after edits. Legacy name kept for compatibility.

NameTypeReqDescription
checkEmptySlicesboolean–Warn when api/domain/persistence slices have zero entries but modules exist (default true)
checkEntryCoverageboolean–Check modules vs entries linkage (default true)
checkInverseboolean–Check providesTo vs dependsOn inverse (default true)
checkModuleDepsboolean–Check module.dependencies vs dataFlow.dependsOn (default true)
checkModuleEntryCountsboolean–Check module-too-few-entries when moduleEntryMin is set (default true)
checkSliceCoverageboolean–Check entries match at least one built-in or custom slice (default true)
checkStorageboolean–Check module files on disk and entry index drift (default true)
moduleEntryMinnumber–Min entries per module when count > 0; omit to disable module-too-few-entries
projectIdstringyesRequired. Call list-projects first (query by workspace folder name) and pass the matching projectId. Never omit. default-project is forbidden.
NameTypeReqDescription
checksRunarrayyes–
coverageobject––
issueCountnumberyes–
issuesarrayyes–
issuesByKindobjectyes–
projectIdstringyes–
statsobjectyes–
summarystringyes–
validbooleanyes–

No examples provided.

validate-import ~198

Dry-run validation for a proposed import batch (max 50 entries). Max 50 entries per bulk call—split large catalogs into batches of ~50 to avoid oversized tool payloads. For full re-import: delete-entries once, then set-entries in 50-entry chunks; or replace-entries with deleteOrphans=false until the final batch (deleteOrphans=true). Checks duplicate upsert keys and unknown moduleName refs without writing.

NameTypeReqDescription
checkDuplicatesboolean–Detect duplicate keys in batch (default true)
checkModuleExistsboolean–Warn on unknown refs.moduleName (default true)
entriesarrayyesProposed entries to validate (max 50)
projectIdstringyesRequired. Call list-projects first (query by workspace folder name) and pass the matching projectId. Never omit. default-project is forbidden.
upsertByarray–Match keys (default kind+title)
NameTypeReqDescription
validbooleanyes–
warningCountnumberyes–
warningsarrayyes–

No examples provided.

Install

How do I install the mcp-architector server?

mcp-architector runs locally as an npm package, launched with npx -y mcp-architector. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

npm · mcp-architector

# add to Claude Code
claude mcp add thesharque-mcp-architector -- npx -y mcp-architector
Common questions

What is the mcp-architector server?

mcp-architector is listed in the public MCP registry as io.github.theSharque/mcp-architector. MCP server for architecture and system design. Store and manage project architecture locally. This page covers its npm package (mcp-architector).

Is the mcp-architector server safe to use?

mcp-architector scores 87 out of 100 on VerifyMCP. We recorded 1 known advisory against it as of 5 November 2026. It declares no install or post-install scripts. Its build provenance is signed and verified. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the mcp-architector server expose?

mcp-architector exposes 29 tools: set-project-architecture, get-project-architecture, list-projects, set-module-details, get-module-details, and 24 more. Their descriptions and schemas cost roughly 5,216 tokens of context every time the server is loaded.

Is the mcp-architector server still maintained?

mcp-architector is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

What licence is the mcp-architector server under?

mcp-architector declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.

What did VerifyMCP test on the mcp-architector server?

VerifyMCP ran 16 checks on mcp-architector, covering Malware scan, Known CVEs, Install scripts, Dependency health and 12 more. Endpoint Security and Transport & Reachability do not apply to an npm package, so they were not tested. The score does not measure everything, and the scoring documentation lists what it leaves out.