Skip to main content

Domain-agnostic vault-governance engine: frontmatter schema profiles, indexing, ranked search, a task ledger, atomic writes, and a composable MCP core (register_core). The reusable core behind severino-vault-mcp and severino-edu-mcp.

Project description

vault-engine

A domain-agnostic vault-governance engine — the reusable core behind severino-vault-mcp and severino-edu-mcp. It governs a Git-backed, frontmatter-tagged Markdown vault (Obsidian-style) and exposes that governance both as a library and as a composable MCP tool surface.

What's in it

  • SchemaProfile — a vault's frontmatter contract (doc-types, statuses, id-prefixes, the task lifecycle), with as_dict() (HQ/CI contract) and check_doc_enums(). One engine, many profiles: a different vault is a different profile, not a fork.
  • Index + search — a lenient frontmatter index and ranked, section-scoped retrieval (find_sections) that returns menus, never raw bodies.
  • Task ledgerdoc_type: task docs derived from the index, with a validated write path.
  • Atomic writes — a single serializer and atomic_write_text / transactional_replace, so every writer shares one escaping + durability rule.
  • register_core(mcp, ctx) — composes the generic MCP tools (search, doc read with a sensitivity gate, project inventory, daily progress, the task ledger, schema-validated frontmatter writes) onto any FastMCP server.

Install

pip install vault-engine        # or:  uv add vault-engine

Use

from vault_engine.config import Config
from vault_engine.context import ServerContext
from vault_engine.core_tools import register_core
from mcp.server.fastmcp import FastMCP

ctx = ServerContext(Config.from_env())          # your vault + profile
mcp = FastMCP("my-vault-mcp")
register_core(mcp, ctx)                          # + your own tool groups

The servers in the family own only their domain (writeup/topology tools, course tools) and a thin entrypoint; everything generic lives here.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

severino_vault_engine-0.1.2.tar.gz (56.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

severino_vault_engine-0.1.2-py3-none-any.whl (63.8 kB view details)

Uploaded Python 3

File details

Details for the file severino_vault_engine-0.1.2.tar.gz.

File metadata

  • Download URL: severino_vault_engine-0.1.2.tar.gz
  • Upload date:
  • Size: 56.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for severino_vault_engine-0.1.2.tar.gz
Algorithm Hash digest
SHA256 08e4c66da507c5ed2845a7768c424d1b2038e51a0754d2934bb16b0e2ddf09a4
MD5 462f0d98d4b9dfb3a3fa09e0b3973fba
BLAKE2b-256 82540261647d117572bd0dfe2f4bd072243f5f0a6a35366a814abba15b7a15af

See more details on using hashes here.

Provenance

The following attestation bundles were made for severino_vault_engine-0.1.2.tar.gz:

Publisher: publish.yml on joeseverino/vault-engine

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file severino_vault_engine-0.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for severino_vault_engine-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 64dd47b647ea7c8f1bbe0cde0378c1eeaaf9d767faa872c58f25353c6d170895
MD5 019c24bb8b5bf09b980d5e75cdfda299
BLAKE2b-256 16634dbc3a3e087bc53162cba33b4616f6f43951cbda19b5ec703659b4c0e477

See more details on using hashes here.

Provenance

The following attestation bundles were made for severino_vault_engine-0.1.2-py3-none-any.whl:

Publisher: publish.yml on joeseverino/vault-engine

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page