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.

io.github.pedroknigge/arkgate

NPM · ARKGATE

When the agent writes a bad import, the write doesn’t land. The same check fails the pull request.

Available components

−4 this week 92 Trust /100

Last scanned (13 hours ago)

Scores higher than 95% 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 Security100
  • No malware found by supply-chain analysis.Pass
  • No known CVEs affecting this package version or its production dependencies.Pass
  • No install/post-install scripts declared.Pass
  • 0 of 1 dependencies flagged as unhealthy. View diagnostics → Pass
Provenance & Transparency100
  • Source repository is publicly reachable at the declared URL. View diagnostics → Pass
  • Cryptographically verified build provenance (signed, bound to pedroknigge/arkgate). View diagnostics → Pass
  • Clear OSI-approved license (MIT).Pass
  • Actively maintained (last published 5 days ago).Pass
  • Publishes a security disclosure policy (SECURITY.md).Pass
Schema Quality & AI Usability84
  • 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 1950 tokens (~139/item across 14 items; 13 tools + 1 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 Management67
  • Stability observed for 20 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage88
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 58% of tool parameters carry a description.Partial
  • Structured output schemas are declared (23% of tools); any adoption earns full credit.Pass
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • We read all 13 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
  • An AI judge read all 14 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
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 +1

    No change was recorded against any check on this day. Stability & Change Management went from 63 to 67. That category is still filling its 30-day observation window: 19 days of observed history at the previous scan, 20 at this one. The score rises as the window fills, whether or not the server changes.

  • 4 Nov 26 −5
    • Security disclosure: unverified → pass ▲ functional
    • Stability: pass → 0.63 functional
  • 3 Nov 26 0
    • Security disclosure: pass → unverified ▼ functional
  • 29 Oct 26 0
    • Stability: 0.97 → pass security
  • 28 Oct 26 +1
    • Security disclosure: unverified → pass ▲ functional
  • 27 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 90 to 93. That category is still filling its 30-day observation window: 27 days of observed history at the previous scan, 28 at this one. The score rises as the window fills, whether or not the server changes.

  • 26 Oct 26 0
    • Security disclosure: pass → unverified ▼ functional
  • 24 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 80 to 83. That category is still filling its 30-day observation window: 24 days of observed history at the previous scan, 25 at this one. The score rises as the window fills, whether or not the server changes.

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/arkgate@4.8.24

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 pedroknigge/arkgate
Certificate issuer https://token.actions.githubusercontent.com
Certificate SAN https://github.com/pedroknigge/arkgate/.github/workflows/publish-npm.yml@refs/heads/main
Rekor log index 2995809940
Predicate type SLSA build provenance https://slsa.dev/provenance/v1
Subject digest sha512:16a40f3b3206a8629570e3e1c913a423492ada2516f76a4d6c8428e96c9a29465f4a945808b0da83e993136855ca5a660d091c68181ad01a1fa913f3e

Background: How many MCP packages publish verified provenance →

Dependencies 1 package
Packages resolved 1
Tree resolution Complete

Background: SBOMs and build attestations, explained →

MCP tools · 13 exposed · ~1,904 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
ark_check ~124

Scan the project for architecture findings (layer-import violations, forbidden globals, cycles, config warnings). Returns pass/fail/incomplete plus evidence — not a yes/no architecture score. Same engine as arkgate-check. Applies the baseline when one exists. isError when the scan fails. Prefer after ark_identity.

NameTypeReqDescription
baselineboolean–Suppress pre-frozen violations via .ark-baseline.json. Default: auto (on when the file exists).
projectobject––
strictboolean–Fail on config warnings too (--strict-config). Default true.

Structured output declared, but exposes no named fields.

No examples provided.

ark_coverage ~76

Report what each layer actually governs: per-layer file counts, the FULL list of unclassified (ungoverned) files, layers whose patterns match nothing, and layers with no rule edge. Use this to audit config coverage instead of hand-rolling find/readdir. Report only — never an error.

NameTypeReqDescription
projectobject––

No output schema declared.

No examples provided.

ark_identity ~83

First call. Prove this MCP process is the right project: pass project.expectedRoot (exact absolute root) and reuse the returned projectId. Do this before any other Ark tool. A missing/unmatched root or processPackage.processStale means restart/retarget the host and use the project-local CLI until identity and package versions align.

NameTypeReqDescription
projectobject––

No output schema declared.

No examples provided.

ark_manifest ~58

Return the machine-readable architecture contract with an authoritative project binding when project.expectedRoot matches this MCP project. Prefer this tool over the ark://manifest compatibility resource, whose standard MCP read shape cannot carry a portable project expectation.

NameTypeReqDescription
projectobject––

No output schema declared.

No examples provided.

ark_place ~242

Place a file in the architecture: filePath is required (fail-closed without it — never invents components/*.tsx or defaults to Presentation). Returns layer, mayImport / mustNotImport, forbiddenGlobals, and goldenPattern (load-bearing for NEW code when .ark/golden-pattern.json exists — adopt generates it). When the matched layer has layers[].description, the JSON includes description; the field is omitted when absent. When the matched layer has layers[].trustBoundary (public|auth|admin|internal), the JSON includes trustBoundary; omitted when absent. When the matched layer has layers[].owners, the JSON includes owners; omitted when absent. Call BEFORE writing a new file to learn the layer. Prefer ark_prepare_write only as fallback when the host has no hard pre-hook (or that hook is missing / fail-open) and you already have the source snippet.

NameTypeReqDescription
descriptionstring–What you are building. Does not invent a path — pass filePath. Without filePath the tool fail-closes.
filePathstringyesPath (relative to project root or absolute) of the file to place.
projectobject––

No output schema declared.

No examples provided.

ark_policy_delta ~292

Classify a complete ark.config.json transition as strengthening, neutral, judgment-required, or weakening. Pass the previous baseConfig and optional candidateConfig (defaults to this project contract). Weakening and judgment-required results set isError unless acknowledgement exactly matches both policy hashes and all blocking finding ids, and adrPath names a short note under docs/adr/ or docs/decisions/. Read-only; never edits the contract.

NameTypeReqDescription
acknowledgementobject–Optional schemaVersion/basePolicyHash/candidatePolicyHash/findingIds/reason object. When the transition needs an acknowledgement, adrPath must name a short note under docs/adr/ or docs/decisions/.
baseArkRuleFilesobject–Base ArkRules catalog as data: { "<path from baseConfig.arkRules>": <ArkRules file JSON> }. Required when baseConfig maps arkRules; otherwise the call is refused rather than classifying ArkRule demot…
baseConfigobjectyesPrevious complete ark.config.json object.
candidateArkRuleFilesobject–Candidate ArkRules catalog as data, same shape. Defaults to the files on disk when candidateConfig is omitted or maps the same arkRules files as the project contract (the project ark.config.json pass…
candidateConfigobject–Candidate complete config; defaults to the current project contract.
projectobject––

No output schema declared.

No examples provided.

ark_prepare_change ~120

Validate one complete governed-source create/update/delete batch as an atomic in-memory candidate. Catches cross-file forbidden edges and cycles before any host write, and returns per-file content hashes plus base/candidate tree and policy hashes. Never writes files.

NameTypeReqDescription
changeMapobject–Optional strict schema 1.0 architecture change map. Omit it to use ordinary atomic preflight.
changesarrayyesFull candidate batch. Each item is {path, content} for create/update or {path, delete:true}.
projectobject––

No output schema declared.

No examples provided.

ark_prepare_write ~374

Prepare a write against the architecture contract: place (filePath required; fail-closed without it — never invents a path) + constrain (layer, mayImport, mustNotImport, forbiddenGlobals) + validate source + optional mechanical-safe autoPatch + judgmentBrief when judgment is needed + contentHash for host commit. Also returns the versioned new/worsened designDelta for the proposed full file. Composes ark_place + write-gate. Fallback when the host has no trusted hard pre-hook (or that hook is fail-open). When a hard hook is installed, the host already gates the write; this tool stays available but is not the primary gate. When the matched layer has layers[].description, the JSON includes description; the field is omitted when absent. When the matched layer has layers[].trustBoundary (public|auth|admin|internal), the JSON includes trustBoundary; omitted when absent. When the matched layer has layers[].owners, the JSON includes owners; omitted when absent. Single-file evidence is partial, so valid stays false (isError:true) until complete-candidate preflight; read lexicalValid for the snippet verdict and use ark_prepare_change for a green result. Returns { filePath, layer, description?, trustBoundary?, owners?, valid, lexicalValid, violations?, autoPatch?, judgmentBrief?, contentHash, ... }.

NameTypeReqDescription
descriptionstring–What you are building (hint only). Does not invent a path — pass filePath. Without filePath the tool fail-closes.
filePathstringyesTarget path (preferred). Used for layer inference and autoPatch resolution.
layerstring–Optional explicit layer override (otherwise inferred from filePath).
projectobject––
sourcestringyesFull source text about to be written.

No output schema declared.

No examples provided.

ark_recommend ~79

Score this repository against templates/architecture-playbook.json and return the tool-agnostic application shape to adopt (archetype, preset, phased layer plan, analogy, anti-patterns). Same structured output as ark-check --recommend --json. Call BEFORE generating project structure on greenfield or early-adoption repos.

NameTypeReqDescription
projectobject––

No output schema declared.

No examples provided.

ark_rules_inventory ~73

Deterministic brownfield rules inventory (AR13): validation-in-controller, magic constants, anemic entities, mutation-without-guard. Returns honest counts (inventoried/under-contract/frozen) — never a numeric score. Same plane as ark-check --rules-inventory.

NameTypeReqDescription
projectobject––

No output schema declared.

No examples provided.

ark_status ~75

Unified session/project status manifest (ACS03): project identity binding, honest write-path activation, last-check summary, ArkRules residual counts, and primary next action. Same envelope as `ark status --json`. Never prompts; never a numeric score. Prefer after ark_identity so project.expectedRoot is bound.

NameTypeReqDescription
projectobject––
NameTypeReqDescription
authoritativeboolean––
bindingobject––
contractStaleboolean––
processPackageobject––
projectIdentityobject––
statusobject–Unified session/project status snapshot for agents (identity, activation honesty, last check, rules counts, next action). Not a score.

No examples provided.

ark_suggest_include ~60

Propose ark.config.json include roots from workspaces and nested TypeScript packages (polyglot-safe). Same idea as ark-check --suggest-include. Use when coverage is empty or the contract misses package roots.

NameTypeReqDescription
projectobject––

No output schema declared.

No examples provided.

validate_code ~248

Single-file lexical check of a source snippet against Ark's architecture (forbidden infra imports, unknown intents, layer-reference violations, and the enforced ArkRun / ArkRules structure / ArkOrder sensors CI runs on that file). One file can never prove the whole candidate, so the result is always partial: valid:false and isError:true until complete-candidate preflight. Read lexicalValid and violations for the snippet verdict; use ark_prepare_change (or arkgate-check) for a green result. For hard write-path blocking use the `arkgate-mcp --hook` PreToolUse hook, not this tool. Returns { valid, lexicalValid, completeness, violations, autoPatch? }. autoPatch (when present) is a mechanical-safe rewrite of the source (import type conversion); hosts may apply it instead of re-drafting.

NameTypeReqDescription
filePathstring–Target file path (used to infer layer and for messages).
layerstring–Architecture layer of the target file (e.g. DomainModel). If omitted, inferred from filePath via ark.config.json layer patterns.
projectobject––
sourcestringyesFull source text about to be written.

Structured output declared, but exposes no named fields.

No examples provided.

Install

How do I install the io.github.pedroknigge/arkgate MCP server?

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

npm · arkgate

# add to Claude Code
claude mcp add pedroknigge-arkgate -- npx -y arkgate
Common questions

What is the io.github.pedroknigge/arkgate MCP server?

io.github.pedroknigge/arkgate is an MCP server listed in the public MCP registry as io.github.pedroknigge/arkgate. When the agent writes a bad import, the write doesn’t land. The same check fails the pull request. This page covers its npm package (arkgate).

Is the io.github.pedroknigge/arkgate MCP server safe to use?

io.github.pedroknigge/arkgate scores 92 out of 100 on VerifyMCP. We found no known CVEs affecting 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 io.github.pedroknigge/arkgate MCP server expose?

io.github.pedroknigge/arkgate exposes 13 tools: ark_identity, ark_manifest, validate_code, ark_check, ark_policy_delta, and 8 more. Their descriptions and schemas cost roughly 1,904 tokens of context every time the server is loaded.

Is the io.github.pedroknigge/arkgate MCP server still maintained?

io.github.pedroknigge/arkgate 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 io.github.pedroknigge/arkgate MCP server under?

io.github.pedroknigge/arkgate declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.