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

mcp-architector

NPM · MCP-ARCHITECTOR · SCANNED AUG 3

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

Available components

+31 this week 75 Trust /100
Trust breakdown (6 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 →

Supply Chain Security87
  • No malware found by supply-chain analysis.Pass
  • Only part of the dependency tree could be resolved (96 of 100), so this covers what we could see, not the whole tree.Partial
  • No install/post-install scripts declared.Pass
  • Only part of the dependency tree could be resolved (96 of 100), so this covers what we could see, not the whole tree. 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 66 days ago).Pass
  • Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability56
  • AI-judged instruction clarity (good).Pass
  • Context-footprint check failed: tool/resource definitions use about 4450 tokens (~158/item across 28 items; 28 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 Management23
  • Stability observed for 7 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
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
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Install

Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.

npm · mcp-architector

# add to Claude Code
claude mcp add thesharque-mcp-architector -- npx -y mcp-architector
# add to Codex CLI
codex mcp add thesharque-mcp-architector -- npx -y mcp-architector
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "thesharque-mcp-architector": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "mcp-architector"
      ],
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add thesharque-mcp-architector --command npx --arg -y --arg mcp-architector
# ~/.hermes/config.yaml
mcp_servers:
  thesharque-mcp-architector:
    command: "npx"
    args: ["-y", "mcp-architector"]
// mcp.json
{
  "mcpServers": {
    "thesharque-mcp-architector": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-architector"
      ]
    }
  }
}
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.

  • 3 Aug 26 +3
    • Stability: unverified → 0.23 functional
  • 2 Aug 26 +53
    • Provenance: unverified → pass security
    • Malware scan: unverified → pass security
    • Install scripts: unverified → pass security
    • Known CVEs: unverified → partial security
    • Stability: Stability not yet verified: not enough scan history yet (needs a 30-day window). security
    • The attested source repository moved: theSharque/mcp-architect security
    • License: unverified → pass functional
    • Dependency health: unverified → partial functional
    • Maintenance: unverified → pass functional
    • MCP protocol: unverified → pass functional
    • Schema quality: unverified → good functional
    • Licence: MIT functional
  • 31 Jul 26 +13
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 30 Jul 26 −38
    • Malware scan: pass → unverified security
    • Tool coverage: 100 → unverified functional
    • First check of Schema quality: unverified functional
  • 27 Jul 26 44

    First indexed and scored.

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 3 Aug 2026 · Analysed npm/[email protected]

Provenance verified

Ecosystem: npm · Outcome: verified

Reason: verified

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:
1665940824
Predicate type:
https://slsa.dev/provenance/v1
Subject digest:
sha512:38b4dde0939aea920f78350f5b736e169d5f5e543f54fa425e9de5c15600ae2841d2cdb5f38e725162d03057b899d86179f17b8f1207f875b47f0a86c
Discovery method:
attestation_endpoint
Dependencies 96 packages

96 packages in the resolved dependency tree · 96 deprecated · 29 stale.

The dependency tree was only partially resolved, so these counts may be incomplete.

MCP tools — 28 exposed · ~4,450 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.

Tool Tokens
delete-entries ~125

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
kindstringExact entry kind
kindsarrayEntry kinds
moduleNamestringOnly entries linked to this module
projectIdstringProject id
tagsarrayEntries having any of these tags
NameTypeReqDescription
deletednumberyes
messagestringyes

No examples provided.

delete-entry ~65

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
projectIdstringProject id
NameTypeReqDescription
messagestringyes

No examples provided.

delete-module ~68

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
projectIdstringProject ID (defaults to normalized workdir)
NameTypeReqDescription
messagestringyes

No examples provided.

delete-slice ~64

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

NameTypeReqDescription
projectIdstringProject id
sliceIdstringyesCustom slice id from list-slices
NameTypeReqDescription
messagestringyes

No examples provided.

get-entry ~95

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
projectIdstringProject id; use list-projects if unsure
NameTypeReqDescription
entry

No examples provided.

get-import-stats ~43

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

NameTypeReqDescription
projectIdstringProject id
NameTypeReqDescription
byKindobjectyes
byModuleobjectyes
byTagobjectyes
totalnumberyes

No examples provided.

get-module-details ~108

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
projectIdstringProject ID (defaults to normalized workdir)
NameTypeReqDescription
module

No examples provided.

get-project-architecture ~83

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 from list-projects if unsure.

NameTypeReqDescription
projectIdstringProject ID (defaults to normalized workdir)
NameTypeReqDescription
architecture

No examples provided.

