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.

Ontology Atlas

MCPB · ONTOLOGY-ATLAS-MCP-0.13.0.MCPB · SCANNED SEP 21

Read and write one codebase ontology kept as Markdown in the repository.

+5 this week 47 Trust /100
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 Security13
  • Malware scan not yet available for this package.Unverified
  • Known CVEs could not be checked: this artifact ships no SBOM, so there is no dependency list to read. Publishing one would let us assess it.Unverified
  • No install/post-install scripts declared.Pass
  • Dependency health could not be checked: this artifact ships no SBOM, so there is no dependency list to read. Publishing one would let us assess it.Unverified
Provenance & Transparency48
  • Source repository is publicly reachable at the declared URL. View diagnostics → Pass
  • Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
  • Clear OSI-approved license (MIT).Pass
  • Actively maintained (last published 10 days ago).Pass
  • Publishes a security disclosure policy (SECURITY.md).Pass
Schema Quality & AI Usability60
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 19463 tokens (~512/item across 38 items; 38 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 Management33
  • Stability observed for 10 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage99
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 95% of tool parameters carry a description.Partial
  • Structured output schemas are declared (100% 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
  • All 4 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
  • An AI judge read all 39 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
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.

mcpb · ontology-atlas-mcp-0.13.0.mcpb

Download bundle
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.

  • 21 Sept 26 +1

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

  • 19 Sept 26 +4
    • Stability: unverified → 0.27 functional
  • 11 Sept 26 42

    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 21 Sept 2026 · Analysed mcpb/https://github.com/wlsdks/ontology-atlas/releases/download/v1.2.0/ontology-atlas-mcp-0.13.0.mcpb

Provenance No attestation

The registry publishes no build provenance for this version, so there is nothing to verify.

Result No attestation
Ecosystem mcpb

Background: How many MCP packages publish verified provenance →

MCP tools · 38 exposed · ~15,600 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
query_ontology ~3,503

Analysis archive: `analysis_history` reads immutable diagnostic Markdown summaries without compiling the graph; use analysisMode, project, limit (1–100 scanned files, default 30), and analysisCursor. `analysis_record` reads one exact run or review with recordId (UUID). Records retain raw answers, full-body evidence when available, request scope and uncertainty. They are not approved ontology facts; stored qualification describes captured evidence, never current source validity. Reviews are joined to their exact run/finding id. Follow pagination even if a filtered page is empty. These archive operations do not support query_plan. Run graph-engine queries over the freshly compiled ontology artifact. Operations: `neighbors` (local graph neighborhood), `path` (one compiled-edge route between two nodes with aligned `nodes[]` summaries), `all_paths` (bounded simple paths between two nodes with per-path `nodes[]` summaries plus limit/searchBudget/exhaustive/truncatedByBudget/totalPathsExact metadata and evidence guidance), `query_plan` (EXPLAIN-style side-effect-free cost/index estimate plus execution advice before a target operation, filter-preserving suggestedQuery, and filter-aware estimate.totalMatches for match_nodes/match_edges), `centrality` (PageRank-style core-node ranking plus bridge/authority/hub lists), `communities` (label-propagation clusters inside the graph), `similar_nodes` (duplicate/overlap candidates before writes), `explain_relation` (direct edges, shortest path, and shared-neighbor explanation between two nodes), `reachability` (transitive graph closure from a start node), `pattern_walk` (explicit relation-sequence paths such as project → domains → capabilities), `impact` (incoming by default: what depends on this node), `blast_radius` (impact grouped by kind/domain with cross-domain edge risk), `subgraph` (bounded N-hop graph slice for UI/agent views), `builder_context` (persisted Workshop focus, layout positions, direct graph slice, and safe write…

NameTypeReqDescription
afterActionIdstringmaintenance_plan only: stable action id cursor; return actions after this id. Without afterActionId the ready page reports cursor.found=true and cursor.reason=null; cursor.nextAfterActionId matches t…
analysisCursorstringanalysis_history only: nextCursor from the preceding scanned-file page.
analysisModestringanalysis_history only: optional analysis subject filter.
candidateSlugstringsimilar_nodes only: proposed slug for a not-yet-written concept candidate.
componentLimitintegerhealth/workspace_brief/agent_brief only: positive integer max connected components to inspect. Defaults to 5, capped at 500.
componentTypesarrayhealth/workspace_brief/agent_brief only: relation types used for connected-component checks. Defaults to the full graph relation set.
cursorstringmeaning_repair_review only: opaque stateless cursor returned as pagination.nextCursor. Omit for the first page.
cycleLimitintegerhealth/workspace_brief/agent_brief only: positive integer max dependency cycles to inspect. Defaults to 5, capped at 500.
dependencyTypesarrayhealth/workspace_brief/agent_brief only: dependency relation types used for cycle and topological-order checks. Defaults to ["dependencies"].
depthintegerreachability/impact/blast_radius/subgraph/lineage/containment_tree traversal depth. Defaults to 3 for reachability, 2 for impact/blast_radius/subgraph, and 20 for lineage/containment_tree; capped at…
detailstringagent_brief only: compact v2 returns a task-scoped, selected-project handoff capped at 12000 UTF-8 JSON bytes, including exact reviewed taskNavigation only when the bound source is current; full retu…
directionstringneighbors/reachability/impact/blast_radius/subgraph/builder_context: incoming, outgoing, or both. path/all_paths/explain_relation/reachability also accepts undirected.
domainstringmatch_nodes: optional exact domain filter. domain_profile: domain root slug or unique alias.
executableOnlybooleanmaintenance_plan only: when true, return only actions with a proposed tool call.
expectedGraphHashstringmeaning_repair_review first page: exact graphHash from meaningRepair:v2 provenance. Later nextCall values are revision-bound and omit it.
expectedSourceFingerprintstringmeaning_repair_review first page: exact current sourceFingerprint from meaningRepair:v2 provenance. Later nextCall values are revision-bound and omit it.
fromstringSource node slug or unique alias. Required for path, all_paths, and explain_relation.
fromKindstringmatch_edges only: optional source node kind filter (project, domain, capability, element, document, vault-readme). Source must be a real ontology node, not external/unresolved.
hasIncomingbooleanmatch_nodes only: require presence or absence of incoming graph edges.
hasOutgoingbooleanmatch_nodes only: require presence or absence of outgoing graph edges.
includeExternalbooleanneighbors only: include external path-like element refs. Defaults false.
includeIsolatedbooleantopological_order only: include nodes that are not connected by the selected relation types. Defaults false.
includeOrphansbooleancontainment_tree only: include ancestorless nodes not reached from project roots. Defaults false.
includeUnresolvedbooleanneighbors only: include dangling unresolved refs. Defaults false.
itemLimitintegerproject_map only: positive integer max capability/element/hotspot summaries per domain. Defaults to 20, capped at 500.
iterationsintegercentrality/communities only: positive integer PageRank or label-propagation iteration count. Defaults to 20, max 100.
kindstringmatch_nodes: optional node kind filter (project, domain, capability, element, document, vault-readme). recommend_relations currently supports capability or element.
kindsarraymaintenance_plan only: optional action-kind filter, e.g. ["add_missing_relation", "canonicalize_graph_arrays"].
limitintegerPositive integer max rows/components/order entries to return. Defaults to 100, capped at 500.
maxDegreeintegermatch_nodes only: non-negative integer maximum total graph degree.
maxHopsintegerpath/all_paths/explain_relation traversal hop cap or cycles max depth. Defaults to 5 for path/all_paths/explain_relation and 8 for cycles; capped at 20.
minDegreeintegermatch_nodes only: non-negative integer minimum total graph degree.
minInDegreeintegermatch_nodes only: non-negative integer minimum incoming graph degree.
minOutDegreeintegermatch_nodes only: non-negative integer minimum outgoing graph degree.
nodeLimitintegercomponents/communities/health/workspace_brief/agent_brief only: positive integer max node summaries per component/community group. Defaults to 25 for components/communities and 10 for health, capped…
operationstringyesQuery operation to run.
orderLimitintegerhealth/workspace_brief/agent_brief only: positive integer max topological-order rows to inspect. Defaults to 20, capped at 500.
patternarraypattern_walk only: required relation sequence to follow, e.g. ["domains", "capabilities", "elements"]. depends_on is normalized to dependencies.
phasesarraymaintenance_plan only: optional phase filter, e.g. ["repair", "link", "materialize"].
projectstringdomain_matrix/project_scope/project_map/agent_brief/meaning_repair_review: project root slug or unique alias. Required for meaning_repair_review; optional when exactly one kind: project node exists f…
recommendationLimitintegerhealth/workspace_brief/agent_brief only: positive integer max relation recommendations to inspect. Defaults to 20, capped at 500.
recordIdstringanalysis_record only: immutable analysis or diagnostic-review UUID.
relationstringAlias for type when operation is relation_check.
reviewRevisionstringmeaning_repair_review only: sha256 revision from meaningRepair:v2, binding graph/source/typed rows/target mtimes.
searchBudgetintegerall_paths, query_plan(all_paths), and cycles: maximum DFS states to expand before returning partial results. Defaults to 5000. For cycles this is the only bound that fires on an ACYCLIC graph — when…
seedstringAlias for slug when operation is subgraph or builder_context.
severitiesarraymaintenance_plan only: optional severity filter, e.g. ["fail", "warn"].
slugstringCenter/root node slug or unique alias. builder_context also accepts its own canonical Workshop focusParam (for example domain:auth). Required for neighbors, reachability, pattern_walk, impact, blast_…
slugContainsstringmatch_nodes only: optional case-insensitive substring filter on canonical slug.
sortstringmatch_nodes only: sort rows by degree, inDegree, outDegree, or slug. Defaults to degree.
targetOperationstringquery_plan only: read-only graph operation to explain before execution. Excludes query_plan, meaning_repair_review, analysis_history and analysis_record.
taskstringagent_brief detail:"compact" only: request-local coding task used to select persisted capability, element, and reviewed navigation evidence after Definition/Includes/Excludes compatibility. Conflicti…
titlestringsimilar_nodes only: proposed title for a not-yet-written concept candidate.
tostringTarget node slug or unique alias. Required for path, all_paths, and explain_relation.
toKindstringmatch_edges only: optional target kind filter (project, domain, capability, element, document, vault-readme, external, unresolved). Use external or unresolved for non-node refs.
typestringRelation type for relation_check/match_edges, e.g. depends_on, relates, contains, describes, domains, capabilities, elements, or domain.
typesarrayOptional relation types to include, e.g. ["dependencies"] or ["depends_on"].
NameTypeReqDescription
compiledSummaryobject
operationstringyes

No examples provided.

read_source ~379

Read the text of one raw source under `sources/`, cut into the units a wiki citation names (`docs/ONTOLOGY-ATLAS-SPEC.md` §11): a DOCX by heading (`h:<slug>`; paragraphs before the first heading are `p1`), an XLSX by sheet and row (`s<n>r<m>`), a CSV by row (`r<n>`), a text or HTML file by line (`l<n>`). Each unit carries the exact anchor to write into `[[src:sources/<file>#<anchor>]]`, so a page cites what it quotes. A PDF returns no text: the agent runtime reads PDFs natively, page by page, and cites `#p<n>`. Nothing is converted and kept — the file is read on request and the text returned once. Paging: `from` (1-based unit index) and `limit` (default 200, max 1000); when `truncated` is true, `next` is the `from` to continue with. `sheet` narrows a workbook to one sheet number. Returns `{ path, format, unitCount, from, units: [{anchor, text, kind, heading?, sheet?}], truncated, next?, sha256, note? }`. side effect 0. Use it in place of a shell command when a Compile, Check or ask turn needs what a DOCX or XLSX says.

NameTypeReqDescription
frominteger1-based index of the first unit to return. Default 1.
limitintegerUnits to return at most. Default 200.
pathstringyesVault-relative path under `sources/` (`sources/plan.docx`).
sheetintegerXLSX only: return one sheet, by its number in workbook order.
NameTypeReqDescription
formatstringyes
fromintegeryes
nextinteger
notestring
pathstringyes
sha256stringyes
truncatedbooleanyes
unitCountintegeryes
unitsarrayyes

No examples provided.

reclassify_concept ~142

⚠ MULTI-FILE WRITE — change a concept kind and optionally its canonical slug/domain in one previewable transaction. The permanent UID is preserved. Redirects backlinks like rename_concept and replaces a generated starter body with the new kind template while preserving custom prose. Defaults to dry-run.

NameTypeReqDescription
bodystringOptional explicit replacement body.
confirmboolean
domainstring|nullNew domain; required for capability/element.
expected_mtimenumber
newKindstringyes
newSlugstringOptional new canonical slug.
slugstringyesCurrent canonical slug.
NameTypeReqDescription
backlinkUpdatesobjectyes
blockedReasonsarrayyesMachine-readable human explanations for every condition currently blocking confirmation.
bodyActionstringyes
canConfirmbooleanyesTrue only when repeating the call with confirm:true can perform the previewed change without another explicit safety opt-in.
changedbooleanyes
dryRunbooleanyes
newKindstringyes
newSlugstringyes
okbooleanyes
oldKindstringyes
oldSlugstringyes
postWriteMaintenanceobjectCompact maintenance_plan summary for post-write follow-up. Bucket maps describe the remaining queue after the write.
previewReadybooleanyesTrue only when this response is a complete dry-run preview that an agent can review.
sourcePathstringyes
targetPathstringyes
uidstringyes
wouldChangebooleanyesTrue only when the dry-run predicts a disk or Git change.

No examples provided.

remove_relation ~110

Safely remove one exact typed relation and its `relation_notes` rationale from a source node. Defaults to dry-run; pass confirm:true to write. Supports expected_mtime conflict protection. Use this instead of replacing a whole frontmatter array with patch_concept.

NameTypeReqDescription
confirmbooleanActually remove when true; default is dry-run.
expected_mtimenumber
fromstringyesSource slug.
tostringyesTarget slug.
typestringyes
NameTypeReqDescription
blockedReasonsarrayyesMachine-readable human explanations for every condition currently blocking confirmation.
canConfirmbooleanyesTrue only when repeating the call with confirm:true can perform the previewed change without another explicit safety opt-in.
changedbooleanyes
dryRunbooleanyes
existsbooleanyes
fromstringyes
keystringyes
okbooleanyes
postWriteMaintenanceobjectCompact maintenance_plan summary for post-write follow-up. Bucket maps describe the remaining queue after the write.
previewReadybooleanyesTrue only when this response is a complete dry-run preview that an agent can review.
removedRationalestring
tostringyes
typestringyes
wouldChangebooleanyesTrue only when the dry-run predicts a disk or Git change.

No examples provided.

rename_concept ~436

⚠ MULTI-FILE WRITE — change a slug and update every backlink in one atomic graph-level operation. The node UID is preserved; only its current human-readable slug changes. Renames the .md file (oldSlug → newSlug, directory move OK), updates the moved file's frontmatter `slug:` key, and rewrites every backlink — frontmatter array entries (capabilities / elements / dependencies / relates / contains / describes), inline-string keys, and body links `[[oldSlug]]` / `(oldSlug.md)`. Tail-only references (`mcp-server` for `capabilities/mcp-server`) are also redirected to the new tail. Two-stage safety: 1. Without confirm: true the call is a dry-run — returns `updates` (each affected file with before/after array keys + bodyChanged flag) without writing. 2. With confirm: true the file is moved and all backlinks are rewritten in one pass. Throws if oldSlug missing or newSlug already taken (unless overwrite: true). Use this instead of patch_concept + N find_backlinks + N patch_concept loops. Confirmed writes return compact `postWriteMaintenance` (maintenance_plan) with count-safe `byPhase` / `bySeverity` / `byKind` queue buckets, action `score`, executable `proposedAction`, and current-page `nextExecutableAction` / `nextReviewAction` pointers for the final graph.

NameTypeReqDescription
confirmbooleanActually perform the rename when true. Omit or false for a dry-run preview.
expected_mtimenumberOptional conflict guard for oldSlug. Pass the `mtime` from get_concept; throws VaultConflictError if the source has been modified externally since you read it.
newSlugstringyesTarget vault-relative slug (omit the .md extension). Directories are created if needed.
oldSlugstringyesCurrent vault-relative slug (omit the .md extension).
overwritebooleanAllow overwriting an existing file at newSlug. Defaults to false (throws if newSlug exists).
NameTypeReqDescription
backlinkUpdatesobjectyes
blockedReasonsarrayyesMachine-readable human explanations for every condition currently blocking confirmation.
canConfirmbooleanyesTrue only when repeating the call with confirm:true can perform the previewed change without another explicit safety opt-in.
changedboolean
dryRunbooleanyes
messagestring
movedbooleanyes
newSlugstringyes
okbooleanyes
oldSlugstringyes
postWriteMaintenanceobjectCompact maintenance_plan summary for post-write follow-up. Bucket maps describe the remaining queue after the write.
previewReadybooleanyesTrue only when this response is a complete dry-run preview that an agent can review.
sourcePathstringyes
targetPathstringyes
uidstringyes
wouldChangebooleanyesTrue only when the dry-run predicts a disk or Git change.

No examples provided.

replace_relation ~120

Atomically replace one exact relation with a new target and/or type, moving or replacing its rationale in the same frontmatter write. Defaults to dry-run; pass confirm:true to write. Supports expected_mtime.

NameTypeReqDescription
confirmboolean
expected_mtimenumber
fromstringyesSource slug.
newTostringyesReplacement target slug.
newTypestringyes
oldTostringyesCurrent target slug.
oldTypestringyes
whystring
NameTypeReqDescription
blockedReasonsarrayyesMachine-readable human explanations for every condition currently blocking confirmation.
canConfirmbooleanyesTrue only when repeating the call with confirm:true can perform the previewed change without another explicit safety opt-in.
changedbooleanyes
dryRunbooleanyes
fromstringyes
newRelationobjectyes
okbooleanyes
oldRelationobjectyes
postWriteMaintenanceobjectCompact maintenance_plan summary for post-write follow-up. Bucket maps describe the remaining queue after the write.
previewReadybooleanyesTrue only when this response is a complete dry-run preview that an agent can review.
wouldChangebooleanyesTrue only when the dry-run predicts a disk or Git change.

No examples provided.

validate_vault ~370

R+ (cycle 46) — validate every doc in the vault, return per-doc + per-code aggregate. Replaces the K-round-trip pattern of `list_concepts` then per-doc `get_concept` (whose `warnings: [...]` is per-file). 8 issue codes — `unclosed-frontmatter`, `parse-zero-keys`, `malformed-frontmatter-line`, `malformed-quoted-scalar`, `missing-kind`, `empty-kind`, `unknown-kind`, `missing-uid`, `invalid-uid`, `invalid-merged-uids`, `non-canonical-merged-uids`, `missing-expected-field`, `non-canonical-graph-array`, `dangling-graph-reference`, `duplicate-slug`, `duplicate-uid`. Returns `{ scanned, problems: [{slug, issues: [{code, severity, message}]}], summary: { problemFiles, errorFiles, warningFiles, byCode: { code: { severity, count, files } } } }`. Also returns `pathDrift`: frontmatter `path:` / `elements:` source paths that no longer exist on disk (vault→code drift), resolved against `repoRoot` (default: the active resolved repository root from connection_info). Ontology-slug references are never flagged. Fix via `patch_concept` or remove the stale entry. side effect 0. Use when an agent needs the *whole-vault* health view: first-contact before writes, before / after a batch write, or surfacing issues to the user.

NameTypeReqDescription
repoRootstringRepository root that frontmatter source paths resolve against, for the pathDrift check. Defaults to the active resolved repository root from connection_info. Pass this if the vault lives apart from t…
NameTypeReqDescription
pathDriftobjectyesVault→code path drift: frontmatter source paths missing on disk, resolved against repoRoot.
problemsarrayyes
scannedintegeryesNumber of vault markdown files scanned.
summaryobjectyes

No examples provided.

validate_wiki ~388

Judge the pages under `wiki/` against the wiki page contract (`docs/ONTOLOGY-ATLAS-SPEC.md` §11): no `kind:`, the seven required frontmatter fields, the five sections in order, a citation on every bullet under `## Facts`, and a cited path that is both declared in `sources:` and present in the folder. A wiki page is **not** an ontology node — it carries no `kind:` by contract, which is what keeps it out of the graph — so `validate_vault` says nothing about whether one fits its own shape. This is that answer. Problem codes: kind-present, missing-field:<key>, section-order, uncited-fact, bad-citation, bad-truncation-record, citation-target-missing, describes-needs-approval. The optional `sources_truncated:` key lists which paths in `sources:` the run read only part of; it is what lets a reader tell a document written up whole from one written up in part. Returns `{ pageCount, failingCount, pages: [{path, problems: [{code, message, line?}]}] }` — the same shape `ontology-atlas wiki-validate --json` prints, so a person and an agent read one report. side effect 0. Use it after writing or editing a page, and before claiming a compile finished.

NameTypeReqDescription
pathsarrayVault-relative page paths to judge (`wiki/quarter-plan.md`). Omit to judge every page under `wiki/`, which has no cap because the folder decides how many there are. Max 50 when naming them, the same…
NameTypeReqDescription
failingCountintegeryesPages with at least one problem. Zero means every page judged fits.
pageCountintegeryesPages judged.
pagesarrayyes

No examples provided.

Common questions

What is the Ontology Atlas MCP server?

Ontology Atlas is an MCP server listed in the public MCP registry as io.github.wlsdks/ontology-atlas. Read and write one codebase ontology kept as Markdown in the repository. This page covers its MCPB bundle (https://github.com/wlsdks/ontology-atlas/releases/download/v1.2.0/ontology-atlas-mcp-0.13.0.mcpb).

Is the Ontology Atlas MCP server safe to use?

Ontology Atlas scores 47 out of 100 on VerifyMCP. It declares no install or post-install scripts. 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 Ontology Atlas MCP server expose?

Ontology Atlas exposes 38 tools: connection_info, git_status, git_history, git_snapshot, list_concepts, and 33 more. Their descriptions and schemas cost roughly 15,600 tokens of context every time the server is loaded.

What licence is the Ontology Atlas MCP server under?

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