Docs

How a call travels

Major Vault runs on Scaleway, in four parts. Only the first is public.

Part What it is What it does
Front A small service at vlt.majortom.ai Signs people in, answers the first questions from a store, forwards every other call, and receives GitHub’s webhook.
Instance One container per installation Runs the MCP server for that installation’s repositories. Only the front reaches it.
Index One Postgres database per installation Holds the notes of every chosen repository, for reading and searching.
Jobs The indexer and the catalogue The indexer brings the index up to date after a push. The catalogue builds the answers the front serves from its store.

Two installations never share an instance or a database.

One call, step by step

  1. The assistant connects to vlt.majortom.ai/acme. Without a token it is sent through sign-in.
  2. The front learns who is calling. It asks GitHub which of Acme’s chosen repositories the person’s token can read. That one request also checks the token. The answer is kept for 15 minutes.
  3. The tool list comes from a store. The catalogue job builds the answers to initialize and tools/list in advance, one for each set of readable repositories, with the same code the instance runs. The front answers at once and wakes the instance at the same moment, so nobody waits for it to start.
  4. Each tool call goes to the instance, with the person’s token unchanged. The instance checks the token with GitHub itself and keeps it only for that call.
  5. Reading comes from the index, limited to the repositories the person can read.
  6. Writing goes through GitHub. A writing tool commits through GitHub’s API with the person’s token: one change, one commit. The instance reads its own write back at once, before the index has caught up.

Keeping up with GitHub

GitHub sends every push in the installation to the front. The front checks the signature and starts a job:

  • every push starts the indexer for that repository;
  • a push that changes .vault/, and every change to the installation, also starts the catalogue, because the tool list may have changed.

When nobody calls

Instances and databases sleep when idle and wake on the next call. The stored tool list hides the wake-up: the assistant has its tools at once, and by the time its model makes the first call, the instance is up.

Major Vault is made by majortom.ai. The tool pages are generated from the code of this build. For agents: llms.txt, llms-full.txt.