get-slice ~238

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
formatstringcompact=minimal list; detail=full entries; table=rows for API-like kinds (method/path columns)
includeModuleContextbooleanIf true, attach module name+description from architecture when refs.moduleName is set
limitnumberMax items (default 50, max 200)
moduleNamestringFilter by refs.moduleName
offsetnumberSkip first N items after sort (default 0)
projectIdstringProject id
querystringFurther filter by substring in title, summary, kind, tags
sliceIdstringyesBuilt-in id (api, ui, domain, persistence, …) or custom id from list-slices
tagsarrayFilter entries having any of these tags
NameTypeReqDescription
slice

No examples provided.

import-entries ~211

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
deleteOrphansbooleanDelete 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)
moduleNamestringDefault refs.moduleName for entries without refs.moduleName
projectIdstringProject id
upsertByarrayMatch keys (default kind+title)
NameTypeReqDescription
creatednumberyes
deletednumberyes
entryIdsarrayyes
messagestringyes
updatednumberyes

No examples provided.

list-entries ~169

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
kindstringFilter by exact kind, e.g. http-endpoint
limitnumberMax items (default 50, max 200)
moduleNamestringFilter by refs.moduleName
offsetnumberSkip first N matches (default 0)
projectIdstringProject id
querystringCase-insensitive substring in title, kind, or tags
tagsarrayFilter entries having any of these tags
NameTypeReqDescription
entriesarrayyes
hasMorebooleanyes
offsetnumberyes
returnednumberyes
totalnumberyes

No examples provided.

list-modules ~74

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
projectIdstringProject ID (defaults to normalized workdir)
NameTypeReqDescription
modulesarrayyes

No examples provided.

list-projects ~93

Lists all projects in ~/.mcp-architector with projectId, description, moduleCount, updatedAt, isCurrent. Call first when tools return empty/wrong project—the workspace path may normalize to a different id (e.g. _qs_my-app). Then pass projectId to other tools. Optional query filters by id or description.

NameTypeReqDescription
querystringFilter by substring in projectId or description
NameTypeReqDescription
projectsarrayyes

No examples provided.

list-slices ~68

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
projectIdstringProject id
NameTypeReqDescription
slicesarrayyes

No examples provided.

rebuild-data-flow ~111

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
projectIdstringProject ID (defaults to normalized workdir)
pruneOrphansbooleanRemove invalid module references (default true)
sourcestringSource for dependsOn edges (default module-dependencies)
syncInversebooleanRecompute providesTo (default true)
NameTypeReqDescription
edgesAddednumberyes
edgesRemovednumberyes
messagestringyes
modulesUpdatednumberyes

No examples provided.

rebuild-entry-index ~62

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
projectIdstringProject ID (defaults to normalized workdir)
NameTypeReqDescription
itemCountnumberyes
messagestringyes

No examples provided.

refactor-architecture ~239

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
confirmbooleanRequired true when dryRun=false
dryRunbooleanPreview only (default true). Set false with confirm=true to apply
limitnumberMax changes/hits per page (default 15, max 50)
offsetnumberPagination offset (default 0)
operationsarrayyesRefactor operations (max 10 per call)
projectIdstringProject ID (defaults to normalized workdir)
scopeobjectOptional filter: moduleName, kinds, tags
NameTypeReqDescription
changesarrayyes
dryRunbooleanyes
hasMorebooleanyes
hitsarray
offsetnumberyes
statsobjectyes
summarystringyes
warningsarrayyes

No examples provided.

replace-entries ~232

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
deleteOrphansbooleanDelete 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)
moduleNamestringDefault refs.moduleName for entries without refs.moduleName
projectIdstringProject id
scopeobjectyesWhich existing entries participate in orphan deletion
upsertByarrayFields used to match existing entries (default kind+title)
NameTypeReqDescription
creatednumberyes
deletednumberyes
entryIdsarrayyes
messagestringyes
updatednumberyes

No examples provided.

search-entries ~170

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
kindstringExact filter on entry kind
limitnumberMax results per page (default 10, max 50)
moduleNamestringExact filter on refs.moduleName
offsetnumberSkip first N matches (default 0)
projectIdstringProject id
querystringyesSearch text
tagsarrayFilter entries having any of these tags
NameTypeReqDescription
hasMorebooleanyes
offsetnumberyes
resultsarrayyes
returnednumberyes
summarystringyes
totalnumberyes

No examples provided.

set-entries ~213

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)
moduleNamestringDefault refs.moduleName for entries that omit refs.moduleName
projectIdstringProject id
NameTypeReqDescription
entriesCreatednumberyes
entriesUpdatednumberyes
entryIdsarrayyes
messagestringyes
reminderstring
suggestedModuleNamesarray
warningstring

No examples provided.

set-entry ~345

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
idstringEntry 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
payloadobjectKind-specific extra fields only, e.g. method/path for APIs, steps for flow
projectIdstringProject id from list-projects if workspace path may differ; defaults to MCP_PROJECT_ID
refsobject
summarystringyes1-2 sentences; not a module essay—only this fact
tagsarrayOptional 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 ~118

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
dataTransformationstringHow data is transformed between modules
dependsOnarrayModules this module depends on
moduleNamestringyesModule name
projectIdstringProject ID (defaults to normalized workdir)
syncInversebooleanRecompute providesTo from dependsOn (default true)
NameTypeReqDescription
messagestringyes
moduleNamestringyes

No examples provided.

set-module-details ~366

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
dependenciesarrayList of module dependencies
descriptionstringyesDetailed description of the module
factsarrayHorizontal 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.
filesarrayFiles belonging to this module; add matching entry kinds per Controller/Repository
inputsstringyesWhat the module accepts as input
namestringyesModule name
notesstringAdditional notes or comments
outputsstringyesWhat the module produces as output
projectIdstringProject ID (defaults to normalized workdir)
usageExamplesarrayUsage examples for this module
NameTypeReqDescription
entriesCreatednumber
entriesUpdatednumber
entryIdsarray
messagestringyes
moduleIdstringyes
reminderstring
suggestedKindsarray

No examples provided.

set-project-architecture ~234

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. If projectId is wrong, call list-projects first. Do not duplicate entry text in module descriptions.

NameTypeReqDescription
dataFlowobjectData flow between modules; omit to preserve existing
descriptionstringyesOverall project description
modulesarrayyesList of modules in the project
projectIdstringProject ID (defaults to normalized workdir)
replaceDataFlowbooleanReplace entire dataFlow (default false = merge by module name)
replaceModulesbooleanReplace entire modules list (default false = merge by name)
NameTypeReqDescription
messagestringyes
projectIdstringyes

No examples provided.

set-slice ~162

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
descriptionstringWhen an agent should use this slice
idstringyesCustom slice id (avoid colliding with built-in: api, domain, persistence, …)
kindsarrayInclude entries with any of these kind values
projectIdstringProject id
tagsarrayInclude entries having any of these tags
titlestringyesHuman-readable slice name
NameTypeReqDescription
messagestringyes
sliceIdstringyes

No examples provided.

validate ~300

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. Fix issues[] then call validate again.

NameTypeReqDescription
checkEmptySlicesbooleanWarn when api/domain/persistence slices have zero entries but modules exist (default true)
checkEntryCoveragebooleanCheck modules vs entries linkage (default true)
checkInversebooleanCheck providesTo vs dependsOn inverse (default true)
checkModuleDepsbooleanCheck module.dependencies vs dataFlow.dependsOn (default true)
checkModuleEntryCountsbooleanCheck module-too-few-entries when moduleEntryMin is set (default true)
checkSliceCoveragebooleanCheck entries match at least one built-in or custom slice (default true)
checkStoragebooleanCheck module files on disk and entry index drift (default true)
moduleEntryMinnumberMin entries per module when count > 0; omit to disable module-too-few-entries
projectIdstringProject ID (defaults to normalized workdir)
NameTypeReqDescription
checksRunarrayyes
coverageobject
issueCountnumberyes
issuesarrayyes
issuesByKindobjectyes
projectIdstringyes
statsobjectyes
summarystringyes
validbooleanyes

No examples provided.

validate-architecture ~222

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

NameTypeReqDescription
checkEmptySlicesbooleanWarn when api/domain/persistence slices have zero entries but modules exist (default true)
checkEntryCoveragebooleanCheck modules vs entries linkage (default true)
checkInversebooleanCheck providesTo vs dependsOn inverse (default true)
checkModuleDepsbooleanCheck module.dependencies vs dataFlow.dependsOn (default true)
checkModuleEntryCountsbooleanCheck module-too-few-entries when moduleEntryMin is set (default true)
checkSliceCoveragebooleanCheck entries match at least one built-in or custom slice (default true)
checkStoragebooleanCheck module files on disk and entry index drift (default true)
moduleEntryMinnumberMin entries per module when count > 0; omit to disable module-too-few-entries
projectIdstringProject ID (defaults to normalized workdir)
NameTypeReqDescription
checksRunarrayyes
coverageobject
issueCountnumberyes
issuesarrayyes
issuesByKindobjectyes
projectIdstringyes
statsobjectyes
summarystringyes
validbooleanyes

No examples provided.

validate-import ~172

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
checkDuplicatesbooleanDetect duplicate keys in batch (default true)
checkModuleExistsbooleanWarn on unknown refs.moduleName (default true)
entriesarrayyesProposed entries to validate (max 50)
projectIdstringProject id
upsertByarrayMatch keys (default kind+title)
NameTypeReqDescription
validbooleanyes
warningCountnumberyes
warningsarrayyes

No examples provided.